Research output: Contribution to journal › Article › peer-review
Scaling-up domain-specific modelling languages through modularity services. / Garmendia, Antonio; Guerra, Esther; de Lara, Juan; García-Domínguez, Antonio; Kolovos, Dimitris.
In: Information and Software Technology, Vol. 115, 01.11.2019, p. 97-118.Research output: Contribution to journal › Article › peer-review
}
TY - JOUR
T1 - Scaling-up domain-specific modelling languages through modularity services
AU - Garmendia, Antonio
AU - Guerra, Esther
AU - de Lara, Juan
AU - García-Domínguez, Antonio
AU - Kolovos, Dimitris
N1 - © 2019 Elsevier B.V. This is an author-produced version of the published paper. Uploaded in accordance with the publisher’s self-archiving policy.
PY - 2019/11/1
Y1 - 2019/11/1
N2 - Context: Model-driven engineering (MDE) promotes the active use of models in all phases of software development. Even though models are at a high level of abstraction, large or complex systems still require building monolithic models that prove to be too big for their processing by existing tools, and too difficult to comprehend by users. While modularization techniques are well-known in programming languages, they are not the norm in MDE. Objective: Our goal is to ease the modularization of models to allow their efficient processing by tools and facilitate their management by users. Method: We propose five patterns that can be used to extend a modelling language with services related to modularization and scalability. Specifically, the patterns allow defining model fragmentation strategies, scoping and visibility rules, model indexing services, and scoped constraints. Once the patterns have been applied to the meta-model of a modelling language, we synthesize a customized modelling environment enriched with the defined services, which become applicable to both existing monolithic legacy models and new models. Results: Our proposal is supported by a tool called EMF-Splitter, combined with the Hawk model indexer. Our experiments show that this tool improves the validation performance of large models. Moreover, the analysis of 224 meta-models from OMG standards, and a public repository with more than 300 meta-models, demonstrates the applicability of our patterns in practice. Conclusions: Modularity mechanisms typically employed in programming IDEs can be successfully transferred to MDE, leading to more scalable and structured domain-specific modelling languages and environments.
AB - Context: Model-driven engineering (MDE) promotes the active use of models in all phases of software development. Even though models are at a high level of abstraction, large or complex systems still require building monolithic models that prove to be too big for their processing by existing tools, and too difficult to comprehend by users. While modularization techniques are well-known in programming languages, they are not the norm in MDE. Objective: Our goal is to ease the modularization of models to allow their efficient processing by tools and facilitate their management by users. Method: We propose five patterns that can be used to extend a modelling language with services related to modularization and scalability. Specifically, the patterns allow defining model fragmentation strategies, scoping and visibility rules, model indexing services, and scoped constraints. Once the patterns have been applied to the meta-model of a modelling language, we synthesize a customized modelling environment enriched with the defined services, which become applicable to both existing monolithic legacy models and new models. Results: Our proposal is supported by a tool called EMF-Splitter, combined with the Hawk model indexer. Our experiments show that this tool improves the validation performance of large models. Moreover, the analysis of 224 meta-models from OMG standards, and a public repository with more than 300 meta-models, demonstrates the applicability of our patterns in practice. Conclusions: Modularity mechanisms typically employed in programming IDEs can be successfully transferred to MDE, leading to more scalable and structured domain-specific modelling languages and environments.
KW - Domain-specific modelling languages
KW - Meta-modelling
KW - Model-driven engineering
KW - Scalability
UR - http://www.scopus.com/inward/record.url?scp=85066478419&partnerID=8YFLogxK
U2 - 10.1016/j.infsof.2019.05.010
DO - 10.1016/j.infsof.2019.05.010
M3 - Article
AN - SCOPUS:85066478419
VL - 115
SP - 97
EP - 118
JO - Information and Software Technology
JF - Information and Software Technology
SN - 0950-5849
ER -