Scaling-up domain-specific modelling languages through modularity services

Antonio Garmendia*, Esther Guerra, Juan de Lara, Antonio García-Domínguez, Dimitris Kolovos

*Corresponding author for this work

Research output: Contribution to journalArticle

Abstract

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.

Original languageEnglish
Pages (from-to)97-118
Number of pages22
JournalInformation and Software Technology
Volume115
Early online date25 May 2019
DOIs
Publication statusPublished - 1 Nov 2019

Fingerprint

Modeling languages
Processing
Visibility
Computer programming languages
Scalability
Large scale systems
Software engineering
Electric potential
Experiments

Bibliographical note

© 2019, Elsevier. Licensed under the Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International http://creativecommons.org/licenses/by-nc-nd/4.0/


Funding: R&D programme of the Madrid Region (project FORTE, S2018/TCS-4314), and the Spanish Ministry of Science (project MASSIVE, RTI2018-095255-B-I00).

Keywords

  • Domain-specific modelling languages
  • Meta-modelling
  • Model-driven engineering
  • Scalability

Cite this

Garmendia, Antonio ; Guerra, Esther ; de Lara, Juan ; García-Domínguez, Antonio ; Kolovos, Dimitris. / Scaling-up domain-specific modelling languages through modularity services. In: Information and Software Technology. 2019 ; Vol. 115. pp. 97-118.
@article{735da31ed5404ba7a6ddce6ca67e9810,
title = "Scaling-up domain-specific modelling languages through modularity services",
abstract = "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.",
keywords = "Domain-specific modelling languages, Meta-modelling, Model-driven engineering, Scalability",
author = "Antonio Garmendia and Esther Guerra and {de Lara}, Juan and Antonio Garc{\'i}a-Dom{\'i}nguez and Dimitris Kolovos",
note = "{\circledC} 2019, Elsevier. Licensed under the Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International http://creativecommons.org/licenses/by-nc-nd/4.0/ Funding: R&D programme of the Madrid Region (project FORTE, S2018/TCS-4314), and the Spanish Ministry of Science (project MASSIVE, RTI2018-095255-B-I00).",
year = "2019",
month = "11",
day = "1",
doi = "10.1016/j.infsof.2019.05.010",
language = "English",
volume = "115",
pages = "97--118",
journal = "Information and Software Technology",
issn = "0950-5849",
publisher = "Elsevier",

}

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 journalArticle

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. Licensed under the Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International http://creativecommons.org/licenses/by-nc-nd/4.0/ Funding: R&D programme of the Madrid Region (project FORTE, S2018/TCS-4314), and the Spanish Ministry of Science (project MASSIVE, RTI2018-095255-B-I00).

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 - https://linkinghub.elsevier.com/retrieve/pii/S0950584919301259

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

VL - 115

SP - 97

EP - 118

JO - Information and Software Technology

JF - Information and Software Technology

SN - 0950-5849

ER -