{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,3,2]],"date-time":"2026-03-02T11:25:12Z","timestamp":1772450712989,"version":"3.50.1"},"reference-count":52,"publisher":"MDPI AG","issue":"3","license":[{"start":{"date-parts":[[2020,7,15]],"date-time":"2020-07-15T00:00:00Z","timestamp":1594771200000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0\/"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Computers"],"abstract":"<jats:p>As Web applications become more and more complex, the development costs are increasing as well. A Model Driven Architecture (MDA) approach is proposed in this paper since it simplifies modeling, design, implementation, and integration of applications by defining software mainly at the model level. We adopt the The Unified Modeling Language (UML), as modeling language. UML provides a set of diagrams to model structural and behavioral aspects of the Web applications. Automatic translation of UML diagrams to the Object-Oriented code is highly desirable because it eliminates the chances of introducing human errors. Moreover, automatic code generation helps the software designers delivering of the software on time. In our approach, the automatic transformations across the MDA\u2019s levels are based on meta-models for two of the most important constructs of UML, namely Use Cases and classes. A proprietary tool (called xGenerator) performs the transformations up to the Java source code. The architecture of the generated Web applications respects a variant of the well-known Model-View-Controller (MVC) pattern.<\/jats:p>","DOI":"10.3390\/computers9030056","type":"journal-article","created":{"date-parts":[[2020,7,15]],"date-time":"2020-07-15T10:35:18Z","timestamp":1594809318000},"page":"56","update-policy":"https:\/\/doi.org\/10.3390\/mdpi_crossmark_policy","source":"Crossref","is-referenced-by-count":30,"title":["Automatic Code Generation of MVC Web Applications"],"prefix":"10.3390","volume":"9","author":[{"given":"Gaetanino","family":"Paolone","sequence":"first","affiliation":[{"name":"Software Industriale, 64100 Teramo, Italy"}]},{"given":"Martina","family":"Marinelli","sequence":"additional","affiliation":[{"name":"Software Industriale, 64100 Teramo, Italy"}]},{"given":"Romolo","family":"Paesani","sequence":"additional","affiliation":[{"name":"Software Industriale, 64100 Teramo, Italy"}]},{"ORCID":"https:\/\/orcid.org\/0000-0003-3552-0199","authenticated-orcid":false,"given":"Paolino","family":"Di Felice","sequence":"additional","affiliation":[{"name":"Department of Industrial and Information Engineering and Economics, University of L\u2019Aquila, 67100 L\u2019Aquila, Italy"}]}],"member":"1968","published-online":{"date-parts":[[2020,7,15]]},"reference":[{"key":"ref_1","doi-asserted-by":"crossref","first-page":"3013","DOI":"10.1016\/j.jss.2013.07.028","article-title":"A model-driven approach to develop high performance web applications","volume":"86","author":"Herrero","year":"2013","journal-title":"J. Syst. Softw."},{"key":"ref_2","unstructured":"(2020, March 05). OMG Unified Modeling Language (OMG UML), Version 2.5.1 OMG Document Number: Formal\/2017-12-05, December 2017. Available online: https\/www.omg.org\/spec\/UML\/."},{"key":"ref_3","unstructured":"Paolone, G., Clementini, E., and Liguori, G. (2008, January 12\u201314). A methodology for building enterprise Web 2.0 Applications. Proceedings of the Modern Information Technology in the Innovation Processes of the Industrial Enterprises (MITIP), Prague, Czech Republic."},{"key":"ref_4","unstructured":"Armour, F., and Miller, G. Advanced Use Case Modeling: Software Systems, Addison-Wesley. Addison-Wesley Object Technology Series."},{"key":"ref_5","doi-asserted-by":"crossref","first-page":"2313","DOI":"10.1007\/s10270-018-0675-4","article-title":"Execution of UML models: A systematic review of research and practice","volume":"18","author":"Ciccozzi","year":"2019","journal-title":"Softw. Syst. Model."},{"key":"ref_6","unstructured":"Paolone, G., Di Felice, P., Liguori, G., Cestra, G., and Clementini, E. (2010, January 22\u201324). A Business Use Case Driven Methodology\u2014A Step Forward. Proceedings of the 5th International Conference on Evaluation of Novel Approaches to Software Engineering (ENASE), Athens, Greece. Available online: https:\/\/pdfs.semanticscholar.org\/70c0\/819791d0f68bdf624c18c8a5a2f2a512e9f9.pdf."},{"key":"ref_7","unstructured":"D\u2019Atri, A., Ferrara, M., George, J., and Spagnoletti, P. (2011). Use Case Double Tracing Linking Business Modeling to Software Development. Information Technology and Innovation Trends in Organizations, Physica-Verlag HD. Available online: https:\/\/doi-org.univaq.clas.cineca.it\/10.1007\/978-3-7908-2632-6_22."},{"key":"ref_8","doi-asserted-by":"crossref","unstructured":"J\u00f6rges, S. (2013). Construction and Evolution of Code Generators: A Model-Driven and Service-Oriented Approach, Springer.","DOI":"10.1007\/978-3-642-36127-2"},{"key":"ref_9","unstructured":"Chaudron, M.R.V. (2009). Challenges in Model-Driven Software Engineering, Springer. MODELS 2008 Workshops, LNCS 5421."},{"key":"ref_10","doi-asserted-by":"crossref","first-page":"89","DOI":"10.1007\/s10664-012-9196-x","article-title":"An empirical study of the state of the practice and acceptance of model-driven engineering in four industrial cases","volume":"18","author":"Mohagheghi","year":"2013","journal-title":"Empir Softw. Eng"},{"key":"ref_11","unstructured":"Gorp, P.V., Ritter, T., and Rose, L.M. (2013). Model Driven Software Development. A Practitioner Takes Stock and Looks into Future. Modelling Foundations and Applications, Springer. ECMFA 2013, Lecture Notes in Computer Science, Volume 7949."},{"key":"ref_12","doi-asserted-by":"crossref","first-page":"176","DOI":"10.1016\/j.scico.2013.04.007","article-title":"Applying model-driven engineering in small software enterprises","volume":"89","author":"Cuadrado","year":"2014","journal-title":"Sci. Comput. Program."},{"key":"ref_13","doi-asserted-by":"crossref","first-page":"144","DOI":"10.1016\/j.scico.2013.03.017","article-title":"Model-driven engineering practices in industry: Social, organizational and managerial factors that lead to success or failure","volume":"89","author":"Hutchinson","year":"2014","journal-title":"Sci. Comput. Program."},{"key":"ref_14","unstructured":"Link, S., and Trujillo, J.C. (2016). Human Factors in the Adoption of Model-Driven Engineering: An Educator\u2019s Perspective, Springer. ER 2016 Workshops, LNCS."},{"key":"ref_15","doi-asserted-by":"crossref","unstructured":"Mahmood, H., Jilani, A.A.A., and Rauf, A. (2011, January 22\u201324). A Lightweight Framework for Automated Model-to-Code Transformation. Proceedings of the IEEE 14th International Multitopic Conference, Harachi, Pakistan.","DOI":"10.1109\/INMIC.2011.6151488"},{"key":"ref_16","doi-asserted-by":"crossref","unstructured":"Dingel, J., Schulte, W., Ramos, I., Abrah\u00e3o, S., and Insfran, E. (2014). The Relevance of Model-Driven Engineering Thirty Years from Now. Model-Driven Engineering Languages and Systems, Springer. MODELS 2014. Lecture Notes in Computer Science, Volume 8767.","DOI":"10.1007\/978-3-319-11653-2"},{"key":"ref_17","doi-asserted-by":"crossref","first-page":"5","DOI":"10.1007\/s10270-019-00773-6","article-title":"Grand challenges in model-driven engineering: An analysis of the state of the research","volume":"19","author":"Bucchiarone","year":"2020","journal-title":"Softw. Syst. Model."},{"key":"ref_18","doi-asserted-by":"crossref","first-page":"100935","DOI":"10.1016\/j.cola.2019.100935","article-title":"Code generation using model driven architecture: A systematic mapping study","volume":"56","author":"Gallud","year":"2020","journal-title":"J. Comput. Lang."},{"key":"ref_19","doi-asserted-by":"crossref","first-page":"1172","DOI":"10.1016\/j.proeng.2014.03.106","article-title":"Designing an MVC Model for Rapid Web Application Development 24th DAAAM International Symposium on Intelligent Manufacturing and Automation, 2013","volume":"69","author":"Pop","year":"2014","journal-title":"Procedia Eng."},{"key":"ref_20","unstructured":"Kruchten, P. (2003). The Rational Unified Process: An Introduction, Addison-Wesley. [3rd ed.]. Addison-Wesley Professional."},{"key":"ref_21","unstructured":"(2020, March 05). Object Management Group, MDA Guide Version 1.0.1, OMG Document omg\/2003-06-01, Needham, MA, 12 June 2003. Available online: https:\/\/www.omg.org\/news\/meetings\/workshops\/UML_2003_Manual\/00-2_MDA_Guide_v1.0.1.pdf."},{"key":"ref_22","unstructured":"Kleppe, A. (2008). Software Language Engineering: Creating Domain-Specific Languages Using Metamodels, Addison-Wesley. [1st ed.]."},{"key":"ref_23","unstructured":"Steffen, B., Margaria, T., and Wagner, C. (2010). Round-Trip Engineering. Encyclopedia of Software Engineering, Taylor & Francis."},{"key":"ref_24","unstructured":"Vlissides, J.M. (1998). Pattern Hatching: Design Patterns Applied, Addison-Wesley."},{"key":"ref_25","doi-asserted-by":"crossref","unstructured":"Sunitha, E.V., and Samuel, P. (2012, January 27\u201329). Translation of behavioral models to source code. Proceedings of the 12th International Conference on Intelligent Systems Design and Applications (ISDA), Kochi, India.","DOI":"10.1109\/ISDA.2012.6416605"},{"key":"ref_26","doi-asserted-by":"crossref","first-page":"92","DOI":"10.1016\/j.infsof.2018.06.010","article-title":"Object constraint language for code generation from activity models","volume":"103","author":"Sunitha","year":"2018","journal-title":"Inf. Softw. Technol."},{"key":"ref_27","doi-asserted-by":"crossref","first-page":"2361","DOI":"10.1007\/s10270-018-0665-6","article-title":"Survey and classification of model transformation tools","volume":"18","author":"Kahani","year":"2019","journal-title":"Softw. Syst. Model."},{"key":"ref_28","doi-asserted-by":"crossref","unstructured":"Parada, A.G., Siegert, E., and de Brisolara, L.B. (2011, January 7\u201311). Generating Java code from UML Class and Sequence Diagrams. Proceedings of the Brazilian Symposium on Computing System Engineering, Florianopolis, Brazil.","DOI":"10.1109\/SBESC.2011.22"},{"key":"ref_29","doi-asserted-by":"crossref","first-page":"12","DOI":"10.1049\/iet-sen.2011.0080","article-title":"Automatic code generation from unified modelling language sequence diagrams","volume":"7","author":"Kundu","year":"2013","journal-title":"IET Softw."},{"key":"ref_30","unstructured":"Bjoraa, E., Myhre, T., and Straapa, E.W. (2000). Generating Java Skeleton from XMI. Open Distributed Systems, Agder University College."},{"key":"ref_31","doi-asserted-by":"crossref","unstructured":"Harrison, W., Barton, C., and Raghavachari, M. (2000, January 15\u201319). Mapping UML designs to Java. Proceedings of the 15th ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, Minneapolis, MN, USA.","DOI":"10.1145\/353171.353184"},{"key":"ref_32","unstructured":"Niaz, I.A. (2005). Automatic Code Generation from UML Class and Statechart Diagrams, Thesis Report; University of Tsukuba."},{"key":"ref_33","unstructured":"Long, Q., Liu, Z., Li, X., and He, J. (April, January 29). Consistent code generation from UML models. Proceedings of the Australian Software Engineering Conference, Brisbane, Australia."},{"key":"ref_34","doi-asserted-by":"crossref","unstructured":"Rudhal, K.T., and Goldin, S.E. (2008, January 14\u201317). Adaptive multi-language code generation using YAMDAT. Proceedings of the ECTI-CON 2008, Electrical Engineering\/Electronics, Computer, Telecommunications and Information Technology, Krabi, Thailand.","DOI":"10.1109\/ECTICON.2008.4600402"},{"key":"ref_35","doi-asserted-by":"crossref","unstructured":"Yin, L., Liu, J., and Ding, Z. (2011, January 29\u201331). Modeling and prototyping business processes in AutoPA. Proceedings of the Fifth International Symposium on Theoretical Aspects of Software Engineering (TASE), Xi\u2019an, China.","DOI":"10.1109\/TASE.2011.8"},{"key":"ref_36","doi-asserted-by":"crossref","unstructured":"Usman, M., Nadeem, A., and Kim, T.-H. (2008, January 13\u201315). UJECTOR: A tool for executable code generation from UML models. Proceedings of the Conference on Advanced Software Engineering and Its Applications, Hainan Island, China.","DOI":"10.1109\/ASEA.2008.39"},{"key":"ref_37","unstructured":"(2020, March 09). OMG Object Constraint Language (OCL) Version 2.3.1, January 2012. OMG Document Number: Formal\/2012-01-01. Standard Document. Available online: http:\/\/www.omg.org\/spec\/OCL\/2.3.1."},{"key":"ref_38","first-page":"73","article-title":"Model-Driven Generation: From Models to MVC2 Web Applications","volume":"8","author":"Rahmouni","year":"2014","journal-title":"Int. J. Softw. Eng. Its Appl."},{"key":"ref_39","doi-asserted-by":"crossref","unstructured":"Roubi, S., Erramdani, M., and Mbarki, S. (April, January 30). Modeling and generating graphical user interface for MVC rich internet application using a model driven approach. Proceedings of the 2016 International Conference on Information Technology for Organizations Development (IT4OD), Fez, Morocco.","DOI":"10.1109\/IT4OD.2016.7479249"},{"key":"ref_40","first-page":"3073","article-title":"Model Driven Approach based on Interaction Flow Modeling Language to Generate Rich Internet Applications","volume":"6","author":"Roubi","year":"2016","journal-title":"Int. J. Electr. Comput. Eng. IJECE"},{"key":"ref_41","doi-asserted-by":"crossref","unstructured":"Essebaa, I., Chantit, S., and Ramdani, M. (2019). MoDAr-WA: Tool Support to Automate an MDA Approach for MVCWeb Application. Computers, 8.","DOI":"10.3390\/computers8040089"},{"key":"ref_42","unstructured":"OMG (2020, March 15). Semantics of Business Vocabulary and Business Rules (SBVR) v.1.5, OMG Doc. No. formal\/2019-10-02 [SMSC\/19-10-02], October 2019. Available online: https:\/\/www.omg.org\/spec\/SBVR\/1.5\/Beta1\/PDF."},{"key":"ref_43","doi-asserted-by":"crossref","first-page":"111","DOI":"10.1016\/j.jss.2018.03.061","article-title":"Extracting SBVR business vocabularies and business rules from UML use case diagrams","volume":"141","author":"Skersys","year":"2018","journal-title":"J. Syst. Softw."},{"key":"ref_44","doi-asserted-by":"crossref","unstructured":"Ma\u017eeika, D., and Butleris, R. (2020). MBSEsec: Model-Based Systems Engineering Method for Creating Secure Systems. Appl. Sci., 10.","DOI":"10.3390\/app10072574"},{"key":"ref_45","doi-asserted-by":"crossref","first-page":"165","DOI":"10.1016\/j.infsof.2018.04.007","article-title":"Modeling Security and Privacy Requirements: A Use Case-Driven Approach","volume":"100","author":"Mai","year":"2018","journal-title":"Inf. Softw. Technol."},{"key":"ref_46","doi-asserted-by":"crossref","unstructured":"De Boer, F.S., Bonsangue, M.M., Graf, S., and de Roever, W.P. (2005). Model-Based Security Engineering with UML: Introducing Security Aspects. Formal Methods for Components and Objects, Proceedings of the International Symposium on Formal Methods for Components and Objects (FMCO 2005), Amsterdam, The Netherlands, 1\u20134 November 2005, Springer. Lecture Notes in Computer Science, Volume 4111.","DOI":"10.1007\/11804192"},{"key":"ref_47","doi-asserted-by":"crossref","first-page":"1029","DOI":"10.1016\/S0957-4158(03)00041-2","article-title":"On Conceptual Design of Intelligent Mechatronic Systems","volume":"13","author":"Rzevski","year":"2003","journal-title":"Mechatronics"},{"key":"ref_48","doi-asserted-by":"crossref","first-page":"67","DOI":"10.1007\/s10270-019-00757-6","article-title":"Modeling languages in Industry 4.0: An extended systematic mapping study","volume":"19","author":"Wortmann","year":"2020","journal-title":"Softw. Syst. Model."},{"key":"ref_49","unstructured":"Bi, Y., Bhatia, R., and Kapoor, S. (2020). Location Tracking and Location Prediction Techniques for Smart Traveler Apps. Intelligent Systems and Applications: Proceedings of the 2019 Intelligent Systems Conference (IntelliSys), Springer. Advances in Intelligent Systems and Computing, Volume 1037."},{"key":"ref_50","doi-asserted-by":"crossref","first-page":"163","DOI":"10.1016\/j.future.2016.11.021","article-title":"Studying real traffic and mobility scenarios for a Smart City using a new monitoring and tracking system","volume":"76","author":"Mora","year":"2017","journal-title":"Future Gener. Comput. Syst."},{"key":"ref_51","doi-asserted-by":"crossref","unstructured":"D\u2019Atri, A., De Marco, M., Braccini, A., and Cabiddu, F. (2010). Web 2.0 Applications: Model-Driven Tools and Design. Management of the Interconnected World, Physica-Verlag HD.","DOI":"10.1007\/978-3-7908-2404-9"},{"key":"ref_52","doi-asserted-by":"crossref","first-page":"1","DOI":"10.1016\/j.infsof.2016.09.009","article-title":"Twenty years of object-relational mapping: A survey on patterns, solutions, and their implications on application design","volume":"82","author":"Torres","year":"2017","journal-title":"Inf. Softw. Technol."}],"container-title":["Computers"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/www.mdpi.com\/2073-431X\/9\/3\/56\/pdf","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,10,11]],"date-time":"2025-10-11T09:51:38Z","timestamp":1760176298000},"score":1,"resource":{"primary":{"URL":"https:\/\/www.mdpi.com\/2073-431X\/9\/3\/56"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2020,7,15]]},"references-count":52,"journal-issue":{"issue":"3","published-online":{"date-parts":[[2020,9]]}},"alternative-id":["computers9030056"],"URL":"https:\/\/doi.org\/10.3390\/computers9030056","relation":{},"ISSN":["2073-431X"],"issn-type":[{"value":"2073-431X","type":"electronic"}],"subject":[],"published":{"date-parts":[[2020,7,15]]}}}