A Multi-dimensional Framework for
Characterizing Domain Specific
Languages
Øystein Haugen
Parastoo Mohagheghi
SINTEF, UiO
21 October 2007
Parastoo Mohagheghi
1
Background
 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.
 Languages are characterized:
 Separately,
 In combination with other languages but till at one point in time,
 Over 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
humans.
 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
combined
 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
superlanguage.
 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
metamodel.
 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
another.
 Is it possible to define inter langauge relations?
Parastoo Mohagheghi
5
Characteristics of language evolution over
time
 Maintainability: How is the language maintained?
 Is there a group of people or institutions that take that
responsibility?
 Standardization bodies
 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
syntax
Different things are described
differently. Similar things similarly.
Intuitive symbols.
18. Descriptions vs.
runtime
Running
system
bears
no
resemblance
to
model
Running system has a structure
similar to that of the description
19. Locality
Reasoning
need the
model
always
whole
Understanding can be achieved for
small units at the time
Execution can be
understood only if
the whole history is
known
Situation can be understood with a
minimum of knowledge of earlier
execution.
21.
Educational
prerequisite
Unclear
knowledge
needed
Well
defined
educational
requirements. Otherwise intuitive.
22. Efficiency
Not important
It should be time-efficient to create
or update a model
23. Static analysis
Not even syntax
analysis possible
Syntax rules are well-defined and so
are the well-formedness rules
24. Executability
Not executable
Executable
Transparency
20.
dependence
History
what
is
Formalization
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 domain.
 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
Discussion
 The advantages:
 The questionnaire can be applied at the early stage of product
development.
 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 model.
 The questions are defined based on experience and
literature review. They may be modified after evaluation.
Parastoo Mohagheghi
9
Ideas for future work
 New questions:
 Domain suitability: Is the language adapted or developed for the




specific domain?
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
between views?
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.
 Questions?
Parastoo Mohagheghi
10
Descargar

IN-MMO - DSM Forum