A Multi-dimensional Framework for
Characterizing Domain Specific
21 October 2007
Parastoo Mohagheghi 1
MODELPLEX (MODELing solution for comPLEX software
systems) is an EU FP6 research project from 2006 to
2010. URL: www.modelplex.org
In the model engineering work packages, we have a task
on “language engineering” with the objective to establish
guidelines for creating DSLs to handle complex systems.
The ultimate success criterion for a DSL is whether the
usage of it produces good products. It is also possible to
harvest empirics from the product design process. But is it
possible to give a fruitful evaluation of the DSL only by
assessing the language itself?
Parastoo Mohagheghi 2
The selected approach
A structured questionnaire where the intention is to
characterize existing languages or guide design of future
Languages are characterized:
In combination with other languages but till at one point in time,
The assessors will give a value between 0 (min) and 10
(max) and up to 3 extra points to each question, thus
defining the relative importance of the dimension in the
domain in question.
The questionnaire was designed for evaluating GPLs and
relations to DSLs is discussed.
Parastoo Mohagheghi 3
Characteristics of one language at one
point in time
Expressiveness is about how well a language captures the concepts
or reflects them, creates identities or destroys them, or organize them
in layers. The MAGIC from OO languages.
Transparency is about the relation between the language and the
How easy is the language to use and to understand? How distinct are
constructs or how much the model is similar to the system? Does
reasoning need the whole model?
Formalization is the relation between the language and a semantic
base (semantic model). A reasonably precise semantics is the
prerequisite for a number of desirable properties such as executability,
collecting automated metrics and model checking.
Is static analysis possible? Is the language executable?
Parastoo Mohagheghi 4
Characteristics of several languages
Integrability is about the integration of languages that are used to
model a system.
One approach to integration is to combine several languages into one
To exchange information between the sub-models we may define a
common exchange format with its own formal semantics.
The third apptoach is metamodel transformation: the metamodels are
specified, as well as the transformational relationships between them in a
suitable formal language. The advantage is the possibility to combine and
compare languages. The metamodels are used to define a root
Traceability: When we describe systems where the sub-systems are
made in different languages, it is practical to keep close control over
associations between entities in one sub-model with entities in
Is it possible to define inter langauge relations?
Parastoo Mohagheghi 5
Characteristics of language evolution over
Maintainability: How is the language maintained?
Is there a group of people or institutions that take that
Language specific tools
Extendability: Does language have means to extend it?
Is it possible to restrict the language?
Scalability: Scalability is the ability to work well with small
models as well as big and gigantic models. Does the
performance degrades in case of execution?
Parastoo Mohagheghi 6
Question Min Max
17. Syntax Counterintuitive Different things are described
syntax differently. Similar things similarly.
18. Descriptions vs. Running system Running system has a structure
runtime bears no similar to that of the description
19. Locality Reasoning always Understanding can be achieved for
need the whole small units at the time
20. History Execution can be Situation can be understood with a
dependence understood only if minimum of knowledge of earlier
the whole history is execution.
21. Educational Unclear what Well defined educational
prerequisite knowledge is requirements. Otherwise intuitive.
22. Efficiency Not important It should be time-efficient to create
or update a model
23. Static analysis Not even syntax Syntax rules are well-defined and so
analysis possible are the well-formedness rules
24. Executability Not executable Executable
Parastoo Mohagheghi 7
Characteristics of DSLs
An important criterion is domain-appropriateness: A DSL
must be powerful enough to capture the major domain
concepts and should match the mental representation of
The language should be formal and accurate for execution
and code generation.
There may be a need for integration between several
DSLs used to model a system.
Any DSL with a diagrammatical syntax should have proper
layout, allowing easy distinction between concepts.
Finally creating a DSL should be cost-effective. They
should increase productivity of users.
Parastoo Mohagheghi 8
The questionnaire can be applied at the early stage of product
Other approaches such as extracting metrics of the metamodel
need establishing associations between such metrics and
language or model characteristics, or the ease of working with a
language. Examples are metrics of size (number of concepts, their
relations or terminal nodes vs. non-terminal nodes).
We can also evaluate characteristics of the produced
products such as LOC generated or time needed to define
The questions are defined based on experience and
literature review. They may be modified after evaluation.
Parastoo Mohagheghi 9
Ideas for future work
Domain suitability: Is the language adapted or developed for the
Determinism: Does the language allows developing several
models of a system or a single one?
Views: Are there several views of a system? Are there relations
UI: Is the UI easy to use?
Tools: Does libraries and debuggers exist?
Developing a framework that relates the questions or
possible metrics to different quality characteristics.
Parastoo Mohagheghi 10