Anbieter zum Thema
Erfreuliche Fortschritte bei den Werkzeugen
Heutige MDSD-Tools haben nichts mit den Case-Tools aus den 90er Jahren gemein. Die heutigen Tools passen sich dem bestehenden Umfeld an. Man benötigt keine Abhängigkeiten zu externen Bibliotheken in seinem Produkt. MDSD-Tools und Frameworks betten sich in die bestehende Werkzeugkette ein, sodass bestehende Modellierung- und Simulationswerkzeuge weiterverwendet werden können. Zudem sind alle der erwähnten Frameworks und Tools Open Source. Neben fertigen Generatoren bieten Frameworks wie beispielsweise openArchitectureWare (5) die Möglichkeit individuelle Generatoren zu bauen. Eine Liste von Generatoren und Frameworks ist unter (11) zu finden.
Neben der Möglichkeit vorhandene Editoren zu verwenden, ist es möglich, eigene Editoren zu entwickeln. Frameworks wie das Graphical Modeling Framework (8) (GMF) ermöglichen die generative Entwicklung eines grafischen Editoren. Textuelle Editoren können mit Frameworks wie xText (4) erstellt werden. Aus der Beschreibung der DSL lässt sich ein kompletter Editor generieren, welcher Komfortfunktionen wie Autovervollständigung und Syntax Highlighting bietet.
MDSD ermöglicht Prozess zur inkrementellen Softwareentwicklung
MDSD ist mehr als die Generierung von Java aus UML-Diagrammen. Es definiert einen Prozess zur inkrementellen Entwicklung von Software. Hierbei setzt man auf einer Referenzimplementierung auf, welche alle Aspekte der Architektur umsetzt. Kann man innerhalb dieser Referenzimplementierung wiederkehrende Muster erkennen, versucht man diese mit Generatoren abzubilden. Kann eine neue Anforderung nicht mit der DSL abgebildet werden, muss die Architektur und die DSL erweitert werden. Die bestehenden Modelle und Templates werden angepasst. Bei der folgenden Generierung enthält der generierte Quelltext alle vorgenommenen Änderungen. Die Software bleibt lauffähig, da alle manuellen Anteile übernommen werden.
Potentiale der modellgetriebenen Entwicklung
Die modellgetriebene Entwicklung bietet viele Potentiale. Aus großen Modellen wird schematischer Quellcode generiert. Dieser ist für die Entwickler einfacher zu lesen, als die Implementierung fremder Entwickler. Die automatische Generierung von Sourcecode spart zudem Zeit. Die modellgetriebene Softwareentwicklung ermöglicht es, besonders einfach Varianten seines Produktes (Produktlinien), oder sich ähnelnder Produkte (Produktfamilien) herzustellen. So können Varianten erstellt werden, indem man einzelne Funktionen zu Standardkonfigurationen hinzunimmt oder aus dem Umfang entfernt. Zudem zahlt sich die Wiederverwendung der Templates stark aus.
Generatoren liefern verlässliche, gleich bleibende Qualität. Fehler werden an zentraler Stelle, im Generator, behoben. Hat man mit häufigen Änderungen über den gesamten Softwarelebenszyklus zu kämpfen, so sind diese recht einfach, im Modell, vorzunehmen. Dies vereinfacht die Wartung komplexer Systeme.
Quellen (URLs siehe auch Linkkasten unten):
1.Thomas Stahl, Markus Völter, Sven Efftinge: Modellgetriebene Softwareentwicklung. Techniken, Engineering, Management. 2. Auflage. d.punkt Verlag, Mai 2007
2.Pietrek, Trompeter: Modellgetriebene Softwareentwicklung- MDA und MDSD in der Praxis entwickler.press, 2007
3.Fornax Plattform: http://www.fornax-platform.org/
4.xText: http://wiki.eclipse.org/Xtext
5.openArchitectureWare: http://www.openarchitectureware.org/
6.Magic Draw: http://www.magicdraw.com/
7.UML: http://www.uml.org/
8.GMF: http://www.eclipse.org/modeling/gmf/
9.MDA4E, Forschungsprojekt: Modellgetriebene Softwareentwicklung für Embedded Systems : http://www.mda4e.org/
10.Miro Samek: Practical Statecharts in C/C++: Quantum Programming for Embedded Systems, CMP Books, 2002
11.Wikipedia: MDSD, http://de.wikipedia.org/wiki/MDSD
(ID:263552)