[Back]


Diploma and Master Theses (authored and supervised):

M. Wimmer:
"Model Driven Architecture in der Praxis - Evaluierung von aktuellen Werkzeugen und Fallstudie";
Supervisor: G. Kappel, G. Kramler; Institut für Softwaretechnik und Interaktive Systeme, 2005.



English abstract:
Model Driven Architecture (MDA) is strongly propagated by the Object Management Group (OMG) and is being introduced into software development practice. MDA is seen as the next step in the formalizing and abstraction process of software, like the replacement of assembler by high-level languages. If we believe in the promises of the OMG, then full working applications for different software platforms (e.g. J2EE, .NET, CORBA) can be automatically generated from platform independent models.

The OMG defines a theoretical architecture and specification of MDA, but the implementations of tools and transformation rules are transferred to the software industry. Tool manufacturers should develop MDA tools, which support model transformations and further aid for the successful employment of MDA in practical software development.

In practice several projects were already realized with MDA support on basis of already existing tools. The vision of the OMG is that applications are automatically generated from models. Here it has to be clarified whether the tools really implement MDA concepts or whether they are no more than UML tools, which can derive code segments automatically from graphical models.

This diploma thesis describes in detail the theoretical concepts of MDA as well as the practical MDA aspects on the basis of the CALENDARIUM project. The theoretical concepts like platform independent models, platform dependent models, model transformations and metamodels are explained. On the one hand problems of the transformation of the different models are pointed out and on the other hand effects on the software development process are discussed. Further the manual definition of transformation rules is explained.

On the basis of a list of criteria requirements for MDA tools are collected and existing tools are examined. On the basis of the CALENDARIUM project an example MDA project, which uses a relational database, Servlets, JSPs and EJBs, is constructed. In this case study a MDA tool is used for the production of an executable application from a platform independent model.

This case study demonstrates, to what extent MDA tools can perform the task automatically, or on which places the programmer still has to do manual programming. Further the current state of the art of MDA tools is pointed out by the tool evaluation. On the one hand areas are identified, which are already supported by current MDA tools, and on the other hand it is shown, which areas are covered insufficiently and still need further research activities.

German abstract:
Model Driven Architecture (MDA) wird von der Object Management Group (OMG) stark vorangetrieben und hält Einzug in die Softwareentwicklung. MDA wird als nächster Schritt des Formalisierungs- und Abstraktionsprozesses von Software gesehen, etwa wie die Ablöse von Assembler durch Hochsprachen. Schenkt man den vielen Versprechungen der OMG Glauben, so lassen sich aus technologieunabhängigen Modellen problemlos Anwendungen für verschiedenste Plattformen wie J2EE, CORBA oder .NET automatisch generieren.

Dabei gibt die OMG nur eine theoretische Architektur und Spezifikation von MDA vor, die Implementierungen von Werkzeugen bzw. Transformationsregeln wird an die Softwareindustrie abgegeben. Diese soll in nächster Zeit für Automatisierungstools sorgen, die die Modelltransformationen und weitere Hilfsmittel für den erfolgreichen Einsatz von MDA unterstützen.

In der Praxis wurden schon mehrere Projekte mittels MDA auf Basis der bereits vorhandenen Werkzeuge verwirklicht. Die Vision dabei ist, dass Softwareanwendungen automatisch generiert werden. Hier ist aber zu klären, ob die Tools wirklich Anspruch auf MDA haben oder ob es sich "nur" um UML Tools handelt, die Codesegmente automatisch aus grafischen Modellen ableiten können.

Die Diplomarbeit beschreibt ausführlich die theoretischen Konzepte von MDA sowie die praktische Umsetzung von MDA anhand eines Ausschnitts des CALENDARIUM-Projektes. Die theoretischen Konzepte wie plattformunabhängiges Modell, plattformabhängiges Modell, Modelltransformationen und Metamodellierung werden ausführlich erklärt und diskutiert. Dabei werden einerseits Probleme der Transformation der verschiedenen Modelle (vom Business Modell bis hin zum Code) aufgezeigt, sowie die Auswirkungen auf den Softwareentwicklungsprozess untersucht. Weiters wird auf die manuelle Erstellung von Transformationsregeln eingegangen.

Anhand eines Kriterienkatalogs werden die Anforderungen an MDA-Werkzeuge diskutiert und existierende Werkzeuge untersucht. Weiters wird anhand des CALENDARIUMS ein Beispiel MDA-Projekt auf Basis einer relationalen Datenbank, Servlets, JSPs und EJBs durchgeführt. Dabei wird mit Hilfe von Tools die Erstellung eines lauffähigen Programms aus einem plattformunabhängigen Modell durchgeführt.

Inwieweit die MDA-Werkzeuge diese Aufgabe automatisch erledigen können, oder an welchen Stellen die ProgrammiererIn selber noch Hand anlegen muss, wird durch dieses Beispielprojekt dargestellt. Weiters wird durch die Tool-Evaluierung der aktuelle Stand der Technik von MDA-Werkzeugen aufgezeigt. Dabei werden einerseits Bereiche von MDA identifiziert, die durch aktuelle Werkzeuge bereits umgesetzt wurden, und andererseits aufgezeigt, welche Bereiche unzureichend abgedeckt werden und noch weitere Forschungsaktivitäten benötigen.


Electronic version of the publication:
http://www.big.tuwien.ac.at/research/publications/diplomatheses/wimmer.pdf


Created from the Publication Database of the Vienna University of Technology.