Language Family Engineering with Product Lines of Multi-level Models
Abstract:
Modelling is an essential activity in software engineering. Ittypically involves two meta-levels: one includes meta-models thatdescribe modelling languages, and the other contains models built byinstantiating those meta-models. Multi-level modelling generalizes this approach by allowing models to span an arbitrarynumber of meta-levels. A scenario that profits from multi-levelmodelling is the definition of language families that can bespecialized (e.g., for different domains) by successive refinementsat subsequent meta-levels, hence promoting language reuse. Thisenables an open set of variability options given by allpossible specializations of the language family. However,multi-level modelling lacks the ability to express closed variability regarding the availability of language primitives or thepossibility to opt between alternative primitive realizations. Thislimits the reuse opportunities of a language family. To improve thissituation, we propose a novel combination of product lines withmulti-level modelling to cover both open and closed variability. Ourproposal is backed by a formal theory that guarantees correctness,enables top-down and bottom-up language variability design, and isimplemented atop the MetaDepth multi-level modelling tool.
Año de publicación:
2021
Keywords:
- Meta-Modelling
- Multi-level modelling
- Product Lines
- Domain-Specific Languages
- software language engineering
- METADEPTH
Fuente:

Tipo de documento:
Article
Estado:
Acceso abierto
Áreas de conocimiento:
Áreas temáticas:
- Programación informática, programas, datos, seguridad
- Física aplicada
- Instrumentos de precisión y otros dispositivos