Software & Systems Modeling

, Volume 11, Issue 2, pp 227–250 | Cite as

Formal foundation of consistent EMF model transformations by algebraic graph transformation

  • Enrico Biermann
  • Claudia Ermel
  • Gabriele Taentzer
Special Section Paper

Abstract

Model transformation is one of the key activities in model-driven software development. An increasingly popular technology to define modeling languages is provided by the Eclipse Modeling Framework (EMF). Several EMF model transformation approaches have been developed, focusing on different transformation aspects. To validate model transformations with respect to functional behavior and correctness, a formal foundation is needed. In this paper, we define consistent EMF model transformations as a restricted class of typed graph transformations using node type inheritance. Containment constraints of EMF model transformations are translated to a special kind of graph transformation rules such that their application leads to consistent transformation results only. Thus, consistent EMF model transformations behave like algebraic graph transformations and the rich theory of algebraic graph transformation can be applied to these EMF model transformations to show functional behavior and correctness. Furthermore, we propose parallel graph transformation as a suitable framework for modeling EMF model transformations with multi-object structures. Rules extended by multi-object structures can specify a flexible number of recurring structures. The actual number of recurring structures is dependent on the application context of such a rule. We illustrate our approach by selected refactorings of simplified statechart models. Finally, we discuss the implementation of our concepts in a tool environment for EMF model transformations.

Keywords

