Nützliche MDSD Werkzeuge

 

Werkzeug Zweck Details
JenerateIT Generierung
  • Mit Java entwickeltes, API-basiertes, Open Source Generierungswerkzeug, Nutzung von Templates trotzdem möglich.
  • Jede strukturierte Information, die mit Java-Mitteln gelesen werden kann, ist als Modell nutzbar.
  • Integration in Eclipse 3.5+ verfügbar.
  • Kernfunktionalität von JenerateIT ist von Eclipse unabhängig und dadurch leicht in weitere Werkzeuge integrierbar.
  • Generierungs-Logik wird objektorientiert mit Java entwickelt.
MetaEdit+ Modellierung
Generierung
  • Leistungsfähiges Modellierungswerkzeug zur Entwicklung und Nutzung von domänenspezifischen Sprachen – hohe Lizenzkosten, günstige Einstiegslizenz erhältlich.
  • Beinhaltet eine template-basierte Generierungs-Engine, über die sich beliebiger textueller Output erzeugen lässt. Die Engine greift direkt auf im Memory liegende Modelle zu.
  • Mit MetaEdit+ lässt sich das Aussehen, die Bedienung und die Diagrammtypen einer mit dem Werkzeug erstellten domänenspezifischen Sprache in hohem Maße nach eigenen Wünschen beeinflussen. Die Möglichkeiten gehen hier weiter als bei der DSL Customization Engine des UML-Werkzeugs MagicDraw.
  • Bietet die Möglichkeit, über Web-Services auf Modelle zuzugreifen. Ein solcher Zugriff ist im Vergleich zu einem direkten API-Zugriff, wie zum Beispiel beim UML-Werkzeug MagicDraw, deutlich langsamer.
MagicDraw Modellierung
Generierung
  • Low-cost UML-Modellierungswerkzeug
  • Bietet built-in Generierungs-Funktionalität, die der Synchronisierung von Modell und Code (Round-Trip Engineering Methode) dient
  • Leistungsfähige DSL Customization Engine ermöglicht es, eigene Modellierungsstile mit eigenem Erscheinungsbild, eigenen Diagrammtypen und angepassten Bedienungsmöglichkeiten umzusetzen.
  • Enthält umfangreiches, gut dokumentiertes Java-API (OpenAPI genannt) zum lesenden und schreibenden Zugriff auf Modelle, Projekte und das User-Interface.
Xtext Modellierung
  • Textuelles Open Source Modellierungswerkzeug (Eclipse).
  • Erzeugt und liest Modelle, die auf EMF/Ecore basieren.
  • Zur Code-Generierung können EMF-basierte Generierungs-Frameworks (JET, Xpand) und jedes andere Generierungswerkzeug, das EMF/Ecore basierte Modelle lesen kann, genutzt werden.
  • Mit Xtext wird zuerst eine Grammatik definiert. Diese Grammatik bestimmt die Modellierungssprache.
  • Xtext ermöglicht eine schnelle, unproblematische änderung einer Modellierungssprache. Gleichzeitig wird die textuelle Natur von Xtext-Modellen das Versionieren, Vergleichen und die Teamarbeit mit Modellen stark vereinfacht.
Xpand Generierung
  • Template-basiertes Open Source Generierungswerkzeug/Template-Sprache für auf EMF/Ecore basierende Modelle.
  • Eignet sich zum Beispiel gut dazu, Generierungs-Logik für mit Xtext erstellte Modelle zu entwickeln.
  • Früher unter dem Namen openArchitectureWare bekannt, openArchitectureWare ist inzwischen aufgespalten und in das Eclipse-Ecosystem integriert worden.
MPS (Meta Programming System) Modellierung
Generierung
  • Open Source Entwicklungs-Werkzeug, welches dem „Language Oriented Programming“ Paradigma folgt.
  • Es können mehrere Modellierungssprachen definiert werden, die dann Schritt für Schritt mit Modell-zu-Modell Transformationen in eine Zielsprache überführt werden. Die Zielsprache ist typischerweise eine höhere Programmiersprache, z.B. Java.
  • Die Darstellung und Nutzung der definierten Sprachen geschieht über Editoren, die direkt auf dem sogenannten abstrakten Syntax-Tree arbeiten.
  • Es wird kein konkreter Syntax (Notation) verwendet, wodurch Parser- und Lexer-Schritte bei den erwähnten Modell-zu-Modell Transformationen komplett entfallen.