parastoo mohagheghi 1 a multi-dimensional framework for characterizing domain specific languages...

10
1 Parastoo Mohagheghi A Multi-dimensional Framework for Characterizing Domain Specific Languages Øystein Haugen Parastoo Mohagheghi SINTEF, UiO 21 October 2007

Upload: myron-hardy

Post on 19-Jan-2016

213 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Parastoo Mohagheghi 1 A Multi-dimensional Framework for Characterizing Domain Specific Languages Øystein Haugen Parastoo Mohagheghi SINTEF, UiO 21 October

1Parastoo Mohagheghi

A Multi-dimensional Framework for Characterizing Domain Specific Languages

Øystein HaugenParastoo Mohagheghi

SINTEF, UiO21 October 2007

Page 2: Parastoo Mohagheghi 1 A Multi-dimensional Framework for Characterizing Domain Specific Languages Øystein Haugen Parastoo Mohagheghi SINTEF, UiO 21 October

2Parastoo Mohagheghi

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?

Page 3: Parastoo Mohagheghi 1 A Multi-dimensional Framework for Characterizing Domain Specific Languages Øystein Haugen Parastoo Mohagheghi SINTEF, UiO 21 October

3Parastoo Mohagheghi

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.

Page 4: Parastoo Mohagheghi 1 A Multi-dimensional Framework for Characterizing Domain Specific Languages Øystein Haugen Parastoo Mohagheghi SINTEF, UiO 21 October

4Parastoo Mohagheghi

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?

Page 5: Parastoo Mohagheghi 1 A Multi-dimensional Framework for Characterizing Domain Specific Languages Øystein Haugen Parastoo Mohagheghi SINTEF, UiO 21 October

5Parastoo Mohagheghi

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?

Page 6: Parastoo Mohagheghi 1 A Multi-dimensional Framework for Characterizing Domain Specific Languages Øystein Haugen Parastoo Mohagheghi SINTEF, UiO 21 October

6Parastoo Mohagheghi

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?

Page 7: Parastoo Mohagheghi 1 A Multi-dimensional Framework for Characterizing Domain Specific Languages Øystein Haugen Parastoo Mohagheghi SINTEF, UiO 21 October

7Parastoo Mohagheghi

Question Min Max

Transparency

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 always need the whole model

Understanding can be achieved for small units at the time

20. History dependence

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 what knowledge is needed

Well defined educational requirements. Otherwise intuitive.

22. Efficiency Not important It should be time-efficient to create or update a model

Formalization

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

Page 8: Parastoo Mohagheghi 1 A Multi-dimensional Framework for Characterizing Domain Specific Languages Øystein Haugen Parastoo Mohagheghi SINTEF, UiO 21 October

8Parastoo Mohagheghi

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.

Page 9: Parastoo Mohagheghi 1 A Multi-dimensional Framework for Characterizing Domain Specific Languages Øystein Haugen Parastoo Mohagheghi SINTEF, UiO 21 October

9Parastoo Mohagheghi

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.

Page 10: Parastoo Mohagheghi 1 A Multi-dimensional Framework for Characterizing Domain Specific Languages Øystein Haugen Parastoo Mohagheghi SINTEF, UiO 21 October

10Parastoo Mohagheghi

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?