Modellierung

Aus Eclipse
Wechseln zu: Navigation, Suche

Überblick

Im Eclipse-Umfeld gibt es sehr viele Frameworks und Tools, die sich mit dem Thema Modellierung und Model Driven Development (MDD) beschäftigen. Im Rahmen von Eclipse existieren mehrere Dachprojekte im Bereich Modellierung. Die Projekte sind in Eclipse hierarchisch aufgebaut, hier eine Auswahl:

[Eclipse Modeling Project]
Hier sind alle Projekte, die etwas mit Modellierung und Eclipse zu tun haben, aufgeführt.
[Model Development Tools (MDT)]
Im MDT sind diverse Projekte im Bereich von UML angesiedelt, etwa Java-/EMF-basierte Umsetzungen von UML oder OCL
[Generative Modeling Technologies (GMT)]
Viele Tools sind unter diesem Projekt zusammengefasst. Es handelt sich hierbei zumeist um MDD-Umgebungen, die u.a. Modelltransformationen bereitstellen.
[M2M]
Das M2M-Projekt fasst mehrere Transformationssprachen zusammen, unter anderem ATL und QVT. QVT befindet sich noch im Eclipse Inkubator, aktuell ist nur eine operationale Variante erhältlich.

Die einzelnen Tools sind sehr unterschiedlich ausgereift, so gibt es in der Praxis erprobte Frameworks (wie EMF oder oAW), auf der anderen Seite werden manche Projekte nur genannt und sind noch gar nicht verfügbar (etwa Declarative QVT). Die folgend aufgeführten Projekte bieten nur eine Auswahl der bekanntesten Tools und Frameworks!

Zum Teil gibt es Überschneidungen mit Frameworks für Graphische Editoren.

Grundlagentechnologien

[Eclipse Modeling Framework, kurz EMF]
EMF bietet ein Runtime-Framework, um UML-Klassenmodell-ähnliche Modelle in Java umzusetzen. I.A. werden dazu Modelle mit einem Editor, entweder einem graphischen Editor oder dem von EMF mitgelieferten Baum-basierten Editor, erzeugt, um dann mittels des Generatorteils von EMF in eine Java-Implementierung überführt zu werden. Diese beherrscht dann Features wie Konsinstenzsicherung zweiseitiger Assoziationen, Umsetzung des Observer-Patterns, Persistierung (etwa in XML oder XMI). EMF ist eine Umsetzung der OMG EMOF-Spezifikation, es wird in so ziemlich allen Tools, die irgendetwas mit Modellen zu tun haben, verwendet. Es existieren einige Erweiterungen für EMF, etwa für Transaktionen, OCL oder zur Validierung.
[UML2]
UML2 ist eine EMF-basierte Umsetzung der UML-Spezifikation und wird von vielen UML-Editoren eingesetzt.

Tutorials

Neben den Tutorials auf den jeweiligen Projektseiten sind folgende Tutorials und Materialien zu empfehlen:

  • B. Moore, D. Dean, A. Gerber, G. Wagenknecht, and P. Vanderheyden. Eclipse Development using the Graphical Editing Framework and the Eclipse Modeling Framework. IBM Redbook. IBM, 2004. ISBN 0738453161. URL [[1]] Dieses Buch ist der Klassiker wenn es um GEF und EMF geht!
  • F. Budinsky, D. Steinberg, E. Merks, R. Ellersick, and T. J. Grose. Eclipse Modeling Framework (The Eclipse Series). The Eclipse Series. Addison-Wesley, 2003. Die EMF-Bibel
  • J. von Pilgrim. Agile MDA mit EMF: dargestellt am Beispiel einer PHP-Website. Eclipse Magazin, 2, S. 78–84, Feb. 2005. URL [[2]]. Kurze Einführung in EMF und [JET] (der Generatorteil von EMF)

Transformationen

Im Rahmen von MDD werden Modelle in Modelle (Model-To-Model, kurz M2M) und in Code (Model-To-Text, kurz M2T) transformiert. In diesem Bereich existieren im Eclipse-Umfeld einige Tools, hier eine Auswahl der bekanntesten:

[ATLAS Transformation Language, kurz ATL]
Hybride Sprache die operationale und deklarative Konzepte für M2M-Transformationen. Obwohl ATL im wissenschaftlichen Umfeld sehr häufig anzutreffen ist, und sogar ein Debugger bereitsteht, ist das Tool, gerade für Anfänger, problematisch, da häufig nur schlechte Fehlermeldungen erzeugt werden und die Sprache einige Fallstricke hat. Zu ATL wurde auch eine Abschlussarbeit angefertigt (Anfragen an Jens.vonPilgrim@FernUni-Hagen.de)
[openArchitectureWare, kurz oAW]
Erprobtes Tool mit Sprachen für M2C (Xpand) und M2M (Xtend). Daneben bietet oAW einen Generator zur Erzeugung textueller Editoren (xText). Neben den Tutorials auf der oAW-Seite ist, für MDD allgemein, das Buch
T. Stahl, M. Völter, S. Efftinge, and A. Haase. Modellgetriebene Softwareentwicklung. Techniken, Engineering, Management. dpunkt.verlag, 2. Auflage, 2007. ISBN 978-3-89864-448-8.
zu empfehlen.