A-posteriori typing for Model-Driven Engineering

Model-Driven Engineering is founded on the ability to create and process models conformant to a meta-model. Hence, meta-model classes are used in two ways: as templates to create objects, and as classifiers for them. While these two aspects are inherently tied in most meta-modelling approaches, in this paper, we discuss the benefits of their decoupling. Thus, we rely on standard mechanisms for object creation and propose a-posteriori typing as a means to reclassify objects and enable multiple, partial, dynamic typings. This approach enhances flexibility, permitting unanticipated reutilization (as existing model management operations defined for a meta-model can be reused with other models once they get reclassified), as well as model transformation by reclassification. We show the underlying theory behind the introduced concepts, and illustrate its applicability using our MetaDepth meta-modelling tool.

[1]  Richard F. Paige,et al.  The Epsilon Object Language (EOL) , 2006, ECMDA-FA.

[2]  Sophia Drossopoulou,et al.  More dynamic object reclassification: Fickle∥ , 2002, TOPL.

[3]  Michael Schrefl,et al.  Extending object-oriented systems with roles , 1996, TOIS.

[4]  Esther Guerra,et al.  A Component Model for Model Transformations , 2014, IEEE Transactions on Software Engineering.

[5]  Richard F. Paige,et al.  The Design of a Conceptual Framework and Technical Infrastructure for Model Management Language Engineering , 2009, 2009 14th IEEE International Conference on Engineering of Complex Computer Systems.

[6]  Juan de Lara,et al.  When and How to Use Multilevel Modelling , 2014, ACM Trans. Softw. Eng. Methodol..

[7]  Alexander Borgida,et al.  Conceptual Modeling of Information Systems , 1985, On Knowledge Base Management Systems.

[8]  Jim Steel,et al.  On Model Subtyping , 2012, ECMFA.

[9]  Thomas Kühne,et al.  On model compatibility with referees and contexts , 2013, Software & Systems Modeling.

[10]  Jim Steel,et al.  On model typing , 2007, Software & Systems Modeling.

[11]  Juan de Lara,et al.  Deep Meta-modelling with MetaDepth , 2010, TOOLS.

[12]  Krzysztof Czarnecki,et al.  Intermodeling, Queries, and Kleisli Categories , 2012, FASE.

[13]  C. Atkinson,et al.  Supporting Constructive and Exploratory Modes of Modeling in Multi-Level Ontologies , 2011 .

[14]  Martin Gogolla,et al.  From UML and OCL to relational logic and back , 2012, MODELS'12.

[15]  Steffen Zschaler,et al.  Towards Constraint-Based Model Types: A Generalised Formal Foundation for Model Genericity , 2014, VAO '14.

[16]  Hartmut Ehrig,et al.  Transformation of Type Graphs with Inheritance for Ensuring Security in E-Government Networks , 2009, FASE.

[17]  Marianne Huchard,et al.  Integrating Shadows in Model Driven Engineering for Agile Software Development , 2008, 2008 International Conference on Complex, Intelligent and Software Intensive Systems.

[18]  Gilad Bracha Pluggable Type Systems , 2004 .

[19]  Juan de Lara,et al.  Towards automating the analysis of integrity constraints in multi-level models , 2014, MULTI@MoDELS.

[20]  Juan de Lara,et al.  Generic meta-modelling with concepts, templates and mixin layers , 2010, MODELS'10.