Abstract
Model-driven engineering is a renowned software engineering methodology for design and development of software systems with the help of various types of models. Model–View–Controller (MVC) is a popular and extensively used architectural pattern for Web application development process in different platforms. Literature review reveals that there are implementation-level deficiencies in the form of complicated structure, time taken for development and maintenance of MVC-based Web application in different MVC-based frameworks. In this article, we introduce a unique model-driven framework approach to simplify the use of MVC-based frameworks for Web application development. In our approach, we introduce a unique mechanism with the help of a UML Profile model and a model to text transformation engine to automatically generate the implementation of any (Web) application in three defined MVC-based frameworks; our approach is extensible to support more MVC frameworks. For ease, we have created an application with GUI to generate the required MVC-based framework code. The application/implementation of our unique approach is verified with two benchmark case studies; results show that we closely generate the MVC-based Web application source code which is flexible to add critical application business logic.
Similar content being viewed by others
References
Mittal, S.; Martín, J.L.R.: Model-driven systems engineering for netcentric system of systems with DEVS unified process. In: Proceedings of the 2013 Winter Simulation Conference: Simulation: Making Decisions in a Complex World, pp. 1140–1151. IEEE Press (2013)
Bézivin, J.: In search of a basic principle for model driven engineering. Novatica J. Spec. Issue 5(2), 21–24 (2004)
Kransner, G.E.: A coolbook for using the model–view–controller user interface paradigm in Smalltalk-80. J. Object-Oriented Program. 1(3), 26–49 (1988)
Richards, M.: Software Architecture Patterns: Understanding Common Architecture Patterns and When to Use Them. O’Reilly Media, Newton (2015)
Ping, Y.; Kontogiannis, K.; Lau, T.C.: Transforming legacy web applications to the MVC architecture. In: Eleventh Annual International Workshop on Software Technology and Engineering Practice, pp. 133–142. IEEE (2003)
Aniche, M.; Bavota, G.; Treude, C.; Gerosa, M.A.; van Deursen, A.: Code smells for model–view–controller architectures. Empir. Softw. Eng. 23(4), 2121–2157 (2018)
Ding, Y.H.; Liu, C.H.; Tang, Y.X.: MVC pattern based on java. In: Applied Mechanics and Materials, vol. 198, pp. 537–541. Trans Tech Publ (2012)
Plakalovic, D.; Simic, D.: Applying MVC and PAC patterns in mobile applications. arXiv preprint arXiv:1001.3489 (2010)
Pordel, M.; Yekeh, F:. Jsf vs asp.net, what are their limits. In: IDT Workshop on Interesting Results in Computer Science and Engineering. Mälardalen University, Sweden (2008)
Srai, A.; Guerouate, F.; Berbiche, N.; Lahsini, H.D.: Applying MDA approach for spring MVC framework. Int. J. Appl. Eng. Res. 12(14), 4372–4381 (2017)
Irish, H.: Creating a file hosting site with codeigniter, 2009 (2009)
Javed, U.: Address book (2009)
Beydeda, S.; Book, M.; Gruhn, V.; et al.: Model-Driven Software Development, vol. 15. Springer, Berlin (2005)
OMG OMG. Meta object facility (MOF) specification 1.4 (2002)
Fuentes-Fernández, L.; Vallecillo-Moreno, A.: An introduction to UML profiles. UML Model Eng. 2, 6–13 (2004)
Kleppe, A.G.; Warmer, J.; Warmer, J.B.; Bast, W.: MDA Explained: The Model Driven Architecture: Practice and Promise. Addison-Wesley Professional, Boston (2003)
Mellor, S.J.; Scott, K.; Uhl, A.; Weise, D.: MDA Distilled: Principles of Model-Driven Architecture. Addison-Wesley Professional, Boston (2004)
Brown, A.W.: Model driven architecture: principles and practice. Softw. Syst. Model. 3(4), 314–327 (2004)
Pitt, C.: Pro Php MVC. Apress, New York (2012)
Brown, D.; Davis, C.M.; Stanlick, S.: Struts 2 in Action. Dreamtech Press, New Delhi (2008)
Pop, D.-P.; Altar, A.: Designing an MVC model for rapid web application development. Proc. Eng. 69, 1172–1179 (2014)
Arrhioui, K.; Mbarki, S.; Betari, O.; Roubi, S.; Erramdani, M.: A model driven approach for modeling and generating PHP codelgniter based applications. Trans. Mach. Learn. Artif. Intell. 5(4) (2017)
Khan, A.: Most popular web development frameworks for 2020 (2020)
Khadka, R.; Saeidi, A.; Jansen, S.; Hage, J.: A structured legacy to SOA migration process and its evaluation in practice. In: 2013 IEEE 7th International Symposium on the Maintenance and Evolution of Service-Oriented and Cloud-Based Systems, pp. 2–11. IEEE (2013)
Cortez, R.; Vazhenin, A.: Virtual model–view–controller design pattern: extended MVC for service-oriented architecture. IEEJ Trans. Electr. Electron. Eng. 10(4), 411–422 (2015)
La, H.J.; Kim, S.D.: Balanced MVC architecture for developing service-based mobile applications. In: 2010 IEEE 7th International Conference on E-Business Engineering, pp. 292–299. IEEE (2010)
Jailia, M.; Kumar, A.; Agarwal, M.; Sinha, I.: Behavior of MVC (model view controller) based web application developed in PHP and. net framework. In: 2016 International Conference on ICT in Business Industry & Government (ICTBIG), pp. 1–5. IEEE (2016)
Sanchez, D.; Mendez, O.; Florez, H.: An approach of a framework to create web applications. In: International Conference on Computational Science and Its Applications, pp. 341–352. Springer (2018)
Singh, S.; Iyer, J.: Comparative study of MVC (model view controller) architecture with respect to struts framework and PHP. In: International Journal of Computer Science Engineering (IJCSE). pp. 142–150 (2016)
Gupta, P.; Govil, M.C.: MVC design pattern for the multi framework distributed applications using xml, spring and struts framework. Int. J. Comput. Sci. Eng. 2(04), 1047–1051 (2010)
Bernardi, M.L.; Di Lucca, G.A.; Distante, D.: A model-driven approach for the fast prototyping of web applications. In: 2011 13th IEEE International Symposium on Web Systems Evolution (WSE), pp. 65–74. IEEE (2011)
Roubi, S.; Erramdani, M.; Mbarki, S.: Modeling and generating graphical user interface for MVC rich internet application using a model driven approach. In: 2016 International Conference on Information Technology for Organizations Development (IT4OD), pp. 1–6. IEEE (2016)
Kraus, A.; Knapp, A.; Koch, N.: Model-driven generation of web applications in UWE. MDWE, p. 261 (2007)
Rahmouni, M.; Mbarki, S.: MDA-based modeling and transformation to generate n-tiers web models (2014)
Rahmouni, M.; Mbarki, S.: MDA-based ATL transformation to generate MVC 2 web models. Transformation 11(12), 13 (2011)
Distante, D.; Pedone, P.; Rossi, G.; Canfora, G.: Model-driven development of web applications with UWA, MVC and javaserver faces. In: International Conference on Web Engineering, pp. 457–472. Springer (2007)
Bernardi, M.L.; Di Lucca, L.; Distante, D.: Improving the design of existing web applications. In: 2010 Seventh International Conference on the Quality of Information and Communications Technology, pp. 499–504. IEEE (2010)
Betari, O.; Erramdani, M.; Roubi, S.; Arrhioui, K.; Mbarki, S.: Model transformations in the MOF meta-modeling architecture: from UML to codeigniter PHP framework. In: Europe and MENA Cooperation Advances in Information and Communication Technologies, pp. 227–234. Springer (2017)
Marouane, H.; Duvallet, C.; Makni, A.; Bouaziz, R.; Sadeg, B.: An UML profile for representing real-time design patterns. J. King Saud Univ. Comput. Inf. Sci. 30(4), 478–497 (2018)
Kardoš, M.; Drozdová, M.: Analytical method of CIM to PIM transformation in model driven architecture (MDA). J. Inf. Organ. Sci. 34(1), 89–99 (2010)
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Ahmad, S.I., Rana, T. & Maqbool, A. A Model-Driven Framework for the Development of MVC-Based (Web) Application. Arab J Sci Eng 47, 1733–1747 (2022). https://doi.org/10.1007/s13369-021-06087-4
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s13369-021-06087-4