Advertisement

Abstract

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.

Keywords

Continuous Evolution Continuous Delivery Model-Driven Engineering 

References

  1. 1.
  2. 2.
    Ambler, S.W.: Agile software development. In: Encyclopedia of Software Engineering, pp. 29–46. Taylor & Francis (2010)Google Scholar
  3. 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. 4.
    Beck, K., et al.: Manifesto for Agile Software Development (2001)Google Scholar
  5. 5.
    Brambilla, M., Cabot, J., Wimmer, M.: Model-Driven Software Engineering in Practice. Morgan & Claypool Publishers (2012)Google Scholar
  6. 6.
    Brambilla, M., Fraternali, P.: Interaction Flow Modeling Language. Morgan Kaufmann, Burlington (2015)Google Scholar
  7. 7.
    Brosch, P., et al.: Adaptable model versioning in action. In: Modellierung (2010)Google Scholar
  8. 8.
    Demuth, A., Riedl-Ehrenleitner, M., Lopez-Herrejon, R.E., Egyed, A.: Co-evolution of metamodels and models through consistent change propagation. J. Syst. Softw. 111, 281–297 (2016)CrossRefGoogle Scholar
  9. 9.
    Di Ruscio, D., Lämmel, R., Pierantonio, A.: Automated co-evolution of GMF editor models. In: Malloy, B., Staab, S., van den Brand, M. (eds.) SLE 2010. LNCS, vol. 6563, pp. 143–162. Springer, Heidelberg (2011).  https://doi.org/10.1007/978-3-642-19440-5_9CrossRefGoogle Scholar
  10. 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. 11.
    Fitzgerald, B., Stol, K.-J.: Continuous software engineering: a roadmap and agenda. J. Syst. Softw. 123, 1–14 (2015)Google Scholar
  12. 12.
    García, J., Diaz, O., Azanza, M.: Model transformation co-evolution: a semi-automatic approach. In: Czarnecki, K., Hedin, G. (eds.) SLE 2012. LNCS, vol. 7745, pp. 144–163. Springer, Heidelberg (2013).  https://doi.org/10.1007/978-3-642-36089-3_9CrossRefGoogle Scholar
  13. 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. 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. 15.
    Humble, J., Farley, D.: Continuous Delivery: Reliable Software Releases through Build, Test, and Deployment Automation. Pearson Education, London (2010)Google Scholar
  16. 16.
    Koegel, M., Helming, J.: EMFStore: a model repository for EMF models. In: International Conference on Software Engineering (2010)Google Scholar
  17. 17.
    Kolovos, D.S., Paige, R.F., Polack, F.A.C.: Merging models with the epsilon merging language (EML). In: Nierstrasz, O., Whittle, J., Harel, D., Reggio, G. (eds.) MODELS 2006. LNCS, vol. 4199, pp. 215–229. Springer, Heidelberg (2006).  https://doi.org/10.1007/11880240_16CrossRefGoogle Scholar
  18. 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
  19. 19.
    Paige, R.F., Matragkas, N., Rose, L.M.: Evolving models in model-driven engineering: state-of-the-art and future challenges. J. Syst. Softw. 111, 272–280 (2016)CrossRefGoogle Scholar
  20. 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. 21.
    Toulmé, A.: Presentation of EMF compare utility. In: Eclipse Modeling Symposium (2006)Google Scholar
  22. 22.
    Whittle, J., Hutchinson, J., Rouncefield, M.: The state of practice in model-driven engineering. IEEE Softw. 31, 79–85 (2014)CrossRefGoogle Scholar
  23. 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

Copyright information

© Springer Nature Switzerland AG 2019

Authors and Affiliations

  1. 1.IK4-IKERLANArrasateSpain
  2. 2.ICREA-UOCBarcelonaSpain

Personalised recommendations