FLEXMI: a generic and modular textual syntax for domain-specific modelling

Domain-specific languages allow engineers and domain experts to express problems and design solutions using domainfocused vocabularies and abstractions, by means of graphical or textual syntaxes. In the case of textual syntaxes, language engineers can opt for creating a language-specific syntax by d...

Full description

Bibliographic Details
Authors: Kolovos, Dimitris, Vega Ruiz, Alfonso de la
Format: article
Publication Date:2023
Country:España
Institution:Universidad de Cantabria (UC)
Repository:UCrea Repositorio Abierto de la Universidad de Cantabria
Language:English
OAI Identifier:oai:repositorio.unican.es:10902/32308
Online Access:https://hdl.handle.net/10902/32308
Access Level:Open access
Keyword:Domain-specific languages
Generic textual syntaxes
Model-driven engineering
Description
Summary:Domain-specific languages allow engineers and domain experts to express problems and design solutions using domainfocused vocabularies and abstractions, by means of graphical or textual syntaxes. In the case of textual syntaxes, language engineers can opt for creating a language-specific syntax by defining and maintaining a BNF-style grammar, or use an existing general-purpose reflective syntax such as the XML Metadata Interchange (XMI) or the Human Usable Textual Notation (HUTN), which do not require any development and maintenance effort, but which are more verbose and cannot be customised. We present Flexmi: a new general-purpose textual syntax for defining models that conform to Eclipse Modelling Framework's Ecore-based metamodels. Flexmi offers XML and YAML/JSON syntax flavours, it can be fuzzily parsed to reduce verbosity, and it includes a templating system to facilitate encapsulation of reusable composite model element structures, thus enabling more concise model specifications. We have evaluated Flexmi for verbosity and model loading performance against XMI, HUTN, and a bespoke (i.e. custom) textual syntax for Ecore (Emfatic). Our results indicate that the use of fuzzy parsing and templates allow Flexmi to achieve a significant reduction in the verbosity of models compared to XMI/HUTN and can become almost as concise as a bespoke textual syntax, with a moderate performance penalty.