A Multi-dimensional Framework for Characterizing Domain Specific Languages - PowerPoint PPT Presentation

About This Presentation
Title:

A Multi-dimensional Framework for Characterizing Domain Specific Languages

Description:

MODELPLEX (MODELing solution for comPLEX software systems) is an EU FP6 research ... concepts or reflects them, creates identities or destroys them, or organize them ... – PowerPoint PPT presentation

Number of Views:21
Avg rating:3.0/5.0
Slides: 11
Provided by: dsmf
Learn more at: http://www.dsmforum.org
Category:

less

Transcript and Presenter's Notes

Title: A Multi-dimensional Framework for Characterizing Domain Specific Languages


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

2
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?

3
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.

4
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?

5
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?

6
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?

7
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
8
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.

9
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.

10
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?
Write a Comment
User Comments (0)
About PowerShow.com