Software & Systems Modeling

, Volume 12, Issue 1, pp 201–219 | Cite as

Genericity for model management operations

  • Louis Rose
  • Esther Guerra
  • Juan de LaraEmail author
  • Anne Etien
  • Dimitris Kolovos
  • Richard Paige
Regular Paper


Models are the core assets in model-driven engineering, and are therefore subject to all kind of manipulations, such as refactorings, animations, transformations into other languages, comparisons and merging. This set of model-related activities is known as model management. Even though many languages and approaches have been proposed for model management, most of them are type-centric, specific to concrete meta-models, and hence leading to specifications with a low level of abstraction and difficult to be reused in practice. In this paper, we introduce ideas from generic programming into model management to raise the level of abstraction of the specifications of model manipulations and facilitate their reuse. In particular we adopt generic meta-model concepts as an intermediate, abstract meta-model over which model management specifications are defined. Such meta-model concepts are mapped to concrete meta-models, so that specifications can be applied to families of meta-models satisfying the concept requirements. As a proof of concept, we show the implementation of these ideas using the Eclipse Modeling Framework and the Epsilon family of languages for model management.


Model management Genericity Reusability Epsilon Eclipse Modelling Framework 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Bernstein, P.A., Melnik, S.:Model management 2.0: manipulating richer mappings. In: SIGMOD Conference 2007, pp. 1–12. ACM, New York (2007)Google Scholar
  2. 2.
    Bézivin, J., Jouault, F., Palies, J.: Towards model transformation design patterns. In: EWMT’05 (2005)Google Scholar
  3. 3.
    Bézivin, J., Jouault, F., Rosenthal, P., Valduriez, P.: Modeling in the large and modeling in the small. In: MDAFA’04. LNCS, vol. 3599, pp. 33–46 (2004)Google Scholar
  4. 4.
    Bonet, P., Llado, C., Puijaner, R., Knottenbelt, W. PIPE v2.5: A petri net tool for performance modelling. In: CLEI’07 (2007).
  5. 5.
  6. 6.
    Boronat, A., Carsí, J.A., Ramos, I.: Automatic support for traceability in a generic model management framework. In: ECMDA-FA’05. LNCS, vol. 3748, pp. 316–330. Springer, Berlin (2005)Google Scholar
  7. 7.
    Bottoni P., Guerra E., de Lara J.: Enforced generative patterns for the specification of the syntax and semantics of visual languages. J. Vis. Lang. Comput. 19(4), 429–455 (2008)CrossRefGoogle Scholar
  8. 8.
  9. 9.
    Caron, O., Carré, B., Muller, A., Vanwormhoudt, G.: An OCL formulation of UML2 template binding. In: UML’04. LNCS, vol. 3273, pp. 27–40. Springer, Berlin (2004)Google Scholar
  10. 10.
    Clark T., Evans A., Kent S.: Aspect-oriented metamodelling. Comput. J. 46, 566–577 (2003)zbMATHCrossRefGoogle Scholar
  11. 11.
    Clark T., Sammut P., Willans J.: Applied Metamodelling, a Foundation for Language Driven Development, 2nd edn. Ceteva, Chester (2008)Google Scholar
  12. 12.
  13. 13.
    Cuccuru, A., Mraidha, C., Terrier, F., Gérard, S.: Templatable metamodels for semantic variation points. In: ECMDA-FA’07. LNCS, vol. 4530, pp. 68–82. Springer, Berlin (2007)Google Scholar
  14. 14.
    Cuccuru, A., Radermacher, A., Gérard, S., Terrier, F.: Constraining type parameters of UML 2 templates with substitutable classifiers. In: MoDELS’09. LNCS, vol. 5795, pp. 644–649. Springer, Berlin (2009)Google Scholar
  15. 15.
    de Lara J., Bardohl R., Ehrig H., Ehrig K., Prange U., Taentzer G.: Attributed graph transformation with node type inheritance. Theor. Comput. Sci. 376(3), 139–163 (2007)MathSciNetzbMATHCrossRefGoogle Scholar
  16. 16.
    de Lara, J., Guerra, E.: Deep meta-modelling with MetaDepth. In: TOOLS’10. LNCS, vol. 6141, pp. 1–20. Springer, Berlin (2010).
  17. 17.
    de Lara, J., Guerra, E.: Generic meta-modelling with concepts, templates and mixin layers. In: MoDELS’10. Part I, LNCS, vol. 6394, pp. 16–30. Springer, Berlin (2010)Google Scholar
  18. 18.
    de Lara, J., Guerra, E., Bottoni, P. Triple patterns: compact specifications for the generation of operational triple graph grammar rules. In: GT-VMT’07. Electronic Communications of the EASST, vol. 6 (2007)Google Scholar
  19. 19.
    de Lara J., Vangheluwe H.: Automating the transformation-based analysis of visual languages. Formal Aspects Comput. 22, 297–326 (2010)zbMATHCrossRefGoogle Scholar
  20. 20.
    Dos Reis, G., Stroustrup, B.: Specifying C++ concepts. In: POPL’06, pp. 295–308. ACM, New York (2006)Google Scholar
  21. 21.
    D’Souza D.F., Wills A.C.: Objects, Components, and Frameworks with UML: The Catalysis Approach. Addison-Wesley Longman Publishing Co. Inc., Reading (1999)Google Scholar
  22. 22.
    Ehrig H., Ehrig K., Prange U., Taentzer G.: Fundamentals of Algebraic Graph Transformation. Springer, Berlin (2006)zbMATHGoogle Scholar
  23. 23.
  24. 24.
    Etien, A., Muller, A., Legrand, T., Blanc, X.: Combining independent model transformations. In: SAC’10, pp. 2239–2345. ACM, New York (2010)Google Scholar
  25. 25.
    Fowler M.: Refactoring: Improving the Design of Existing Code. Addison-Wesley, Reading (1999)Google Scholar
  26. 26.
    García R., Jarvi J., Lumsdaine A., Siek J.G., Willcock J.: A comparative study of language support for generic programming. SIGPLAN Not. 38(11), 115–134 (2003)CrossRefGoogle Scholar
  27. 27.
    Gregor D., Järvi J., Siek J., Stroustrup B., Dos Reis G., Lumsdaine A.: Concepts: linguistic support for generic programming in C++. SIGPLAN Not. 41(10), 291–310 (2006)CrossRefGoogle Scholar
  28. 28.
    Hermann, F., Ehrig, H., Ermel, C.: Transformation of type graphs with inheritance for ensuring security in e-government networks. In: FASE’09. LNCS, vol. 5503, pp. 325–339. Springer, Berlin (2009)Google Scholar
  29. 29.
    Hillah, L., Kindler, E., Kordon, F., Petrucci, L., Treves N.: A primer on the Petri net markup language and ISO/IEC 15909-2. Petri Nets Newsl. 76, 9–28 (2009).
  30. 30.
    Kensche D., Quix C., Chatti M.A., Jarke M.: Gerome: a generic role based metamodel for model management. J. Data Semant. 8, 82–117 (2007)Google Scholar
  31. 31.
  32. 32.
    Kolovos, D.S.: Establishing correspondences between models with the Epsilon Comparison Language. In: ECMDA-FA’09. LNCS, vol. 5562, pp. 146–157. Springer, Berlin (2009)Google Scholar
  33. 33.
    Kolovos, D.S., Paige, R.F., Polack F.: The Epsilon Object Language (EOL). In: ECMDA-FA’06. LNCS, vol. 4066, pp. 128–142. Springer, Berlin (2006)Google Scholar
  34. 34.
    Kolovos, D.S., Paige, R.F., Polack F.: Merging models with the Epsilon Merging Language (EML). In: MoDELS’06, vol. 4199, pp 215–229. Springer, Berlin (2006)Google Scholar
  35. 35.
    Kolovos, D.S., Paige, R.F., Polack F.: On the evolution of OCL for capturing structural constraints in modelling languages. In: Rigorous Methods for Software Construction and Analysis. LNCS, vol. 5115, pp. 204–218 (2009)Google Scholar
  36. 36.
    Kolovos, D.S., Paige, R.F., Polack F.: The Epsilon Transformation Language. In: ICMT’08. LNCS, vol. 5063, pp. 46–60. Springer, Berlin (2008)Google Scholar
  37. 37.
    Kolovos D.S., Paige R.F., Polack F., Rose L.M.: Update transformations in the small with the Epsilon Wizard Language. J. Object Technol. 6(9), 53–69 (2007)CrossRefGoogle Scholar
  38. 38.
    Kühne, T.: An observer-based notion of model inheritance. In: MoDELS’10. Part I, LNCS, vol. 6394, pp. 31–45. Springer, Berlin (2010)Google Scholar
  39. 39.
    Moha, N. Mahé, V. Barais, O. Jézéquel. J.-M.: Generic model refactorings. In: MoDELS’09. LNCS, vol. 5795, pp. 628–643 (2009)Google Scholar
  40. 40.
    Murata T.: Petri nets: properties, analysis and applications. Proc. IEEE 77(4), 541–580 (1989)CrossRefGoogle Scholar
  41. 41.
    OMG. UML 2.3 specification.
  42. 42.
    Rose, L.M., Kolovos, D.S., Paige, R.F., Polack, F.A.C.: Model migration with Epsilon Flock. In: ICMT’10. LNCS, vol. 6142, pp. 184–198. Springer, Berlin (2010)Google Scholar
  43. 43.
    Rose, L.M., Paige, R.F., Kolovos, D.S., Polack,F.: The Epsilon Generation Language. In: ECMDA-FA’08. LNCS, vol. 5095, pp. 1–16. Springer, Berlin (2008)Google Scholar
  44. 44.
    Sen, S., Moha, Baudry, B. Jézéquel. J.-M.: Meta-model pruning. In: MoDELS. LNCS, vol. 5795, pp. 32–46 (2009)Google Scholar
  45. 45.
    Steel J., Jézéquel J.-M.: On model typing. SoSyM 6(4), 401–413 (2007)CrossRefGoogle Scholar
  46. 46.
    Steinberg, D., Budinsky, F., Paternostro, M., Merks E.: EMF: Eclipse Modeling Framework, 2nd edn. Addison-Wesley Professional, Reading (2008).
  47. 47.
    Stepanov A., Lee M.: The standard template library. Technical Report 95-11(R1), HP Laboratories (1995)Google Scholar
  48. 48.
    Stepanov A., McJones P.: Elements of Programming. Addison-Wesley, Reading (2009)Google Scholar
  49. 49.
    Stroustrup,B.: The C++0x remove concepts decision. Dr.Dobbs (2009)
  50. 50.
    Sun. Java Metadata Interface.

Copyright information

© Springer-Verlag 2011

Authors and Affiliations

  • Louis Rose
    • 1
    • 4
  • Esther Guerra
    • 2
  • Juan de Lara
    • 2
    Email author
  • Anne Etien
    • 3
  • Dimitris Kolovos
    • 1
  • Richard Paige
    • 1
  1. 1.University of YorkYorkUK
  2. 2.Universidad Autónoma de MadridMadridSpain
  3. 3.INRIA Lille Nord EuropeUniversité Lille 1LilleFrance
  4. 4.Department of Computer ScienceUniversity of YorkYorkUK

Personalised recommendations