Component-based model-driven software development [Elektronische Ressource] / eingereicht von Jendrik Johannes
290 pages
English

Component-based model-driven software development [Elektronische Ressource] / eingereicht von Jendrik Johannes

Le téléchargement nécessite un accès à la bibliothèque YouScribe
Tout savoir sur nos offres
290 pages
English
Le téléchargement nécessite un accès à la bibliothèque YouScribe
Tout savoir sur nos offres

Description

Component-BasedModel-Driven Software DevelopmentDissertationzur Erlangung des akademischen GradesDoktoringenieur (Dr.-Ing.)vorgelegt an derTechnischen Universitat DresdenFakultat Informatikeingereicht vonDipl.-Medieninf. Jendrik Johannesgeboren am 26. Marz 1981 in UelzenGutachter: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 2010Dresden im Januar 2011c Copyright 2010, Jendrik Johannes. All rights reserved.AbstractModel-driven software development (MDSD) and component-based software development areboth paradigms for reducing complexity and for increasing abstraction and reuse in softwaredevelopment. 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 asoftware 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 transformedand integrated until implementation code can be generated from them. Models in MDSD canhave very di erent forms: they can be documents, diagrams, or textual speci cations de nedin di erent modelling languages. Integrating these models of di erent formats and abstractionin a consistent way is a central challenge in MDSD.

Sujets

Informations

Publié par
Publié le 01 janvier 2010
Nombre de lectures 19
Langue English
Poids de l'ouvrage 29 Mo

Extrait

Component-Based
Model-Driven Software Development
Dissertation
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
Gutachter:
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.
1
DeRemer, F., Kron, H.: Programming-in-the-large versus programming-in-the-small. (1975)
2
Henriksson, J.: A Lightweight Framework for Universal Fragment Composition|with an application in the
Semantic Web. PhD thesis, Technische Universitat Dresden. (2009)
3
Steinberg, D., Budinsky, F., Paternostro, M., Merks, E.: Eclipse Modeling Framework. (2009)
4
Ossher, H., Tarr, P.: Multi-Dimensional Separation of Concerns and The Hyperspace Approach. (2000)
5
DMTF: Common Information Model Standards. http://www.dmtf.org/standards/cim. (2010)
iAcknowledgements
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. http://www.modelplex.org).
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 Fritzsch

  • Univers Univers
  • Ebooks Ebooks
  • Livres audio Livres audio
  • Presse Presse
  • Podcasts Podcasts
  • BD BD
  • Documents Documents