Consistent EMF models Model transformation Graph transformation Rule amalgamation 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Schmidt D.: Model-driven engineering. IEEE Comput. 39(2), 25–31 (2006)CrossRefGoogle Scholar
  2. 2.
    Mens T., Tourwé T.: A survey of software refactoring. Trans. Softw. Eng. 30(2), 126–139 (2004)CrossRefGoogle Scholar
  3. 3.
    Eclipse Consortium: Eclipse Modeling Framework (EMF)—Version 2.4. (2008) http://www.eclipse.org/emf
  4. 4.
    Object Management Group: Meta Object Facility (MOF) Core Specification Version 2.0. http://www.omg.org/technology/documents/modeling_spec_catalog.htm#MOF (2008)
  5. 5.
    Object Management Group: MOF 2.0 / XMI Mapping Specification (2008). http://www.omg.org/technology/documents/formal/xmi.htm
  6. 6.
    Jouault, F., Kurtev, I.: Transforming models with ATL. In: MoDELS Satellite Events. LNCS, vol. 3844, pp 128–138. Springer, Berlin (2005)Google Scholar
  7. 7.
    Kolovos D., Paige R., Polack F., Rose L.: Update transformations in the small with Epsilon wizard language. Object Technol. 6(9), 53–69 (2007)CrossRefGoogle Scholar
  8. 8.
    Lawley, M., Steel, J.: Practical declarative model transformation with Tefkat. In: MoDELS Satellite Events. LNCS, vol. 3844, pp. 139–150. Springer, Berlin (2005)Google Scholar
  9. 9.
    Varró D., Balogh A.: The model transformation language of the VIATRA2 framework. Sci. Comput. Program. 68(3), 214–234 (2007)MATHCrossRefGoogle Scholar
  10. 10.
    Boronat, A.: MOMENT: A formal framework for model management. PhD thesis, Universitat Politècnica de València (2007)Google Scholar
  11. 11.
    Object Management Group: Meta Object Facility (MOF) 2.0 Query/View/Transformation Specification. Version 1.0 (2008)Google Scholar
  12. 12.
    Ehrig, H., Ehrig, K., Prange, U., Taentzer, G.: Fundamentals of algebraic graph transformation. EATCS Monogr. Theor. Comp. Sci. (2006)Google Scholar
  13. 13.
    Clavel, M., Durán, F., Eker, S., Lincoln, P., Martí-Oliet, N., Meseguer, J., Talcott, C.: All About Maude—A High-Performance Logical Framework: How to Specify, Program, and Verify Systems in Rewriting Logic, LNCS, vol. 4350. Springer, Berlin (2007)Google Scholar
  14. 14.
    TFS-Group, TU Berlin: AGG (2009). http://tfs.cs.tu-berlin.de/agg
  15. 15.
    Biermann, E., Ehrig, H., Ermel, C., Golas, U., Taentzer, G.: Parallel independence of amalgamated graph transformations applied to model transformation. In: Graph Transformations and Model-Driven Engineering. Essays Dedicated to Manfred Nagl, LNCS, vol. 5765. Springer, Berlin (2010)Google Scholar
  16. 16.
    Eclipse Consortium: Eclipse Model Development Tools (2007). http://www.eclipse.org/modeling/mdt
  17. 17.
    Mens T., Taentzer G., Runge O.: Analysing refactoring dependencies using graph transformation. Softw. Syst. Model. 6(3), 269–285 (2007)CrossRefGoogle Scholar
  18. 18.
    Rensink, A., Taentzer, G.: Ensuring structural constraints in graph-based models with type inheritance. In: Proceedings of Fundamental Approaches to Software Engineering (FASE’05). LNCS, vol. 3442, pp. 64–79, Springer, Berlin (2005)Google Scholar
  19. 19.
    Taentzer, G.: Parallel and distributed graph transformation: formal description and application to communication-based systems. PhD thesis, TU Berlin, Shaker Verlag, Berlin (1996)Google Scholar
  20. 20.
    Arendt, T., Biermann, E., Jurack, S., Krause, C., Taentzer, G.: Henshin: Advanced concepts and tools for in-place EMF model transformations. In: Proceedings of the ACM/IEEE 13th International Conference on Model Driven Engineering Languages and Systems (MoDELS’10) (2010)Google Scholar
  21. 21.
    Biermann, E., Ermel, C., Schmidt, J., Warning, A.: Visual modeling of controlled emf model transformation using Henshin. In: Proceedings of the 4th International Workshop on Graph-Based Tools (GraBaTs’10) (2010) (to appear)Google Scholar
  22. 22.
    Biermann, E., Ehrig, K., Köhler, C., Kuhns, G., Taentzer, G., Weiss, E.: Graphical definition of in-place transformations in the eclipse modeling framework. In: Proceedings of the International Conference on Model Driven Engineering Languages and Systems (MoDELS’06). LNCS, vol. 4199, pp. 425–439. Springer, Berlin (2006)Google Scholar
  23. 23.
    Eclipse Consortium: Eclipse Modeling Framework Technology (2009). http://www.eclipse.org/modeling/emft
  24. 24.
    Taentzer, G.: AGG: a graph transformation environment for modeling and validation of software. In: Application of Graph Transformations with Industrial Relevance. LNCS, vol. 3062, pp. 446–456. Springer, Berlin (2004)Google Scholar
  25. 25.
    de Lara J., Ermel C., Taentzer G., Ehrig K.: Parallel graph transformation for model simulation applied to timed transition Petri nets. ENTCS 109, 17–29 (2004)Google Scholar
  26. 26.
    Rensink, A., Kuperus, J.H.: Repotting the geraniums: on nested graph transformation rules. ECEASST 18 (2009)Google Scholar
  27. 27.
    Balasubramanian, D., Narayanan, A., Neema, S., Shi, F., Thibodeaux, R., Karsai, G.: A subgraph operator for graph transformation languages. ECEASST 6 (2007)Google Scholar
  28. 28.
    Grønmo, R., Krogdahl, S., Møller-Pedersen, B.: A collection operator for graph transformation. In: Proceedings International Conference on Theory and Practice of Model Transformations (ICMT’09). LNCS, vol. 5563, pp. 67–82. Springer, Berlin (2009)Google Scholar
  29. 29.
    Hoffmann, B., Janssens, D., van Eetvelde, N.: Cloning and expanding graph transformation rules for refactoring. In: International Workshop on Graph and Model Transformation. ENTCS, vol. 152, pp. 53–67. Elsevier, Amsterdam (2006)Google Scholar
  30. 30.
    Schürr, A., Winter, A., Zündorf, A.: The PROGRES-approach: language and environment. In: Handbook of Graph Grammars and Computing by Graph Transformation, Applications, Languages and Tools, vol. 2, pp. 487–550. World Scientific (1999)Google Scholar
  31. 31.
    Fischer, T., Niere, J., Torunski, L., Zündorf, A.: Story diagrams: a new graph rewrite language based on the Unified Modeling Language. In: Proceedings of International Workshop on Theory and Application of Graph Transformation. LNCS, vol. 1764, pp. 296–309. Springer, Berlin (2000)Google Scholar
  32. 32.
    Habel A., Pennemann K.H.: Correctness of high-level transformation systems relative to nested conditions. Math. Struct. Comput. Sci. 19, 1–52 (2009)MathSciNetCrossRefGoogle Scholar
  33. 33.
    Biermann, E., Ermel, C., Taentzer, G.: Lifting parallel graph transformation concepts to model transformation based on the Eclipse modeling framework. ECEASST 26 (2010)Google Scholar
  34. 34.
    Kuske, S.: Transformation units—a structuring principle for graph transformation systems. PhD thesis, University of Bremen (2000)Google Scholar

Copyright information

© Springer-Verlag 2011

Authors and Affiliations

  • Enrico Biermann
    • 1
  • Claudia Ermel
    • 1
  • Gabriele Taentzer
    • 2
  1. 1.Technische Universität BerlinBerlinGermany
  2. 2.Philipps-Universität MarburgMarburgGermany

Personalised recommendations