Advertisement

Software & Systems Modeling

, Volume 16, Issue 2, pp 333–356 | Cite as

On the complex nature of MDE evolution and its impact on changeability

  • Regina Hebig
  • Holger Giese
Special Section Paper

Abstract

In model-driven engineering (MDE), a particular MDE setting of employed languages and automated and manual activities has major impact on productivity. Furthermore, it has been observed that such MDE settings evolve over time. However, currently not much is known about this evolution and its impact on the MDE setting’s maturity, i.e., on changeability and other productivity dimensions. Research so far focuses on evolution of separate building blocks, such as (modeling-) languages, tools, or transformation, only. In this article, we address the lack of knowledge about evolution of MDE settings by investigating case studies from different companies. The first results reveal (1) that there is evolution that affects the composition of an MDE setting (structural evolution) and has the potential to strongly impact aspects, such as changeability and (2) that this structural evolution actually occurs in practice. Based on these first results, we investigated (3) whether there are cases in practice, where structural evolution already altered the risks of changeability given by the respective MDE setting. Therefore, we search and identify examples for such evolution steps on MDE settings from practice and collected six case studies on evolution histories in detail. As a result, we show in this paper that structural evolution (a) is not seldom in practice and (b) sometimes leads to the introduction of changeability risks.

Keywords

Model-driven engineering Evolution Empirical research 

Notes

Acknowledgments

First of all, the authors appreciate the valuable feedback of Florian Stallmann and Andreas Seibel, who co-authored the conference paper [14]. We are also grateful to the participants of our studies with SAP, Carmeq, VCat, and Capgemini and especially Axel Uhl, Cafer Tosun, Gregor Engels, and Marion Kremer for their support in choosing the case studies and for making this research possible. We are thankful to Hannelore Liero and Hilmar Buchholz for hints and feedback on the statistical analysis. Further, we thank the HPI Research School on Service-Oriented Systems Engineering for funding parts of this research. Last but not least, we want to thank the anonymous reviewers of this article for their constructive feedback, which helped us to improve the paper.

