Dynamic Model-driven Development

Student thesis: Master's Thesis


Model-Driven Development is a relatively recent software development method
that has garnered quite a lot of attention. Software development in MDD is based
on models, these are meta-data definitions of the application that is to be built.
The roots of model-driven development lie in a generative programming tech-
nique called product-line engineering. The goal of product-line engineering is to
develop an infrastructure for producing applications of a certain domain. So too
in model-driven development, the models appertain to a specific problem domain.
While not all the MDD approaches take on the task of also generating appli-
cations from their models, as is done in product-line engineering, many of them
do. Up to this point however, the majority of these approaches all have a very
static feel to them. The same sort of write / compile / run process that is com-
mon to static programming environments. The models are created and afterwards
transformed to executable artifacts, code, by code generators, template engines
This process can give rise to several problems in that transformations quickly
get complicated and often are one-way only. The solution to resolving complex-
ity is the similar to the one used in other software development techniques and
focusses on dividing the domain of the application into subdomains. In model-
driven development this means using different models to express different ele-
ments of the application, each one best suited for its particular job. This in turn
gives rise to the model composition problem that exists in the implementation and
integration of software specified in separate models.
The research in this dissertation regards the development of an MDD approach
in a dynamic language environment such as SmallTalk or Self where the write /
compile / run process is not present. The dynamic model-driven development
approach aims to integrate the domain specific MDD process with the object-
oriented programming paradigm in such a way that models are directly executable
artifacts that share many characteristics with classes.
It is then the objective of this dissertation to evaluate the aforementioned prob-
lems with MDD in light of this new dynamic approach. Special attention is given
to the model composition problem as it is possible to express the problem as a
domain that can be uniformly implemented using the DMDD approach.
Date of Award2006
Original languageEnglish
SupervisorJohan Brichau (Jury), Theo D'Hondt (Jury) & Viviane Jonckers (Jury)

Cite this