Automatically Deriving the Specification of Model Editing Operations from Meta-Models

  • Timo Kehrer
  • Gabriele Taentzer
  • Michaela Rindt
  • Udo Kelter
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 9765)

Abstract

To optimally support continuous model evolution in model-based software development, adequate tool support for model version management is needed. Instead of reporting model differences to the developer line-by-line or element-wise, their grouping into semantically associated change sets helps in understanding model differences. Edit operations are the concept of choice to group such change sets. Considering visual models in particular, edit operations preserve a basic form of consistency such that changed models can still be viewed in a standard editor. Using edit operations for the version management of domain-specific models requires tool developers to specify all necessary edit operations in order to produce or replicate every possible change on a model. However, edit operations can be numerous and their manual specification is therefore tedious and error-prone. In this paper, we present a precise approach to specify a complete set of consistency-preserving edit operations for a given modeling language. The approach is supported by a generator and has been evaluated in four case studies covering several visual modeling languages and standard editors.

Keywords

Model-driven engineering Model consistency Modelediting Meta-model 

References

  1. 1.
    Accompanying material for this paper (2015). http://pi.informatik.uni-siegen.de/projects/SiLift/icmt2016/index.php
  2. 2.
    Altmanninger, K., Brosch, P., Kappel, G., Langer, P., Seidl, M., Wieland, K., Wimmer, M.: Why model versioning research is needed? An experience report. In: Proceedings of the MoDSE-MCCM 2009 Workshop@ MoDELS, vol. 9 (2009)Google Scholar
  3. 3.
    Arendt, T., Biermann, E., Jurack, S., Krause, C., Taentzer, G.: Henshin: advanced concepts and tools for in-place EMF model transformations. In: Rouquette, N., Haugen, Ø., Petriu, D.C. (eds.) MODELS 2010, Part I. LNCS, vol. 6394, pp. 121–135. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  4. 4.
    Biermann, E., Ermel, C., Taentzer, G.: Formal foundation of consistent EMF model transformations by algebraic graph transformation. Softw. Syst. Model. 11(2), 227–250 (2012)CrossRefGoogle Scholar
  5. 5.
    Brambilla, M., Cabot, J., Wimmer, M.: Model-Driven Software Engineering in Practice. Synthesis Lectures on Software Engineering. Morgan & Claypool Publishers, San Rafael (2012)Google Scholar
  6. 6.
    Bürdek, J., Kehrer, T., Lochau, M., Reuling, D., Kelter, U., Schürr, A.: Reasoning about product-line evolution using complex feature models differences. Autom. Softw. Eng., 1–47 (2015). doi:10.1007/s10515-015-0185-3
  7. 7.
    Brottier, E., Fleurey, F., Steel, J., Baudry, B., Le Traon, Y.: Meta-model-based test generation for model transformations: an algorithm and a tool. In: 17th International Symposium on Software Reliability Engineering, pp. 85–94. IEEE (2006)Google Scholar
  8. 8.
    Eclipse Modeling Project (EMP) (2015). http://eclipse.org/modeling
  9. 9.
    Ecore Tools - Graphical Modeling for Ecore (2015). http://www.eclipse.org/ecoretools
  10. 10.
    Ehrig, H., Ehrig, K., Prange, U., Taentzer, G.: Fundamentals of Algebraic Graph Transformation. Springer New York Inc., Secaucus (2006)MATHGoogle Scholar
  11. 11.
    Ehrig, K., Küster, J.M., Taentzer, G.: Generating instance models from meta models. Softw. Syst. Model. 8(4), 479–500 (2009)CrossRefGoogle Scholar
  12. 12.
    Fürst, L., Mernik, M., Mahnic, V.: Converting metamodels to graph grammars: doing without advanced graph grammar features. Softw. Syst. Model. 14(3), 1297–1317 (2015)CrossRefGoogle Scholar
  13. 13.
    Haber, A., Hölldobler, K., Kolassa, C., Look, M., Rumpe, B., Müller, K., Schaefer, I.: Engineering delta modeling languages. In: Proceedings of the 17th International Software Product Line Conference, pp. 22–31. ACM (2013)Google Scholar
  14. 14.
    Harel, D.: Statecharts: a visual formalism for complex systems. Sci. Comput. Program. 8(3), 231–274 (1987)MathSciNetCrossRefMATHGoogle Scholar
  15. 15.
    Hoffmann, B., Minas, M.: Generating instance graphs from class diagrams with adaptive star grammars. In: ECEASST, vol. 39 (2011)Google Scholar
  16. 16.
    IBM: Rational Software Architect (2015). http://www-03.ibm.com/software/products/en/ratisoftarch
  17. 17.
    Jackson, D.: Software Abstractions: Logic, Language, and Analysis. The MIT Press, Cambridge (2006)Google Scholar
  18. 18.
    Kehrer, T.: Calculation and propagation of model changes based on user-level edit operations. Ph.D. thesis, University of Siegen (2015)Google Scholar
  19. 19.
    Kehrer, T., Kelter, U., Reuling, D.: Workspace updates of visual models. In: ACM/IEEE International Conference on Automated Software Engineering (ASE), pp. 827–830. ACM (2014)Google Scholar
  20. 20.
    Kehrer, T., Kelter, U., Taentzer, G.: Consistency-preserving edit scripts in model versioning. In: 28th IEEE/ACM International Conference on Automated Software Engineering (ASE), pp. 191–201. IEEE (2013)Google Scholar
  21. 21.
    Langer, P., Wimmer, M., Brosch, P., Herrmannsdörfer, M., Seidl, M., Wieland, K., Kappel, G.: A posteriori operation detection in evolving software models. J. Syst. Softw. 86(2), 551–566 (2013)CrossRefGoogle Scholar
  22. 22.
    Mens, T.: On the use of graph transformations for model refactoring. In: Lämmel, R., Saraiva, J., Visser, J. (eds.) GTTSE 2005. LNCS, vol. 4143, pp. 219–257. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  23. 23.
  24. 24.
    Object Management Group: UML 2.4.1 superstructure specification. OMG Document Number: formal/2011-08-06 (2011)Google Scholar
  25. 25.
    Radke, H., Arendt, T., Becker, J.S., Habel, A., Taentzer, G.: Translating essential OCL invariants to nested graph constraints focusing on set operations. In: Parisi-Presicce, F., Westfechtel, B. (eds.) ICGT 2015. LNCS, vol. 9151, pp. 155–170. Springer, Heidelberg (2015)CrossRefGoogle Scholar
  26. 26.
    Rindt, M., Kehrer, T., Kelter, U.: Automatic generation of consistency-preserving edit operations for MDE tools. In: Demonstrations Track of the ACM/IEEE 17th International Conference on Model Driven Engineering Languages and Systems (MoDELS), CEUR Workshop Proceedings, vol. 1255 (2014)Google Scholar
  27. 27.
    Seidl, C., Schaefer, I., Aßmann, U.: DeltaEcore-a model-based delta language generation framework. In: Modellierung, pp. 81–96 (2014)Google Scholar
  28. 28.
    Selonen, P., Kettunen, M.: Metamodel-based inference of inter-model correspondence. In: 11th European Conference on Software Maintenance and Reengineering (CSMR), pp. 71–80. IEEE (2007)Google Scholar
  29. 29.
    Taentzer, G.: Instance generation from type graphs with arbitrary multiplicities. In: Electronic Communications of the EASST, vol. 47 (2012)Google Scholar
  30. 30.
    Thüm, T., Kästner, C., Benduhn, F., Meinicke, J., Saake, G., Leich, T.: FeatureIDE: an extensible framework for feature-oriented software development. Sci. Comput. Program. 79, 70–85 (2014)CrossRefGoogle Scholar

Copyright information

© Springer International Publishing Switzerland 2016

Authors and Affiliations

  • Timo Kehrer
    • 1
    • 3
  • Gabriele Taentzer
    • 2
  • Michaela Rindt
    • 3
  • Udo Kelter
    • 3
  1. 1.Politecnico di MilanoMilanItaly
  2. 2.Philipps-Universität MarburgMarburgGermany
  3. 3.University of SiegenSiegenGermany

Personalised recommendations