La lecture en ligne est gratuite
Le téléchargement nécessite un accès à la bibliothèque YouScribe
Tout savoir sur nos offres

Partagez cette publication

Model-Driven Software Development
zur Erlangung des akademischen Grades
Doktoringenieur (Dr.-Ing.)
vorgelegt an der
Technischen Universitat Dresden
Fakultat Informatik
eingereicht von
Dipl.-Medieninf. Jendrik Johannes
geboren am 26. Marz 1981 in Uelzen
Prof. Dr. rer. nat. habil. Uwe A mann
(Technische Universitat Dresden)
Prof. Dr. Richard Paige
(University of York, UK)
Tag der Verteidigung: Dresden, den 15. Dezember 2010
Dresden im Januar 2011c Copyright 2010, Jendrik Johannes. All rights reserved.Abstract
Model-driven software development (MDSD) and component-based software development are
both paradigms for reducing complexity and for increasing abstraction and reuse in software
development. In this thesis, we aim at combining the advantages of each by introducing meth-
ods from component-based development into MDSD. In MDSD, all artefacts that describe a
software system are regarded as models of the system and are treated as the central develop-
ment artefacts. To obtain a system implementation from such models, they are transformed
and integrated until implementation code can be generated from them. Models in MDSD can
have very di erent forms: they can be documents, diagrams, or textual speci cations de ned
in di erent modelling languages. Integrating these models of di erent formats and abstraction
in a consistent way is a central challenge in MDSD.
We propose to tackle this challenge by explicitly separating the tasks of de ning model compo-
nents and composing model components, which is also known as distinguishing programming-
1in-the-small and programming-in-the-large . That is, we promote a separation of models into
models for modelling-in-the-small (models that are components) and models for modelling-
in-the-large (models that describe compositions of model components). To perform such
component-based modelling, we introduce two architectural styles for developing systems with
component-based MDSD (CB-MDSD).
For CB-MDSD, we require a universal composition technique that can handle models de ned
in arbitrary modelling languages. A technique that can handle arbitrary textual languages is
2universal invasive software composition for code fragment composition. We extend this tech-
nique to universal invasive software composition for graph fragments (U-ISC/Graph) which
can handle arbitrary models, including graphical and textual ones, as components. Such com-
ponents are called graph fragments, because we treat each model as a typed graph and support
reuse of partial models.
To put the composition technique into practice, we developed the toolReuseware that imple-
3ments U-ISC/Graph. The tool is based on the Eclipse Modelling Framework and can therefore
be integrated into existing MDSD development environments based on the framework.
To evaluate the applicability of CB-MDSD, we realised for each of our two architectural styles
a model-driven architecture with Reuseware. The rst style, which we name ModelSoC,
is based on the component-based development paradigm of multi-dimensional separation of
4concerns . The architecture we realised with that style shows how a system that involves mul-
tiple modelling languages can be developed with CB-MDSD. The second style, which we name
ModelHiC, is based on hierarchical composition. With this style, we developed abstraction and
reuse support for a large modelling language for telecommunication networks that implements
5the Common Information Model industry standard.
DeRemer, F., Kron, H.: Programming-in-the-large versus programming-in-the-small. (1975)
Henriksson, J.: A Lightweight Framework for Universal Fragment Composition|with an application in the
Semantic Web. PhD thesis, Technische Universitat Dresden. (2009)
Steinberg, D., Budinsky, F., Paternostro, M., Merks, E.: Eclipse Modeling Framework. (2009)
Ossher, H., Tarr, P.: Multi-Dimensional Separation of Concerns and The Hyperspace Approach. (2000)
DMTF: Common Information Model Standards. (2010)
I thank my supervisor Uwe A mann for giving me the opportunity to work on this interesting
and challenging topic and for all the advices he gave me. My thanks go to the whole software
technology group at TU Dresden, who provided a working atmosphere in which it was fun
working on this thesis and on many other interesting research challenges. Furthermore, I
thank all my colleagues from around Europe with whom I had the pleasure to work together
in the Modelpex project. Without the project and the input I got from many of them, this
thesis would not have been possible.
Although I had to go the nal steps of nishing this thesis alone, many people supported
me along the way to whom I like to extend a special thanks. First of all, there are Jakob
Henriksson and Ilie Sa vga who introduced me to the work on invasive software composition
back in 2005 when I was still an undergraduate student and with whom I started to work on a
composition tool which eventually became the Reuseware tool. Without Jakob, who supervised
me as a student and soon became a good friend, this work would probably have never started.
Ste en Zschaler supervised me during the rst two years of my work. He taught me a lot about
research, project management, writing publications, and a thousand other things a researcher
should know about. Without him, I would have had a much harder start.
When I started working on my thesis in winter 2006, I was accompanied by colleagues who
started shortly before or after me. It turned out that research and hacking were not the only
interests we had in common and soon we became good friends. In 2007, Florian Heidenreich,
Ste en, and me worked intensively on transferring invasive software composition to modelling.
The endless discussions we had about (meta)modelling, slots, hooks, and other scary things
were a lot of fun and laid the foundations for this thesis. Another impulse for my work was
given in 2008, when I tried to separate out the grammar-processing part from Reuseware into
a separate tool. Sven Karol volunteered to participate in that and did a massive improvement
of my really ugly code. Then, Mirko Seifert took over and added a lot of improvements. At the
same time, Christian Wende and Florian also got interested in using the tool and contributed
to it. Finally, we coined the tool EMFText and released it in the beginning of 2009. We wrote
several publications together based on the work on EMFText which gave us a common ground
to work on. Without this work as foundation, this thesis would be missing quite some pages;
and without our meetings I would be missing quite some fun in my life. Mirko also supported
me at the end of Modelplex which gave me time to concentrate on writing.
There are many more people in our group who supported me in one way or the other. Jan
Polowinski, who is a good friend since we studied Medieninformatik together, often showed
me that it is also important to relax from time to time (unfortunately, I too seldom followed
this advice). Sebastian Cech joined Modelplex halfway through and took over a huge amount
This research has been co-funded by the European Commission within the 6th Framework Programme (FP)
project Modelplex contract number 034081 (cf.
iiiof work from me which allowed me to concentrate on the model composition work. Matthias
Schmidt was supervised by me for his diploma and joined the Modelplex team after that. We
had many interesting discussions from which I highly pro ted. Matthias and Karsten Gaul,
whom I supervised during his diploma and also before that, both contributed additional features
to the Reuseware tooling which helped me in my experimentations. Rosi Pjater, whom I shared
a o ce with, endured my tempers over the years and always found some motivating words
for me. Andreas Bartho, Henrik Lochmann, Birgit Grammel, Konrad Voigt, Julia Schroter,
Simone Rot tger, Katja Siegemund, Christo B urger, and Claas Wilke all helped here and there
over the time by giving advice and motivation. In my last weeks of writing, Sebastian Richly
and Sebastian Got z took over some work, which I was supposed to do, without complaining, for
which I am thankful. Katrin Heber always helped me with administrative issues; in particular
with issues concerning Reisekostenabrechnungen.
Half of my research life was taking place in the Modelplex project, where I had the pleasure to
work with many interesting people from di erent backgrounds. In the beginning of the project,
I had intensive discussions with Marcos Didonet Del Fabro, Hugo Bruneliere, Jean Bezevin,
Dimitris Kolovos, and Steven Volkel about model compositions, model weaving, and aspect-
oriented modelling (and the meaning of all these terms), which helped me to nd a direction for
my work. Later, I worked with Dimitris, Richard Paige, and Ste en on using model composition
for abstraction, which inspired me to the work on composition program extraction which was
a missing piece in my work until then. Miguel Fernand ez and his colleagues at Telefoni ca
gave me the opportunity to work on a real problem and some real material which fueled my
work. Without that, and their kind support, I would have never come that far. It was always
a pleasure to discuss and share experiences with Mathias Fritzsche, who was also writing his
thesis in the context of Modelplex in a similar time frame as me.
I would like to extend a special thanks to all the people who, often on short notice, commented
on parts of my thesis: Birgit, Julia, Ilie, Christian, Christo , Mirko, and Jan; and a very special
thanks to Annika, Karsten, and Sven who took the time to read and comment on a complete
draft of the document.
Finally, but not lastly, I want to thank my family: my parents Ursula and Wilhelm, my sister
Julia and her ance Marc, my sister Jana and her husband Cornelius, and my grandmother
Oma Helga. They all always encourage and supported me. The biggest thank goes to my love
Annika who not only encouraged and supported me even in situations that for me seemed to be
past hope, but who loved me despite all my little and big aws and my occasional workaholic
behaviour { I love you.
Jendrik Johannes
Dresden, September 2010
The central topic of this thesis is partially based on the following peer-reviewed publications.
In co-authored publications, the author contributed a large part and in particular the parts
this thesis is based on.
{ Jendrik Johannes, and Uwe A mann. Concern-based (de)composition of Model-Driven
Software Development Processes. In Proceedings of the 13th International Conference
on Model Driven Engineering Languages and Systems (MoDELS 2010), volume 6395 of
LNCS, pages 47{62. Springer, October 2010. (conference paper)
{ Jendrik Johannes, and Miguel A. Fernandez. Adding Abstraction and Reuse to a Net-
work Modelling Tool using the Reuseware Composition Framework. In Proceedings of
6th European Conference on Modelling Foundations and Applications (ECMFA 2010),
volume 6138 of LNCS, pages 132{143. Springer, June 2010. (conference paper)
{ Florian Heidenreich, Jakob Henriksson, Jendrik Johannes, and Ste en Zschaler. On
Language-Independent Model Modularisation. In Transactions on Aspect-Oriented Soft-
ware Development VI, volume 5560 of LNCS, pages 39{82. Springer, October 2009.
(journal article)
{ Jakob Henriksson, Florian Heidenreich, Jendrik Johannes, Ste en Zschaler, and Uwe
A mann. Extending Grammars and Metamodels for Reuse { The Reuseware Approach.
In IET Software Special Issue on Language Engineering, volume 2(3) of IET Software,
pages 165{184. IET, June 2008. (journal article)
{ Jendrik Johannes. Controlling Model-Driven Software Development through Composition
Systems. In Proceedings of the 7th Nordic Workshop on Model Driven Software Engi-
neering (NW-MODE 2009), pages 240{253. Tampere University of Technology, August
2009 (workshop paper)
{ Jendrik Johannes. Developing a Model Composition Framework with Fujaba { An Experi-
ence Report. In Proceedings of the 7th International Fujaba Days, pages 1{4. Technische
Universiteit Eindhoven, November 2009. (workshop paper)
{ Florian Heidenreich, Jendrik Johannes, and Ste en Zschaler. Aspect-Orientation for
Your Language of Choice. In Proceedings of the 11th International Workshop on Aspect-
Oriented Modeling (AOM@MoDELS 2007)., October 2007.
(workshop paper)

Un pour Un
Permettre à tous d'accéder à la lecture
Pour chaque accès à la bibliothèque, YouScribe donne un accès à une personne dans le besoin