Model Driven Architecture in der Praxis - Evaluierung von aktuellen Werkzeugen und Fallstudie

By Manuel Wimmer .
Advised by Gerhard Kramler and Gerti Kappel

This work has been finished in March 2005.

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 Codeseg- mente 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.

 

Download the paper