Abstract
Model-Driven Engineering (MDE) promotes models as the primary artefacts in the software development process, from which code for the final application is derived. Standard approaches to MDE (like those based on MOF or EMF) advocate a two-level metamodelling setting where Domain-Specific Modelling Languages (DSMLs) are defined through a metamodel that is instantiated to build models at the metalevel below.
Multilevel modelling (also called deep metamodelling) extends the standard approach to metamodelling by enabling modelling at an arbitrary number of metalevels, not necessarily two. Proposers of multilevel modelling claim this leads to simpler model descriptions in some situations, although its applicability has been scarcely evaluated. Thus, practitioners may find it difficult to discern when to use it and how to implement multilevel solutions in practice.
In this article, we discuss those situations where the use of multilevel modelling is beneficial, and identify recurring patterns and idioms. Moreover, in order to assess how often the identified patterns arise in practice, we have analysed a wide range of existing two-level DSMLs from different sources and domains, to detect when their elements could be rearranged in more than two metalevels. The results show this scenario is not uncommon, while in some application domains (like software architecture and enterprise/process modelling) pervasive, with a high average number of pattern occurrences per metamodel.
- Jose M. Alvarez, Andy Evans, and Paul Sammut. 2001. Mapping between levels in the metamodel architecture. In Proceedings of the 4th International Conference on the Unified Modeling Language, Modeling Languages, Concepts, and Tools (UML'01). Lecture Notes in Computer Science, vol. 2185, Springer, 34--46. Google ScholarDigital Library
- Thomas Aschauer, Gerd Dauenhauer, and Wolfgang Pree. 2009. Representation and traversal of large clabject models. In Proceedings of the 12th International Conference on Model Driven Engineering Languages and Systems (MoDELS'09). Lecture Notes in Computer Science, vol. 5795, Springer, 17--31. Google ScholarDigital Library
- Timo Asikainen and Tomi Mannisto. 2009. Nivel: A metamodelling language with a formal semantics. Softw. Syst. Model. 8, 4, 521--549.Google ScholarCross Ref
- Colin Atkinson. 1997. Meta-modeling for distributed object environments. In Proceedings of the 1st International Conference on Enterprise Distributed Object Computing (EDOC'97). IEEE Computer Society, 90--101. Google ScholarDigital Library
- Colin Atkinson, Ralph Gerbig, and Bastian Kennel. 2012a. On-the-fly emendation of multi-level models. In Proceedings of the 8th European Conference on Modelling Foundations and Applications (ECMFA'12). Lecture Notes in Computer Science, vol. 7349, Springer, 194--209. Google ScholarDigital Library
- Colin Atkinson, Ralph Gerbig, and Bastian Kennel. 2012b. Symbiotic general-purpose and domain-specific languages. In Proceedings of the 34th International Conference on Software Engineering (ICSE'12). IEEE, 1269--1272. Google ScholarDigital Library
- Colin Atkinson, Ralph Gerbig, and Christian Tunjic. 2012c. Towards multi-level aware model transformations. In Proceedings of the 5th International Conference on Theory and Practice of Model Transformations (ICMT'12). Lecture Notes in Computer Science, vol. 7307, Springer, 208--223. Google ScholarDigital Library
- Colin Atkinson, Matthias Gutheil, and Bastian Kennel. 2009. A flexible infrastructure for multilevel language engineering. IEEE Trans. Soft. Engin. 35, 6, 742--755. Google ScholarDigital Library
- Colin Atkinson, Bastian Kennel, and Bjorn Goß. 2010. The level-agnostic modeling language. In Proceedings of the 3rd International Conference on Software Language Engineering (SLE'10). Lecture Notes in Computer Science, vol. 6563, Springer, 266--275. Google ScholarDigital Library
- Colin Atkinson and Thomas Kuhne. 2001. The essence of multilevel metamodeling. In Proceedings of the 4th International Conference on the Unified Modeling Language, Modeling Languages, Concepts, and Tools (UML'01). Lecture Notes in Computer Science, vol. 2185, Springer, 19--33. Google ScholarDigital Library
- Colin Atkinson and Thomas Kuhne. 2002. Rearchitecting the UML infrastructure. ACM Trans. Model. Comput. Simul. 12, 4, 290--321. Google ScholarDigital Library
- Colin Atkinson and Thomas Kuhne. 2003. Model-driven development: A metamodeling foundation. IEEE Softw. 20, 5, 36--41. Google ScholarDigital Library
- Colin Atkinson and Thomas Kuhne. 2008. Reducing accidental complexity in domain models. Softw. Syst. Model. 7, 3, 345--359.Google ScholarCross Ref
- AtlanEcore. 2014. AtlanEcore metamodel zoo. http://www.emn.fr/z-info/atlanmod/index.php/Ecore.Google Scholar
- Mario R. Barbacci and Charles B. Weinstock. 1998. Mapping MetaH into ACME. Tech. rep. CMU/SEI-98-SR-006, Software Engineering Institute, Carnegie Mellon University.Google Scholar
- Maria Bergholtz, Paul Johannesson, and Petia Wohed. 2005. UEML: Providing requirements and extensions for interoperability challenges. http://people.dsv.su.se/∼petia/Publications/EI2N05.pdf.Google Scholar
- Stefano Ceri, Marco Brambilla, and Piero Fraternali. 2009. The history of WebML. Lessons learned from 10 years of model-driven development of web applications. In Conceptual Modeling: Foundations and Applications. Lecture Notes in Computer Science, vol. 5600, Springer, 273--292. Google ScholarDigital Library
- Hyun Cho and Jeff Gray. 2011. Design patterns for metamodels. In Proceedings of the Compilation of the co-located SPLASH Workshops (SPLASH'11). ACM Press, New York, 25--32. Google ScholarDigital Library
- CloudML. 2014. http://cloudml.org/.Google Scholar
- Peter Coad. 1992. Object-oriented patterns. Comm. ACM 35, 9, 152--159. Google ScholarDigital Library
- Krzysztof Czarnecki, Simon Helsen, and Ulrich W. Eisenecker. 2005. Formalizing cardinality-based feature models and their specialization. Softw. Process. Improv. Pract. 10, 1, 7--29.Google ScholarCross Ref
- Mohamed Dahchour. 1998. Formalizing materialization using a metaclass approach. In Proceedings of the 10th International Conference on Advanced Information Systems Engineering (CAiSE'98). Lecture Notes in Computer Science, vol. 1413, Springer, 401--421. Google ScholarDigital Library
- Juan de Lara and Esther Guerra. 2010. Deep meta-modelling with metadepth. In Proceedings of the 48th International Conference on Objects, Models, Components, Patterns (TOOLS'10). Lecture Notes in Computer Science, vol. 6141, Springer, 1--20. Google ScholarDigital Library
- Juan de Lara and Esther Guerra. 2012. Domain-specific textual meta-modelling languages for model driven engineering. In Proceedings of the 8th European Conference on Modelling Foundations and Applications (ECMFA'12). Lecture Notes in Computer Science, vol. 7349, Springer, 259--274. Google ScholarDigital Library
- Juan de Lara, Esther Guerra, and Jesus Sanchez Cuadrado. 2014a. Model-driven engineering with domain-specific meta-modelling languages. Softw. Syst. Model. (to appear). Google ScholarDigital Library
- Juan de Lara, Esther Guerra, Ruth Cobos, and Jaime Moreno-Llorena. 2014b. Extending deep meta-modelling for practical model-driven engineering. Comput. J. 57, 1, 36--58.Google ScholarCross Ref
- Andreas Demuth, Roberto E. Lopez-Herrejon, and Alexander Egyed. 2011. Cross-layer modeler: A tool for flexible multilevel modeling with consistency checking. In Proceedings of the 19th ACM SIGSOFT Symposium and the 13th European Conference on Foundations of Software Engineering (ESEC/FSE'11). ACM Press, New York, 452--455. Google ScholarDigital Library
- DoDaf. 2010. The dodaf architecture framework version 2.02. http://dodcio.defense.gov/TodayinCIO/DoDArchitectureFramework.aspx.Google Scholar
- Marco Dorigo and Luca Maria Gambardella. 1997. Ant colony system: A cooperative learning approach to the traveling salesman problem. IEEE Trans. Evolut. Comput. 1, 1, 53--66. Google ScholarDigital Library
- Nikolaos Drivalos, Dimitrios S. Kolovos, Richard F. Paige, and Kiran Jude Fernandes. 2008. Engineering a DSL for software traceability. In Software Language Engineering. Lecture Notes in Computer Science, vol. 5452, Springer, 151--167.Google Scholar
- Owen Eriksson, Brian Henderson-Sellers, and Par J. Agerfalk. 2013. Ontological and linguistic meta-modelling revisited: A language use approach. Inf. Softw. Technol. 55, 12, 2099--2124. Google ScholarDigital Library
- Angelina Espinoza and Juan Garbajosa. 2011. A study to support agile methods more effectively through traceability. Innov. Syst. Softw. Engin. 7, 1, 53--69. Google ScholarDigital Library
- Farah Fourati. 2010. Une approche idm de transformation exogene de wright vers ada. Master's thesis, Ecole Nationale d'Ingenieurs de Sfax.Google Scholar
- Jesus Gallardo, Crescencio Bravo, and Miguel A. Redondo. 2012. A model-driven development method for collaborative modeling tools. J. Netw. Comput. Appl. 35, 3, 1086--1105. Google ScholarDigital Library
- Erich Gamma, Richard Helm, Ralph Johnson, and John M. Vlissides. 1994. Design Patterns. Elements of Reusable Object-Oriented Software. Addison-Wesley. Google ScholarDigital Library
- Charles F. Goldfarb. 1991. The SGML Handbook. Oxford University Press. Google ScholarDigital Library
- Cesar Gonzalez-Perez and Brian Henderson-Sellers. 2006. A powertype-based metamodelling framework. Softw. Syst. Model. 5, 1, 72--90.Google ScholarCross Ref
- Cesar Gonzalez-Perez and Brian Henderson-Sellers. 2007. Modelling software development methodologies: A conceptual foundation. J. Syst. Softw. 80, 11, 1778--1796. Google ScholarDigital Library
- Gregory Gutin, Abraham Punnen, Alexander Barvinok, Edward Kh. Gimadi, and Anatoliy I. Serdyukov. 2002. The traveling salesman problem and its variations. http://www.cs.rhbnc.ac.uk/∼gutin/paperstsp/chGYZ.pdf.Google Scholar
- Markus Herrmannsdorfer and Benjamin Hummel. 2010. Library concepts for model reuse. Electron. Not. Theor. Comput. Sci. 253, 7, 121--134. Google ScholarDigital Library
- Matthias Jarke, Rainer Gallersdorfer, Manfred A. Jeusfeld, and Martin Staudt. 1995. ConceptBase -- A deductive object base for meta data management. J. Intell. Inf. Syst. 4, 2, 167--192. Google ScholarDigital Library
- Frederic Jouault and Jean Bezivin. 2006. KM3: A DSL for metamodel specification. In Proceedings of the 8th IFIP WG 6.1 International Conference on Formal Methods for Open Object-Based Distributed Systems (FMOODS'06). Lecture Notes in Computer Science, vol. 4037, Springer, 171--185. Google ScholarDigital Library
- Gabor Karsai, Miklos Maroti, Akos Ledeczi, Jeff Gray, and Janos Sztipanovits. 2004. Composition and cloning in modeling and meta-modeling. IEEE Trans. Control Syst. Technol. 12, 2, 263--278.Google ScholarCross Ref
- Gregor Kiczales and Jim Des Rivieres. 1991. The Art of the Metaobject Protocol. MIT Press, Cambridge, MA. Google ScholarDigital Library
- Thomas Kuhne and Daniel Schreiber. 2007. Can programming be liberated from the two-level style? Multi-level programming with deepjava. In Proceedings of the 22nd Annual ACM SIGPLAN Conference on Object-Oriented Programming Systems and Applications (OOPSLA'07). ACM Press, New York, 229--244. Google ScholarDigital Library
- Alfons Laarman and Ivan Kurtev. 2009. Ontological metamodeling with explicit instantiation. In Proceedings of the 2nd International Conference on Software Language Engineering (SLE'09). Lecture Notes in Computer Science, vol. 5969. Springer, 174--183. Google ScholarDigital Library
- Yngve Lamo, Xiaoliang Wang, Florian Mantz, ØYvind Bech, Anders Sandven, and Adrian Rutle. 2013. DPF workbench: A multi-level language workbench for MDE. Proc. Estonian Acad. Sci. 62, 1, 3--15.Google ScholarCross Ref
- Philip Langer, Konrad Wieland, Manuel Wimmer, and Jordi Cabot. 2012. EMF profiles: A lightweight extension approach for EMF models. J. Object Technol. 11, 1, 1--29.Google ScholarCross Ref
- Gilbert LaPorte. 1997. Modeling and solving several classes of arc routing problems as traveling salesman problems. Comput. Oper. Res. 24, 11, 1057--1061. Google ScholarDigital Library
- Tihamer Levendovszky, Laszlo Lengyel, Gergely Mezei, and Hassan Charaf. 2005. A systematic approach to metamodeling environments and model transformation systems in VMTS. Electron. Not. Theor. Comput. Sci. 127, 1, 65--75. Google ScholarDigital Library
- Fernando D. Lyardet. 1997. The dynamic template pattern. http://hillside.net/plop/plop97/Proceedings/lyardet.pdf.Google Scholar
- Robert C. Martin, Dirk Riehle, and Frank Buschmann. 1997. Pattern Languages of Program Design 3. Addison-Wesley. Google ScholarDigital Library
- John Mylopoulos, Alexander Borgida, Matthias Jarke, and Manolis Koubarakis. 1990. Telos: Representing knowledge about information systems. ACM Trans. Inf. Syst. 8, 4, 325--362. Google ScholarDigital Library
- James Odell. 1994. Power types. J. Object Orient. Program. 7, 2, 8--12.Google Scholar
- OMG. 2002a. Bibliographic query service specification 1.0. http://www.omg.org/spec/BQS/1.0/.Google Scholar
- OMG. 2002b. Negotiation facility 1.0. http://www.omg.org/spec/NEG/1.0/.Google Scholar
- OMG. 2003. CWM 1.1. http://www.omg.org/spec/CWM/1.1/.Google Scholar
- OMG. 2004a. EDOC 1.0. http://www.omg.org/spec/EDOC/1.0/.Google Scholar
- OMG. 2004b. UML profile for eai 1.0. http://www.omg.org/spec/EAI/1.0/.Google Scholar
- OMG. 2005a. DAIS 1.1. http://www.omg.org/spec/DAIS/1.1/.Google Scholar
- OMG. 2005b. RAS 2.2. http://www.omg.org/spec/RAS/2.2/.Google Scholar
- OMG. 2005c. SPTP 1.1. http://www.omg.org/spec/SPTP/1.1/.Google Scholar
- OMG. 2005d. UML profile for corba components 1.0. http://www.omg.org/spec/CCMP/1.0/.Google Scholar
- OMG. 2005e. HDAIS 1.0. http://www.omg.org/spec/HDAIS/1.0/.Google Scholar
- OMG. 2007. ITPMF 1.0. http://www.omg.org/spec/ITPMF/1.0/.Google Scholar
- OMG. 2008a. SPEM 2.0. http://www.omg.org/spec/SPEM/2.0/.Google Scholar
- OMG. 2008b. BPDM 1.0. http://www.omg.org/spec/BPDM/1.0/.Google Scholar
- OMG. 2008c. QFTP 1.1. http://www.omg.org/spec/QFTP/1.1/.Google Scholar
- OMG. 2009. ODM 1.0. http://www.omg.org/spec/ODM/1.0/.Google Scholar
- OMG. 2010. EXPRESS 1.0. http://www.omg.org/spec/EXPRESS/1.0/.Google Scholar
- OMG. 2011a. KDM 1.3. http://www.omg.org/spec/KDM/1.3/.Google Scholar
- OMG. 2011b. PLM services 2.1. http://www.omg.org/spec/PLM/2.1/.Google Scholar
- OMG. 2011c. RMS 1.0. http://www.omg.org/spec/RMS/1.0/.Google Scholar
- OMG. 2011d. SOPES 1.0. http://www.omg.org/spec/SOPES/1.0/.Google Scholar
- OMG. 2011e. ASTM 1.0. http://www.omg.org/spec/ASTM/1.0/.Google Scholar
- OMG. 2011f. MARTE 1.1. http://www.omg.org/spec/MARTE/1.1/.Google Scholar
- OMG. 2011g. UML 2.4.1. http://www.omg.org/spec/UML/2.4.1/.Google Scholar
- OMG. 2012a. DD 1.0. http://www.omg.org/spec/DD/1.0/.Google Scholar
- OMG. 2012b. SoaML 1.0.1. http://www.omg.org/spec/SoaML/1.0.1/.Google Scholar
- OMG. 2012c. SySML 1.3. http://www.omg.org/spec/SysML/1.3/.Google Scholar
- OMG. 2012d. OCL 2.3.1. http://www.omg.org/spec/OCL/2.3.1/.Google Scholar
- OMG. 2012e. SMM 1.0. http://www.omg.org/spec/SMM/1.0/.Google Scholar
- OMG. 2013a. AFP 1.0 beta 2. http://www.omg.org/spec/AFP/1.0/Beta2/.Google Scholar
- OMG. 2013b. BPMNProfile 1.0 beta 1. http://www.omg.org/spec/BPMNProfile/1.0/Beta1/.Google Scholar
- OMG. 2013c. ReqIF 1.1. http://www.omg.org/spec/ReqIF/1.1/.Google Scholar
- OMG. 2013d. SACM 1.0. http://www.omg.org/spec/SACM/1.0/.Google Scholar
- OMG. 2013e. SMOF 1.0. http://www.omg.org/spec/SMOF/1.0/.Google Scholar
- OMG. 2013f. BPMN 2.0.1. http://www.omg.org/spec/BPMN/2.0.1/.Google Scholar
- OMG. 2013g. CMMN 1.0 - Beta 1. http://www.omg.org/spec/CMMN/1.0/Beta1/.Google Scholar
- OMG. 2013h. FUML 1.1. http://www.omg.org/spec/FUML/1.1/.Google Scholar
- OMG. 2013i. MOF 2.4.1. http://www.omg.org/spec/MOF/2.4.1/.Google Scholar
- OMG. 2013j. UPDM 2.1. http://www.omg.org/spec/UPDM/2.1/.Google Scholar
- OMG. 2013k. UTP 1.2. http://www.omg.org/spec/UTP/1.2/.Google Scholar
- OMG. 2014. Summary of omg specifications. http://www.omg.org/spec/.Google Scholar
- Openehr. 2014. http://www.openehr.org/.Google Scholar
- Richard F. Paige, Dimitrios S. Kolovos, Louis M. Rose, Nicholas Drivalos, and Fiona A. C. Polack. 2009. The design of a conceptual framework and technical infrastructure for model management language engineering. In Proceedings of the 14th IEEE International Conference on Engineering of Complex Computer Systems (ICECCS'09). IEEE Computer Society, 162--171. Google ScholarDigital Library
- Christos H. Papadimitriou and Kenneth Steiglitz. 1998. Combinatorial Optimization: Algorithms and Complexity. Dover. Google ScholarDigital Library
- ReMoDD. 2014. The repository for model-driven development. http://www.cs.colostate.edu/remodd.Google Scholar
- Dirk Riehle, Michel Tilman, and Ralph Johnson. 2000. Dynamic object model. Tech. rep. WUCS-00-29, Washington University.Google Scholar
- G. Lawrence Sanders. 1995. Data Modeling. Course Technology. Google ScholarDigital Library
- Marcos Lopez Sanz and Esperanza Marcos. 2012. ArchiMeDeS: A model-driven framework for the specification of service-oriented architectures. Inf. Syst. 37, 3, 257--268. Google ScholarDigital Library
- Christian Schafer, Thomas Kuhn, and Mario Trapp. 2011. A pattern-based approach to DSL development. In Proceedings of the International Design Structure Matrix Conference (DSM'11). ACM Press, New York, 39--46. Google ScholarDigital Library
- Diomidis Spinellis. 2001. Notable design patterns for domain-specific languages. J. Syst. Softw. 56, 1, 91--99. Google ScholarDigital Library
- Dave Steinberg, Frank Budinsky, Marcelo Paternostro, and Ed Merks. 2008. EMF: Eclipse Modeling Framework, 2nd Ed. Addison-Wesley Professional, Upper Saddle River, NJ. Google ScholarDigital Library
- UsiXML. 2014. UsiXML 1.0: User interface extended markup language. http://www.usixml.org.Google Scholar
- Daniel Varro and Andras Pataricza. 2003. VPM: A visual, precise and multilevel metamodeling framework for describing mathematical domains and UML. Softw. Syst. Model. 2, 3, 187--210.Google ScholarDigital Library
- Markus Volter. 2013. DSL Engineering - Designing, Implementing and Using Domain-Specific Languages. CreateSpace Independent.Google Scholar
- Markus Volter and Thomas Stahl. 2006. Model-Driven Software Development. John Wiley and Sons.Google Scholar
- Bernhard Volz and Stefan Jablonski. 2010. Towards an open meta modeling environment. In Proceedings of the 10th Workshop on Domain-Specific Modeling (DSM'10). ACM Press, New York. Google ScholarDigital Library
- W3C. 2012. OWL 2 web ontology language document overview. http://www.w3.org/TR/owl2-overview/.Google Scholar
- Michael J. Wooldridge. 2009. An Introduction to MultiAgent System, 2nd Ed. Wiley. Google ScholarDigital Library
- Joseph W. Yoder and Ralph E. Johnson. 2002. The adaptive object-model architectural style. http://www.adaptiveobjectmodel.com/WICSA3/ArchitectureOfAOMsWICSA3.pdf.Google Scholar
Index Terms
- When and How to Use Multilevel Modelling
Recommendations
Combining unit and specification-based testing for meta-model validation and verification
Meta-models play a cornerstone role in Model-Driven Engineering as they are used to define the abstract syntax of modelling languages, and so models and all sorts of model transformations depend on them. However, there are scarce tools and methods ...
Facet-oriented modelling: open objects for model-driven engineering
SLE 2018: Proceedings of the 11th ACM SIGPLAN International Conference on Software Language EngineeringModel-driven engineering (MDE) promotes models as the principal assets in software projects. Models are built using a modelling language whose syntax is defined by a metamodel. Hence, objects in models are typed by a metamodel class, and this typing ...
Abstracting modelling languages: a reutilization approach
CAiSE'12: Proceedings of the 24th international conference on Advanced Information Systems EngineeringModel-Driven Engineering automates the development of information systems. This approach is based on the use of Domain-Specific Modelling Languages (DSMLs) for the description of the relevant aspects of the systems to be built. The increasing complexity ...
Comments