Typing and Subtyping of Metamodels

Henning Berg, Birger Møller-pedersen

Abstract

In model-driven engineering, models are considered first-class entities. Model-driven engineering has been around for over a decade. Still, there has not been much work on how to type models or metamodels, which is important to realise true model-driven software development. In this paper, we discuss how a metamodel can be typed by means of an enclosing class whose state can be utilised by tools such as editors and interpreters. This allows using established object-oriented mechanisms on the metamodel level and supports specialisation of metamodels.

References

  1. Berg, H. and Mller-Pedersen, B. (2013). Type-safe symmetric composition of metamodels using templates. In 7th International Workshop on System Analysis and Modelling (SAM 7812), LNCS vol. 7744, pp.160-178. Springer (2013).
  2. Berg, H., Mller-Pedersen, B., and Krogdahl, S. (2011). Advancing generic metamodels. In SPLASH 7811 Workshops Proceedings, pp.19-24. ACM Press (2011).
  3. Cho, H. and Gray, J. (2011). Design patterns for metamodels. In SPLASH 7811 Workshops Proceedings, pp.25- 32. ACM Press (2011).
  4. de Lara, J. and Guerra, E. (2011). From types to type requirements: Genericity for model-driven engineering. In Software and Systems Modeling. Springer (2011).
  5. EclipseFoundation, T. (2013a). Eclipse modeling framework (emf).
  6. EclipseFoundation, T. (2013b). Epsilon object language (eol).
  7. Fabro, M. D. D., Bzivin, J., and Valduriez, P. (2006). Weaving models with the eclipse amw plugin. In Eclipse Modeling Symposium, Eclipse Summit Europe 2006.
  8. Favre, J.-M. (2004). Towards a basic theory to model model driven engineering. In 3rd International Workshop on Software Model Engineering (WISME 7804).
  9. Fleurey, F., Baudry, B., France, R., and Ghosh, S. (2008). A generic approach for automatic model composition. In Models in Software Engineering, LNCS vol. 5002, pp.7-15. Springer (2008).
  10. Groher, I. and Voelter, M. (2007). Xweave - models and aspects in concert. In 10th International Workshop on Aspect-Oriented Modeling (AOM 7807) pp.35-40. ACM Press (2007).
  11. Guy, C., Combemale, B., Derrien, S., Steel, J., and Jzquel, J.-M. (2012). On model subtyping. In Modelling Foundations and Applications, LNCS vol. 7349, pp.400-415. Springer (2012).
  12. Kent, S. (2002). Model driven engineering. In Integrated Formal Methods, LNCS vol. 2335, pp.286-298. Springer (2002).
  13. Khne, T. (2006). Matters of (meta-) modeling. In Software and Systems Modeling, vol. 5, no. 4, pp.387-394. Springer (2006).
  14. Khne, T. (2010). An observer-based notion of model inheritance. In Model Driven Engineering Languages and Systems, LNCS vol. 6394, pp.31-45. Springer (2010).
  15. Kolovos, D., Paige, R., and Polack, F. (2006). Merging models with the epsilon merging language (eml). In Model Driven Engineering Languages and Systems, LNCS vol. 4199, pp.215-229. Springer (2006).
  16. Liskov, B. and Wing, J. (1994). A behavioral notion of subtyping. In ACM Transactions on Programming Languages and Systems, vol. 16, no. 6., pp.1811-1841. ACM Press (1994).
  17. Madsen, O. L. and Mller-Pedersen, B. (1989). Virtual classes - a powerful mechanism in object-oriented programming. In Proceedings of OOPSLA 7889.
  18. Monperrus, M., Beugnard, A., and Champeau, J. (2009). A definition of abstraction level for metamodels. In 16th Annual IEEE International Conference and Workshop on the Engineering of Computer Based Systems (ECBS 7809), pp.315-320, IEEE Computer Society (2009).
  19. Morin, B., Klein, J., and Barais, O. (2008). A generic weaver for supporting product lines. In 13th International Workshop on Early Aspects (EA 7808), pp.11-18. ACM Press (2008).
  20. Morin, B., Perrouin, G., Lahire, P., Barais, O., Vanwormhoudt, G., and Jzquel, J.-M. (2009). Weaving variability into domain metamodels. In Model Driven Engineering Languages and Systems, LNCS vol. 5795, pp.690-705. Springer (2009).
  21. Muller, P.-A., Fleurey, F., and Jzquel, J.-M. (2005). Weaving executability into object-oriented meta-languages. In Model Driven Engineering Languages and Systems, LNCS vol. 3173, pp.264-278. Springer (2005).
  22. OMG (2011). Omg issue 7603, received 27th of july 2004, closed 27th of may 2011.
  23. OMG (2013). Meta object facility (mof) core specification.
  24. Steel, J. and Jzquel, J.-M. (2007). On model typing. In Software and Systems Modeling, vol. 6, no. 4, pp.401- 413. Springer (2007).
Download


Paper Citation


in Harvard Style

Berg H. and Møller-pedersen B. (2014). Typing and Subtyping of Metamodels . In Proceedings of the 2nd International Conference on Model-Driven Engineering and Software Development - Volume 1: MODELSWARD, ISBN 978-989-758-007-9, pages 111-118. DOI: 10.5220/0004713901110118


in Bibtex Style

@conference{modelsward14,
author={Henning Berg and Birger Møller-pedersen},
title={Typing and Subtyping of Metamodels},
booktitle={Proceedings of the 2nd International Conference on Model-Driven Engineering and Software Development - Volume 1: MODELSWARD,},
year={2014},
pages={111-118},
publisher={SciTePress},
organization={INSTICC},
doi={10.5220/0004713901110118},
isbn={978-989-758-007-9},
}


in EndNote Style

TY - CONF
JO - Proceedings of the 2nd International Conference on Model-Driven Engineering and Software Development - Volume 1: MODELSWARD,
TI - Typing and Subtyping of Metamodels
SN - 978-989-758-007-9
AU - Berg H.
AU - Møller-pedersen B.
PY - 2014
SP - 111
EP - 118
DO - 10.5220/0004713901110118