Stepwise Adoption of Continuous Delivery in Model-Driven Engineering
Continuous Delivery (CD) and, in general, Continuous Software Engineering (CSE) is becoming the norm. Still, current practices and available integration platforms are too code-oriented. They are not well adapted to work with other, non text-based, software artifacts typically produced during early phases of the software engineering life-cycle. This is especially problematic for teams adopting a Model-Driven Engineering (MDE) approach to software development where several (meta)models (and model transformations) are built and executed as part of the development process. Typically, (part of) the code is automatically generated from such models. Therefore, in a complete CD process, changes in a model should trigger changes on the generated code when appropriate.
A step further would be to apply CD practices to the development of modeling artefacts themselves. Analogously to “traditional” CD, where the goal is to have the mainline codebase always in a deployable state, the aim would be to have the modeling infrastructure always ready to be used. Those models could be the final product themselves or an intermediate artifact in a complete CSE process as described above.
Either way, a tighter integration between CD and MDE would benefit software practitioners by providing them with complete CSE, covering also analysis and design stages of the process.
KeywordsContinuous Evolution Continuous Delivery Model-Driven Engineering
- 1.https://github.com/jokingarcia/ContinuousEvolution. Accessed 9 July 2018
- 2.Ambler, S.W.: Agile software development. In: Encyclopedia of Software Engineering, pp. 29–46. Taylor & Francis (2010)Google Scholar
- 3.Artač, M., Borovšak, T., Di Nitto, E., Guerriero, M., Tamburri, D.A.: Model-driven continuous deployment for quality DevOps. In: Proceedings of the 2nd International Workshop on Quality-Aware DevOps (2016)Google Scholar
- 4.Beck, K., et al.: Manifesto for Agile Software Development (2001)Google Scholar
- 5.Brambilla, M., Cabot, J., Wimmer, M.: Model-Driven Software Engineering in Practice. Morgan & Claypool Publishers (2012)Google Scholar
- 6.Brambilla, M., Fraternali, P.: Interaction Flow Modeling Language. Morgan Kaufmann, Burlington (2015)Google Scholar
- 7.Brosch, P., et al.: Adaptable model versioning in action. In: Modellierung (2010)Google Scholar
- 10.Ferry, N., Solberg, A.: Models@Runtime for continuous design and deployment. In: Di Nitto, E., Matthews, P., Petcu, D., Solberg, A. (eds.) Model-Driven Development and Operation of Multi-Cloud Applications. SAST, pp. 81–94. Springer, Cham (2017). https://doi.org/10.1007/978-3-319-46031-4_9CrossRefGoogle Scholar
- 11.Fitzgerald, B., Stol, K.-J.: Continuous software engineering: a roadmap and agenda. J. Syst. Softw. 123, 1–14 (2015)Google Scholar
- 13.García-Díaz, V., Espada, J.P., Núñez-Valdéz, E.R., García-Bustelo, B.C.P., Cueva Lovelle, J.M.: Combining the continuous integration practice and the model-driven engineering approach. Comput. Inf. 35, 299–337 (2016)Google Scholar
- 14.Holmes, T., Zdun, U., Dustdar, S.: MORSE: a model-aware service environment. In: 4th IEEE Asia-Pacific Services Computing Conference (2009)Google Scholar
- 15.Humble, J., Farley, D.: Continuous Delivery: Reliable Software Releases through Build, Test, and Deployment Automation. Pearson Education, London (2010)Google Scholar
- 16.Koegel, M., Helming, J.: EMFStore: a model repository for EMF models. In: International Conference on Software Engineering (2010)Google Scholar
- 18.Kolovos, D.S., Paige, R.F., Polack, F.A.C.: A framework for composing modular and interoperable model management tasks. In: MDTPI Workshop (2008)Google Scholar
- 20.Sandobalin, J., Insfrán, E., Abrahão, S.: An infrastructure modelling tool for cloud provisioning. In: International Conference on Services Computing, pp. 354–361 (2017)Google Scholar
- 21.Toulmé, A.: Presentation of EMF compare utility. In: Eclipse Modeling Symposium (2006)Google Scholar
- 23.Whittle, J., Hutchinson, J., Rouncefield, M., Burden, H., Heldal, R.: Industrial adoption of model-driven engineering: are the tools really the problem? In: Moreira, A., Schätz, B., Gray, J., Vallecillo, A., Clarke, P. (eds.) MODELS 2013. LNCS, vol. 8107, pp. 1–17. Springer, Heidelberg (2013). https://doi.org/10.1007/978-3-642-41533-3_1CrossRefGoogle Scholar