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 QRM component models.
- The Computational Modeling Workbench supports definition and analysis of a collection of models, e.g., automata, Markov Chains and Dataflow Models. It uses cmlang as an open source DSL definition for this set of languages, including some validation, visualisation and code generation options.