A Model Driven Approach for Modeling and Generating PHP CodeIgniter based Applications
Keywords:CodeIgniter, Model Driven Architecture, Model-View-Controller, PHP, Platform Specific Model
During the last decade, web development industry has grown exponentially. Models have been introduced as a solution to face the challenge of both business and technology changes. In this article, we present a Model Driven based approach concerning the design of CodeIgniter based web applications. We describe a meta model of this framework and we also specify a set of transformations to generate the application’s source code taking into account the MVC (Model-View-Controller) architecture of CodeIgniter. In this approach, the PHP framework meta model is considered as a platform Specific model (PSM). Its instances are used as inputs to generate the source code through transformation rules carried out by Acceleo. This proposal is validated through the use of our approach to generate CRUD (Create, Read, Update and Delete) applications.
(1) S. Bergmann, and G. Kniesel, “GAP: generic aspects for PHP,” in Proc. EWAS’06, 2006.
(2) O.Betari, M. Erramdani, S. Roubi, K. Arrhioui, and S. Mbarki, “Model transformations in the MOF meta-modeling architecture: from UML to codeIgniter PHP framework,” Europe and MENA Cooperation Advances in Information and Communication Technologies, vol. 520, pp. 227-234, 2016.
(3) Object Management Group (OMG), MDA Guide 2.0. http://www.omg.org/cgi-bin/doc?ormsc/14-06-01
(4) Executive Overview, Model Driven Architecturehttp://www.omg.org/mda/executive_overview.htm
(5) S. Kherraf, É. Lefebvre, and W. Suryn, “Transformation from CIM to PIM using patterns and archetypes,” 19th Australian Conference on Software Engineering (aswec 2008), Perth, WA,
pp. 338-346, 2008.
(6) S. Roubi, M. Erramdani, and S. Mbarki, “Modeling and generating graphical user interface for MVC rich internet application using a model driven approach,” 2016 International Conference on Information Technology for Organizations
Development (IT4OD), Fez, pp. 1-6, 2016.
(7) X. Blanc, MDA en Action: Ingénierie Logicielle Guidée par
les Modèles, Eyrolles, 2005.
(8) S. Roubi, M. Erramdani, S. Mbarki, “Generating graphical
user interfaces based on model driven engineering,”in International Review on Computers and Software (IRECOS), vol. 10, pp. 520-528, 2015.
(9) M. Brambilla, J. Cabot and M. Wimmer, Model-Driven Software Engineering in Practice, Morgan & Claypool, 2012.
(10) E. Orr, and Y. Zadik, Programming with CodeIgniter MVC, Ed.Birmingham, UK: Packt Publishing, 2013.
(11) R. Foster, CodeIgniter 2 Cookbook, Ed. Birmingham, UK: Packt, Publishing, 2013.
(12) CodeIgniter Documentation website. https://www.codeigniter.com/docs/
(13) C. Pitt, Pro PHP MVC, Apress, 2012.
(14) M. Brambilla and A. Origgi, "MVC-Webflow: an AJAX tool for online modeling of MVC-2 web applications," 2008 Eighth International Conference on Web Engineering, pp. 344-349, 2008.