Kolovos, Dimitris orcid.org/0000-0002-1724-6563 and de la Vega, Alfonso (2023) Flexmi:a generic and modular textual syntax for domain-specific modelling. Software and Systems Modeling. pp. 1197-1215. ISSN 1619-1366
Abstract
Domain-specific languages allow engineers and domain experts to express problems and design solutions using domain-focused 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.
Metadata
Item Type: | Article |
---|---|
Authors/Creators: |
|
Copyright, Publisher and Additional Information: | Funding Information: The work presented in this paper has been funded through the HICLASS InnovateUK project (Contract No. 113213). Publisher Copyright: © 2022, The Author(s). |
Keywords: | Domain-specific languages,Generic textual syntaxes,Model-driven engineering |
Dates: |
|
Institution: | The University of York |
Academic Units: | The University of York > Faculty of Sciences (York) > Computer Science (York) |
Depositing User: | Pure (York) |
Date Deposited: | 30 Jan 2024 16:50 |
Last Modified: | 21 Jan 2025 18:12 |
Published Version: | https://doi.org/10.1007/s10270-022-01064-3 |
Status: | Published |
Refereed: | Yes |
Identification Number: | 10.1007/s10270-022-01064-3 |
Related URLs: | |
Open Archives Initiative ID (OAI ID): | oai:eprints.whiterose.ac.uk:208475 |