Graduation Project: New Metamodeling Language

Software Engineering & Technology

Traditionally, Model-Driven Software Engineering (MDSE) based on Domain-Specific Languages (DSLs) involves concepts such as meta-meta-models (Level M3), meta-models (Level M2), models (Level M1), and transformations between these models. Definitions of these items are expressed separately, in different formalisms, using different tools. This differs from the concepts and tool chains for general-purpose programming languages (see the following table), although there are clear parallels.

Style In (a) ... you express a ... defining a set of ... manipulated by ...
Traditional MDSE Meta-meta-model (Level M3) Meta-model (Level M2) Models (Level M1) Model Transformations
Programming Programming Language Data Type Definition Values of Data Type Expressions, Statements
Java Programming Java Class Definition Objects, instances of classes Methods
Data Bases SQL Data Base Schema Data Base Contents Queries
Grammarware Language to define grammars Grammar to define another language Texts belonging to language
defined by grammar
Scanners, Parsers, etc.

The goal of this graduation project is to develop a simple light-weight DSL-based MDSE environment by incorporating the relevant concepts, in particular meta-models, models, and transformations, into a single general-purpose language (meta-meta-model), similar to traditional programming. This environment should help in the teaching of MDSE.

First, the requirements of such a language have to be captured and analyzed. For instance, models need to be stored persistently. This contrasts to values in general-purpose programming languages, that are usually stored transiently (they disappear when the program terminates). Note that values in data bases are stored persistently.

It is useful to look at the work of Hans Jonkers and Paul ten Brink at Philips Healthcare:

Expected interests and skills: familiarity with MDSE concepts and tools; familiarity with language engineering concepts and tools

Graduation period: 6 months

Graduation supervisor: dr. T. Verhoeff (T.Verhoeff@tue.nl, +31-40-247-4125)