Skip to main content
Log in

Genericity for model management operations

  • Regular Paper
  • Published:
Software & Systems Modeling Aims and scope Submit manuscript

Abstract

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Bernstein, P.A., Melnik, S.:Model management 2.0: manipulating richer mappings. In: SIGMOD Conference 2007, pp. 1–12. ACM, New York (2007)

  2. Bézivin, J., Jouault, F., Palies, J.: Towards model transformation design patterns. In: EWMT’05 (2005)

  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)

  4. Bonet, P., Llado, C., Puijaner, R., Knottenbelt, W. PIPE v2.5: A petri net tool for performance modelling. In: CLEI’07 (2007). http://pipe2.sourceforge.net/

  5. Boost.http://www.boost.org/

  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)

  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)

    Article  Google Scholar 

  8. BPMN. http://www.bpmn.org/

  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)

  10. Clark T., Evans A., Kent S.: Aspect-oriented metamodelling. Comput. J. 46, 566–577 (2003)

    Article  MATH  Google Scholar 

  11. Clark T., Sammut P., Willans J.: Applied Metamodelling, a Foundation for Language Driven Development, 2nd edn. Ceteva, Chester (2008)

    Google Scholar 

  12. CPNTools. http://wiki.daimi.au.dk/cpntools

  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)

  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)

  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)

    Article  MathSciNet  MATH  Google Scholar 

  16. de Lara, J., Guerra, E.: Deep meta-modelling with MetaDepth. In: TOOLS’10. LNCS, vol. 6141, pp. 1–20. Springer, Berlin (2010). http://astreo.ii.uam.es/~jlara/metaDepth/

  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)

  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)

  19. de Lara J., Vangheluwe H.: Automating the transformation-based analysis of visual languages. Formal Aspects Comput. 22, 297–326 (2010)

    Article  MATH  Google Scholar 

  20. Dos Reis, G., Stroustrup, B.: Specifying C++ concepts. In: POPL’06, pp. 295–308. ACM, New York (2006)

  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. Ehrig H., Ehrig K., Prange U., Taentzer G.: Fundamentals of Algebraic Graph Transformation. Springer, Berlin (2006)

    MATH  Google Scholar 

  23. Epsilon. http://www.eclipse.org/gmt/epsilon/ (2010)

  24. Etien, A., Muller, A., Legrand, T., Blanc, X.: Combining independent model transformations. In: SAC’10, pp. 2239–2345. ACM, New York (2010)

  25. Fowler M.: Refactoring: Improving the Design of Existing Code. Addison-Wesley, Reading (1999)

    Google Scholar 

  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)

    Article  Google Scholar 

  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)

    Article  Google Scholar 

  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)

  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). http://www.pnml.org

  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. Kermeta. http://www.kermeta.org/

  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)

  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)

  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)

  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)

  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)

  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)

    Article  Google Scholar 

  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)

  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)

  40. Murata T.: Petri nets: properties, analysis and applications. Proc. IEEE 77(4), 541–580 (1989)

    Article  Google Scholar 

  41. OMG. UML 2.3 specification. http://www.omg.org/spec/UML/2.3/

  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)

  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)

  44. Sen, S., Moha, Baudry, B. Jézéquel. J.-M.: Meta-model pruning. In: MoDELS. LNCS, vol. 5795, pp. 32–46 (2009)

  45. Steel J., Jézéquel J.-M.: On model typing. SoSyM 6(4), 401–413 (2007)

    Article  Google Scholar 

  46. Steinberg, D., Budinsky, F., Paternostro, M., Merks E.: EMF: Eclipse Modeling Framework, 2nd edn. Addison-Wesley Professional, Reading (2008). http://www.eclipse.org/modeling/emf/

  47. Stepanov A., Lee M.: The standard template library. Technical Report 95-11(R1), HP Laboratories (1995)

  48. Stepanov A., McJones P.: Elements of Programming. Addison-Wesley, Reading (2009)

    Google Scholar 

  49. Stroustrup,B.: The C++0x remove concepts decision. Dr.Dobbs (2009) http://www.ddj.com/cpp/218600111

  50. Sun. Java Metadata Interface. http://java.sun.com/products/jmi/index.jsp

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Juan de Lara.

Additional information

Communicated by Dr. Gabor Karsai.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Rose, L., Guerra, E., de Lara, J. et al. Genericity for model management operations. Softw Syst Model 12, 201–219 (2013). https://doi.org/10.1007/s10270-011-0203-2

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10270-011-0203-2

Keywords

Navigation