References

  1. 1.
    Appleton, B.: Patterns and software: essential concepts and terminology. Object Mag. Online 3(9), (1997). citeseer.ist.psu.edu/247320.html
  2. 2.
    Aschauer, T., Dauenhauer, G., Pree, W.: A modeling language’s evolution driven by tight interaction between academia and industry. In: Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering, vol. 2, ICSE ’10, pp. 49–58. ACM, New York, NY, USA (2010)Google Scholar
  3. 3.
    Baker, P., Loh, S., Weil, F.: Model-driven engineering in a large industrial context—Motorola case study. In: Briand, L., Williams, C. (eds.) Model Driven Engineering Languages and Systems, LNCS, vol. 3713, pp. 476–491. Springer, New York (2005)Google Scholar
  4. 4.
    Basili, V.R.: The role of experimentation in software engineering: past, current, and future. In: Proceedings of the 18th International Conference on Software Engineering, ICSE ’96. IEEE Computer Society, Washington, DC, USA (1996)Google Scholar
  5. 5.
    Brown, W.H., Malveau, R.C., Mowbray, T.J.: AntiPatterns: Refactoring Software, Architectures, and Projects in Crisis. Wiley, London (1998)Google Scholar
  6. 6.
    Corrêa, C.K.F., Oliveira, T.C., Werner, C.M.L.: An analysis of change operations to achieve consistency in model-driven software product lines. In: Proceedings of the 15th International Software Product Line Conference, vol. 2, SPLC ’11, pp. 24:1–24:4. ACM, New York, NY, USA (2011)Google Scholar
  7. 7.
    Deng, G., Lu, T., Turkay, E., Gokhale, A., Schmidt, D.C., Nechypurenko, A.: Model driven development of inventory tracking system. In: Proceedings of the ACM OOPSLA Workshop on Domain-Specific Modeling Languages (2003)Google Scholar
  8. 8.
    van Deursen, A., Visser, E., Warmer, J.: Model-driven software evolution: a research agenda. In: Tamzalit, D. (ed.) Proceedings 1st International Workshop on Model-Driven Software Evolution (MoDSE), pp. 41–49. University of Nantes (2007). http://www.sciences.univ-nantes.fr/MoDSE2007/
  9. 9.
    Favre, J.M.: Languages evolve too! Changing the software time scale. In: Proceedings of the Eighth International Workshop on Principles of Software Evolution. IWPSE ’05, pp. 33–44. IEEE Computer Society, Washington, DC, USA (2005)Google Scholar
  10. 10.
    Fleurey, F., Breton, E., Baudry, B., Nicolas, A., Jézéquel, J.M.: Model-driven engineering for software migration in a large industrial context. In: Engels, G., Opdyke, B., Schmidt, D., Weil, F. (eds.) Model Driven Engineering Languages and Systems, LNCS, vol. 4735, pp. 482–497. Springer, New York (2007)Google Scholar
  11. 11.
    Hebig, R., Gabrysiak, G., Giese, H.: Towards patterns for MDE-related processes to detect and handle changeability risks. In: 2012 International Conference on Software and Systems Process (2012)Google Scholar
  12. 12.
    Hebig, R., Gabrysiak, G., Giese, H.: Towards patterns for MDE-related processes to detect and handle changeability risks. In: Proceedings of the 2012 International Conference on Software and Systems Process (2012)Google Scholar
  13. 13.
    Hebig, R., Giese, H.: MDE settings in SAP. A descriptive field study. Tech. Rep. 58, Hasso-Plattner Institut at the University of Potsdam (2012)Google Scholar
  14. 14.
    Hebig, R., Giese, H., Stallmann, F., Seibel, A.: On the complex nature of MDE evolution. In: Moreira, A., Schaetz, B. (eds.) Model Driven Engineering Languages and Systems, 16th International Conference, MODELS 2013, LNCS. Springer, Miami, USA (2013)Google Scholar
  15. 15.
    Hebig, R., Seibel, A., Giese, H.: Toward a comparable characterization for software development activities in context of MDE. In: Proceedings of the 2011 International Conference on Software and Systems Process, ICSSP ’11, pp. 33–42. ACM, New York, NY, USA (2011). doi: 10.1145/1987875.1987884
  16. 16.
    Herrmannsdoerfer, M., Vermolen, S.D., Wachsmuth, G.: An extensive catalog of operators for the coupled evolution of metamodels and models. In: Software Language Engineering, pp. 163–182. Springer, New York (2011)Google Scholar
  17. 17.
    Hutchinson, J., Rouncefield, M., Whittle, J.: Model-driven engineering practices in industry. In: Proceeding of the 33rd International Conference on Software Engineering, ICSE ’11, pp. 633–642. ACM, Waikiki, Honolulu, HI, USA (2011)Google Scholar
  18. 18.
    Hutchinson, J., Whittle, J., Rouncefield, M., Kristoffersen, S.: Empirical assessment of MDE in industry. In: Proceeding of the 33rd International Conference on Software Engineering, ICSE ’11, pp. 471–480. ACM, New York, NY, USA (2011). doi: 10.1145/1985793.1985858
  19. 19.
    Johannes, J., Fernandez, M.: Adding abstraction and reuse to a network modelling tool using the reuseware composition framework. In: Kühne, T., Selic, B., Gervais, M.P., Terrier, F. (eds.) Modelling Foundations and Applications, LNCS, vol. 6138, pp. 132–143. Springer, New York (2010)Google Scholar
  20. 20.
    Karaila, M.: Evolution of a domain specific language and its engineering environment—Lehman’s laws revisited. In: Proceedings of the 9th OOPSLA Workshop on Domain-Specific Modeling (2009)Google Scholar
  21. 21.
    Karanam, M., Akepogu, A.: Model-driven software evolution: the multiple views. In: Proceedings of the International MultiConference of Engineers and Computer Scientists, vol. 1 (2009)Google Scholar
  22. 22.
    Khalil, A., Dingel, J.: Supporting the evolution of UML models in model driven software development: a survey. Tech. rep., School of Computing, Queen’s University Kingston, Ontario, Canada (2013)Google Scholar
  23. 23.
    Lerner, B.S.: A model for compound type changes encountered in schema evolution. ACM Trans. Database Syst. (TODS) 25(1), 83–127 (2000)CrossRefGoogle Scholar
  24. 24.
    Mansurov, N., Campara, D.: Managed architecture of existing code as a practical transition towards MDA. In: Jardim Nunes, N., Selic, B., Rodrigues da Silva, A., Toval Alvarez, A. (eds.) UML Modeling Languages and Applications, LNCS, vol. 3297, pp. 219–233. Springer, New York (2005)Google Scholar
  25. 25.
    Martínez, Y., Cachero, C., Matera, M., Abrahao, S., Luján, S.: Impact of MDE approaches on the maintainability of web applications: an experimental evaluation. In: Jeusfeld, M., Delcambre, L., Ling, T.W. (eds.) Proceedings of the 30th International Conference on Conceptual Modeling, ER’11, pp. 233–246. Springer, Berlin, (2011)Google Scholar
  26. 26.
    Mens, T., Blanc, X., Mens, K.: Model-driven software evolution: an alternative research agenda. In: The 6th BElgian-NEtherlands software eVOLution workshop (BENEVOL 2007) (2007)Google Scholar
  27. 27.
    Meyers, B., Mannadiar, R., Vangheluwe, H.: Evolution of modelling languages. In: 8th BElgian-NEtherlands software eVOLution seminar (BENEVOL) (2009)Google Scholar
  28. 28.
    Meyers, B., Vangheluwe, H.: A framework for evolution of modelling languages. Sci. Comput. Program. 76(12), 1223–1246 (2011)CrossRefGoogle Scholar
  29. 29.
    Mohagheghi, P., Gilani, W., Stefanescu, A., Fernandez, M., Nordmoen, B., Fritzsche, M.: Where does model-driven engineering help? Experiences from three industrial cases. Softw. Syst. Model. 12(3), 619–639 (2013)CrossRefGoogle Scholar
  30. 30.
    Noy, N.F., Klein, M.: Ontology evolution: not the same as schema evolution. Knowl. Inf. Syst. 6(4), 428–440 (2004)CrossRefGoogle Scholar
  31. 31.
    OMG: UML 2.0 Superstructure Specification (2004)Google Scholar
  32. 32.
    Roddick, J.F.: Schema evolution in database systems—an annotated bibliography. SIGMOD Record 21(4), 35–40 (1992)CrossRefGoogle Scholar
  33. 33.
    Sadovykh, A., Vigier, L., Gomez, E., Hoffmann, A., Grossmann, J., Estekhin, O.: On study results: round trip engineering of space systems. In: Paige, R., Hartman, A., Rensink, A. (eds.) Model Driven Architecture—Foundations and Applications, LNCS, vol. 5562, pp. 265–276. Springer, New York (2009)Google Scholar
  34. 34.
    Seaman, C.: Qualitative methods in empirical studies of software engineering. IEEE Trans. Softw. Eng. 25(4), 557–572 (1999)CrossRefGoogle Scholar
  35. 35.
    Selic, B.: The pragmatics of model-driven development. IEEE Softw. 20(5), 19–25 (2003). http://csdl.computer.org/dl/mags/so/2003/05/s5019.pdf
  36. 36.
    Shirtz, D., Kazakov, M., Shaham-Gafni, Y.: Adopting model driven development in a large financial organization. In: Proceedings of the 3rd European Conference on Model Driven Architecture—Foundations and Applications, ECMDA-FA’07, pp. 172–183. Springer, Berlin (2007)Google Scholar
  37. 37.
    Stammel, J., Durdik, Z., Krogmann, K., Weiss, R., Koziolek, H.: Software evolution for industrial automation systems: literature overview Tech. rep., KIT, Fakultät für Informatik (2011)Google Scholar
  38. 38.
    Vogel, R.: Practical case study of MDD infusion in a SME: final results. In: Tamzalit, D., Deridder, D., Schätz, B. (eds.) Models and Evolution Joint MODELS09 Workshop on Model-Driven Software Evolution (MoDSE) and Model Co-Evolution and Consistency Management (MCCM), pp. 68–78 (2009)Google Scholar
  39. 39.
    Wohlin, C., Runeson, P., Höst, M., Ohlsson, M., Regnell, B., Wesslén, A.: Experimentation in Software Engineering: An Introduction. Kluwer Academic, Dordrecht (1999)MATHGoogle Scholar
  40. 40.
    Yie, A., Casallas, R., Wagelaar, D., Deridder, D.: An approach for evolving transformation chains. In: Schürr, A., Selic, B. (eds.) Model Driven Engineering Languages and Systems, LNCS, vol. 5795, pp. 551–555. Springer, New York (2009)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2015

Authors and Affiliations

  1. 1.LIP6, UMR 7606Sorbonne Universités, UPMC Univ Paris 06ParisFrance
  2. 2.Hasso Plattner InstituteUniversity of PotsdamPotsdamGermany

Personalised recommendations