Abstract
In order to be able to specialise metamodels and thereby enhance reusability of metamodels, we introduce the notions of metamodel types and subtypes. Model-driven engineering considers models and metamodels as first-class entities, however, there has not been much work on how to type models or metamodels. In this paper we discuss how a metamodel can be enclosed within a class and how this enclosing class defines the type for the metamodel. This allows us to use established object-oriented mechanisms on the metamodel level and supports specialisation of metamodels.
Keywords
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
Note that the current version of EMOF/Kermeta does not support nesting of classes as discussed in this paper.
References
Caskurlu, B.: Model driven engineering. In: Butler, M., Petre, L., Sere, K. (eds.) IFM 2002. LNCS, vol. 2335, p. 286. Springer, Heidelberg (2002)
Kühne, T.: An observer-based notion of model inheritance. In: Petriu, D.C., Rouquette, N., Haugen, Ø. (eds.) MODELS 2010, Part I. LNCS, vol. 6394, pp. 31–45. Springer, Heidelberg (2010)
Kühne, T.: Matters of (Meta-) modeling. Softw. Syst. Model. 5(4), 387–394 (2006)
Steel, J., Jézéquel, J.-M.: On model typing. Softw. Syst. Model. 6(4), 401–413 (2007)
Didonet Del Fabro, M., Bézivin, J., Valduriez, P.: Weaving models with the eclipse AMW plugin. In: Eclipse Modeling Symposium, Eclipse Summit Europe (2006). http://ssei.pbworks.com/f/Del+Fabro.Weaving+Models+with+the+Eclipse+ AMW+plugin.pdf
Kolovos, D.S., Paige, R.F., Polack, F.A.C.: Merging models with the epsilon merging language (EML). In: Wang, J., Whittle, J., Harel, D., Reggio, G. (eds.) MoDELS 2006. LNCS, vol. 4199, pp. 215–229. Springer, Heidelberg (2006)
Groher, I., Voelter, M.: XWeave - models and aspects in concert. In: 10th International Workshop on Aspect-Oriented Modeling (AOM 2007), pp. 35–40. ACM Press (2007)
Fleurey, F., Baudry, B., France, R.B., Ghosh, S.: A generic approach for automatic model composition. In: Giese, H. (ed.) MODELS 2008. LNCS, vol. 5002, pp. 7–15. Springer, Heidelberg (2008)
Morin, B., Perrouin, G., Lahire, P., Barais, O., Vanwormhoudt, G., Jézéquel, J.-M.: Weaving variability into domain metamodels. In: Schürr, A., Selic, B. (eds.) MODELS 2009. LNCS, vol. 5795, pp. 690–705. Springer, Heidelberg (2009)
Morin, B., Klein, J., Barais, O.: A generic weaver for supporting product lines. In: 13th International Workshop on Early Aspects (EA 2008), pp. 11–18. ACM Press (2008)
The Eclipse Foundation: Eclipse Modeling Framework (EMF). http://www.eclipse.org/modeling/emf
Muller, P.-A., Fleurey, F., Jézéquel, J.-M.: Weaving executability into object-oriented meta-languages. In: Briand, L.C., Williams, C. (eds.) MoDELS 2005. LNCS, vol. 3713, pp. 264–278. Springer, Heidelberg (2005)
The Eclipse Foundation: Epsilon Object Language (EOL). http://www.eclipse.org/epsilon/doc/eol
Object Management Group: Meta Object Facility (MOF) Core Specification. http://www.omg.org/mof
Monperrus, M., Beugnard, A., Champeau, J.: A definition of abstraction level for metamodels. In: 16th Annual IEEE International Conference and Workshop on the Engineering of Computer Based Systems (ECBS 2009), pp. 315–320. IEEE Computer Society (2009)
Favre, J-M.: Towards a basic theory to model model driven engineering. In: 3rd International Workshop on Software Model Engineering (WISME 2004) (2004)
Cho, H., Gray, J.: Design patterns for metamodels. In: SPLASH 2011 Workshops Proceedings, pp. 25–32. ACM Press (2011)
Liskov, B.H., Wing, J.M.: A behavioral notion of subtyping. ACM Trans. Program. Lang. Syst. 16(6), 1811–1841 (1994)
Madsen, O.L., Møller-Pedersen, B.: Virtual classes - a powerful mechanism in object-oriented programming. In: Proceedings of OOPSLA 1989. ACM (1989)
Berg, H., Møller-Pedersen, B., Krogdahl, S.: Advancing generic metamodels. In: SPLASH 2011 Workshops Proceedings, pp. 19–24. ACM Press (2011)
Berg, H., Møller-Pedersen, B.: Type-safe symmetric composition of metamodels using templates. In: Haugen, Ø., Reed, R., Gotzhein, R. (eds.) SAM 2012. LNCS, vol. 7744, pp. 160–178. Springer, Heidelberg (2013)
Guy, C., Combemale, B., Derrien, S., Steel, J.R.H., Jézéquel, J.-M.: On model subtyping. In: Vallecillo, A., Tolvanen, J.-P., Kindler, E., Störrle, H., Kolovos, D. (eds.) ECMFA 2012. LNCS, vol. 7349, pp. 400–415. Springer, Heidelberg (2012)
de Lara, J., Guerra, E.: From Types to Type Requirements: Genericity for Model-Driven Engineering. In: Software and Systems Modeling. Springer (2011)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2015 Springer International Publishing Switzerland
About this paper
Cite this paper
Berg, H., Møller-Pedersen, B. (2015). Specialisation of Metamodels Using Metamodel Types. In: Hammoudi, S., Pires, L., Filipe, J., das Neves, R. (eds) Model-Driven Engineering and Software Development. MODELSWARD 2014. Communications in Computer and Information Science, vol 506. Springer, Cham. https://doi.org/10.1007/978-3-319-25156-1_6
Download citation
DOI: https://doi.org/10.1007/978-3-319-25156-1_6
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-25155-4
Online ISBN: 978-3-319-25156-1
eBook Packages: Computer ScienceComputer Science (R0)