Domain-Specific Languages

Models are made, sometimes automatically, sometimes by hand by a developer. A formal language is used for automated processing and automated checking of consistency and correctness. To support developers in making domain-specific models, often so-called Domain-Specific Languages (DSL) are defined. A DSL is formal language that is designed specifically to be convenient for the development of particular class of models targetting a particular domain. The Eclipse Xtext DSL development framework and the Ecore meta-modeling framework are often used to develop DSLs.

We have developed a number of DSLs. For example:

  • The Quality and Resource Modeling Language (QRML) is a DSL for the specification of Quality and Resource Management (QRM) component models [1].
  • The Computational Modeling Workbench supports definition and analysis of a collection of models, e.g., Finite State Automata, Regular Expressions, Linear Temporal Logic, Markov Chains, Dataflow Models and Max-Plus Algebraic models.
    It uses cmlang as an open source DSL definition for this set of languages, including some validation, visualization and code generation options.


[1] [doi] F. van den Berg, V. Čamra, M. Hendriks, M. Geilen, P. Hnetynka, F. Manteca, P. Sánchez, T. Bureš, and T. Basten, “Qrml: a component language and toolset for quality and resource management,” in 2020 forum for specification and design languages (fdl), 2020, pp. 1-8.
author = {van den Berg, Freek and Čamra, Václav and Hendriks, Martijn and Geilen, Marc and Hnetynka, Petr and Manteca, Fernando and Sánchez, Pablo and Bureš, Tomáš and Basten, Twan},
booktitle = {2020 Forum for Specification and Design Languages (FDL)},
title = {QRML: A Component Language and Toolset for Quality and Resource Management},
year = {2020},
pages = {1-8},
doi = {10.1109/FDL50818.2020.9232936},