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.
Article PDF
Similar content being viewed by others
Avoid common mistakes on your manuscript.
References
Bernstein, P.A., Melnik, S.:Model management 2.0: manipulating richer mappings. In: SIGMOD Conference 2007, pp. 1–12. ACM, New York (2007)
Bézivin, J., Jouault, F., Palies, J.: Towards model transformation design patterns. In: EWMT’05 (2005)
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)
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/
Boost.http://www.boost.org/
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)
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)
BPMN. http://www.bpmn.org/
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)
Clark T., Evans A., Kent S.: Aspect-oriented metamodelling. Comput. J. 46, 566–577 (2003)
Clark T., Sammut P., Willans J.: Applied Metamodelling, a Foundation for Language Driven Development, 2nd edn. Ceteva, Chester (2008)
CPNTools. http://wiki.daimi.au.dk/cpntools
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)
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)
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)
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/
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)
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)
de Lara J., Vangheluwe H.: Automating the transformation-based analysis of visual languages. Formal Aspects Comput. 22, 297–326 (2010)
Dos Reis, G., Stroustrup, B.: Specifying C++ concepts. In: POPL’06, pp. 295–308. ACM, New York (2006)
D’Souza D.F., Wills A.C.: Objects, Components, and Frameworks with UML: The Catalysis Approach. Addison-Wesley Longman Publishing Co. Inc., Reading (1999)
Ehrig H., Ehrig K., Prange U., Taentzer G.: Fundamentals of Algebraic Graph Transformation. Springer, Berlin (2006)
Epsilon. http://www.eclipse.org/gmt/epsilon/ (2010)
Etien, A., Muller, A., Legrand, T., Blanc, X.: Combining independent model transformations. In: SAC’10, pp. 2239–2345. ACM, New York (2010)
Fowler M.: Refactoring: Improving the Design of Existing Code. Addison-Wesley, Reading (1999)
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)
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)
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)
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
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)
Kermeta. http://www.kermeta.org/
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)
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)
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)
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)
Kolovos, D.S., Paige, R.F., Polack F.: The Epsilon Transformation Language. In: ICMT’08. LNCS, vol. 5063, pp. 46–60. Springer, Berlin (2008)
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)
Kühne, T.: An observer-based notion of model inheritance. In: MoDELS’10. Part I, LNCS, vol. 6394, pp. 31–45. Springer, Berlin (2010)
Moha, N. Mahé, V. Barais, O. Jézéquel. J.-M.: Generic model refactorings. In: MoDELS’09. LNCS, vol. 5795, pp. 628–643 (2009)
Murata T.: Petri nets: properties, analysis and applications. Proc. IEEE 77(4), 541–580 (1989)
OMG. UML 2.3 specification. http://www.omg.org/spec/UML/2.3/
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)
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)
Sen, S., Moha, Baudry, B. Jézéquel. J.-M.: Meta-model pruning. In: MoDELS. LNCS, vol. 5795, pp. 32–46 (2009)
Steel J., Jézéquel J.-M.: On model typing. SoSyM 6(4), 401–413 (2007)
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/
Stepanov A., Lee M.: The standard template library. Technical Report 95-11(R1), HP Laboratories (1995)
Stepanov A., McJones P.: Elements of Programming. Addison-Wesley, Reading (2009)
Stroustrup,B.: The C++0x remove concepts decision. Dr.Dobbs (2009) http://www.ddj.com/cpp/218600111
Sun. Java Metadata Interface. http://java.sun.com/products/jmi/index.jsp
Author information
Authors and Affiliations
Corresponding author
Additional information
Communicated by Dr. Gabor Karsai.
Rights 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
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10270-011-0203-2