Safe model polymorphism for flexible modeling. (September 2017)
- Record Type:
- Journal Article
- Title:
- Safe model polymorphism for flexible modeling. (September 2017)
- Main Title:
- Safe model polymorphism for flexible modeling
- Authors:
- Degueule, Thomas
Combemale, Benoit
Blouin, Arnaud
Barais, Olivier
Jézéquel, Jean-Marc - Abstract:
- Abstract: Domain-Specific Languages (DSLs) are increasingly used by domain experts to handle various concerns in systems and software development. To support this trend, the Model-Driven Engineering (MDE) community has developed advanced techniques for designing new DSLs. However, the widespread use of independently developed, and constantly evolving DSLs is hampered by the rigidity imposed to the language users by the DSLs and their tooling, e.g., for manipulating a model through various similar DSLs or successive versions of a given DSL. In this paper, we propose a disciplined approach that leverages type groups׳ polymorphism to provide an advanced type system for manipulating models, in a polymorphic way, through different DSL interfaces. A DSL interface, a.k.a. model type, specifies a set of features, or services, available on the model it types, and subtyping relations among these model types define the safe substitutions. This type system complements the Melange language workbench and is seamlessly integrated into the Eclipse Modeling Framework (EMF), hence providing structural interoperability and compatibility of models between EMF-based tools. We illustrate the validity and practicability of our approach by bridging safe interoperability between different semantic and syntactic variation points of a finite-state machine (FSM) language, as well as between successive versions of the Unified Modeling Language (UML). Abstract : Highlights: We discuss the limitations ofAbstract: Domain-Specific Languages (DSLs) are increasingly used by domain experts to handle various concerns in systems and software development. To support this trend, the Model-Driven Engineering (MDE) community has developed advanced techniques for designing new DSLs. However, the widespread use of independently developed, and constantly evolving DSLs is hampered by the rigidity imposed to the language users by the DSLs and their tooling, e.g., for manipulating a model through various similar DSLs or successive versions of a given DSL. In this paper, we propose a disciplined approach that leverages type groups׳ polymorphism to provide an advanced type system for manipulating models, in a polymorphic way, through different DSL interfaces. A DSL interface, a.k.a. model type, specifies a set of features, or services, available on the model it types, and subtyping relations among these model types define the safe substitutions. This type system complements the Melange language workbench and is seamlessly integrated into the Eclipse Modeling Framework (EMF), hence providing structural interoperability and compatibility of models between EMF-based tools. We illustrate the validity and practicability of our approach by bridging safe interoperability between different semantic and syntactic variation points of a finite-state machine (FSM) language, as well as between successive versions of the Unified Modeling Language (UML). Abstract : Highlights: We discuss the limitations of the conformance relation in MDE. We propose a type system to circumvent the overly restrictive conformance relation with typing relations that enable model polymorphism. We propose an implementation of this type system into Melange and atop the Eclipse Modeling Framework. We evaluate our approach on controlled and uncontrolled experiments. … (more)
- Is Part Of:
- Computer languages, systems & structures. Volume 49(2017)
- Journal:
- Computer languages, systems & structures
- Issue:
- Volume 49(2017)
- Issue Display:
- Volume 49, Issue 2017 (2017)
- Year:
- 2017
- Volume:
- 49
- Issue:
- 2017
- Issue Sort Value:
- 2017-0049-2017-0000
- Page Start:
- 176
- Page End:
- 195
- Publication Date:
- 2017-09
- Subjects:
- Metamodeling -- Model typing -- Type groups polymorphism
Programming languages (Electronic computers) -- Periodicals
Computer networks -- Periodicals
Computer architecture -- Periodicals
Computer systems -- Periodicals
Langage de programmation
Réseau d'ordinateurs
Architecture d'ordinateur
Périodique électronique (Descripteur de forme)
Ressource Internet (Descripteur de forme)
005.13 - Journal URLs:
- http://www.sciencedirect.com/science/journal/14778424/40 ↗
http://www.elsevier.com/journals ↗ - DOI:
- 10.1016/j.cl.2016.09.001 ↗
- Languages:
- English
- ISSNs:
- 1477-8424
- Deposit Type:
- Legaldeposit
- View Content:
- Available online (eLD content is only available in our Reading Rooms) ↗
- Physical Locations:
- British Library DSC - 3394.071000
British Library DSC - BLDSS-3PM
British Library STI - ELD Digital store - Ingest File:
- 7908.xml