Warning: Parameter 1 to Language::getMagic() expected to be a reference, value given in /usr/share/mediawiki/includes/StubObject.php on line 58
Model-driven Language Engineering – GRK-Wiki

Model-driven Language Engineering

Aus GRK-Wiki

Wechseln zu: Navigation, Suche

Image:Icons-flag-de.pngInformationen auf Deutsch



In METRIK, we follow a model-based approach to develop disaster management systems. We want to provide domain experts with modelling means that are intuitive, concise, and semantically precise. To fulfil these requirements, we propose a combination of several domain-specific languages (DSLs). Language Engineering brings Software Engineering to languages. It is concerned with language design, language maintenance, language extension, language recovery, translation, generation, interpretation, etc. Models are our chosen tool to specify languages. Like other software artefacts, language models evolve over time. Language evolution is usually performed manually by stepwise adaptation. Furthermore, models need to co-evolve in order to remain compliant with the language model. Without co-evolution, these artefacts become invalid. Like language evolution, co-evolution is typically performed manually. This is an error-prone task leading to inconsistencies between the language model and related artefacts.

In our work, we explore transformational adaptation of language models as a foundation for Model-driven Language Engineering. As a first result, we provide a theoretical basis to study the effects of language evolution in terms of relations between language models. We employ well-defined evolutionary steps for language models compliant to OMG's MetaObject Facility (MOF). The steps are specified as transformations in QVT Relations, the relational part of OMG's Query/View/Transformations language. Each step forms a language adaptation and is classified according to its semantics- and instance-preservation properties. Automatic co-evolution steps are deduced from these well-defined evolution steps. This co-adaptation prevents inconsistencies and language erosion. Starting from our theoretical results, we develop an Adaptation Browser for MOF compliant language models. The tool is built upon the Eclipse Language Toolkit. This provides us with undo/redo support, adaptation history, and scripting facilities.

We now examine our approach in two case studies. The first study is concerned with the design of a new DSL. The transformational approach facilitates a well-defined stepwise language design. Starting from basic features, new features are introduced by construction. We hope that extensive usage of this principle leads to an agile process. The second study is concerned with the extraction of a language out of a natural language document. The document describes disaster management processes semi-formally. Language recovery is concerned with the derivation of a formal language specification from such sources. For grammar recovery, a transformational approach already proved to be valuable. In a similar way, we employ our approach to assist language model recovery.


Candidate: Dipl.-Inf. Guido Wachsmuth
Advisor: Dr. rer. nat. habil. Eckhardt Holz



Ecore Adaptation Language.
Eclipse Plugin for Prototyping Visual Interpreters and Debuggers.
Eclipse Plugin for Textual Model Parsing by Transformation.


11 March 2008 
Presentation of EProvide and ECoral, ikv, Berlin
28 February 2008 
Presentation of EProvide and ECoral, work group meeting, group on software technology TU Dresden and GK METRIK, Berlin
08 January 2008 
Agile Language Modelling with QVT Relations, research seminar, group on Modelling and Simulation, University of Rostock
16 November 2007 
Agile Language Modelling with QVT Relations, 2nd METRIK evaluation workshop
24 October 2007 
Agile Language Modelling with QVT Relations, Technische Universität Dresden
4 July 2007 
Metamodel adaptation, 2nd Summer School on Generative and Transformational Techniques in Software Engineering, Braga, Portugal
26 June 2007 
Model-driven Language Engineering, research seminar, groups on Programming Languages and Software Engineering, University of Rostock
11 May 2007 
Metamodel-based Language Engineering, 1st METRIK evaluation workshop
8 December 2006 
Automated transformations for metamodel evolution, 1st METRIK Workshop Metamodelling
Persönliche Werkzeuge