Publication:
When and How to Use Multilevel Modelling

Loading...
Thumbnail Image
Date
2014
relationships.isAuthorOfPublication
relationships.isSecondaryAuthorOf
relationships.isDirectorOf
Authors
de Lara, Juan ; Guerra, Esther ; Sánchez Cuadrado, Jesús
item.page.secondaryauthor
item.page.director
Publisher
ACM
publication.page.editor
publication.page.department
DOI
https://doi.org/10.1145/2685615
item.page.type
info:eu-repo/semantics/article
Description
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.
Citation
ACM Transactions on Software Engineering and Methodology, Volumen 24, Issue 2, Article No.: 12
item.page.embargo
1-ene-2999
Collections