Ecore for MDE4CPP Tutorial

Das „Ecore for MDE4CPP Tutorial“ umfasst vier einzelne Tutorials zur Erstellung von und Arbeit mit Ecore-Modellen in MDE4CPP. Die Tutorials erfassen die folgenden Anwendungsszenarien von ecore4CPP:

  • Erzeugen von Ecore-Modellen durch ein C++-Programm unter der Verwendung der Ecore-C++-Programmbibliothek von ecore4CPP
  • Erstellen von Ecore-Modellen mit Hilfe des Eclipse Modelling Framework und generieren von kompilierbarem C++-Quelltext aus Diesen
  • Implementieren benutzerdefinierter Methoden für Klassen eines Ecore-Modells mit Hilfe des Eclipse Modelling Framework
  • Einbinden und verwenden von aus Modellcode kompilierten dynamischen Programmbibliotheken mit Hilfe des MDE4CPP-Plugin-Framework
 

Zur Verdeutlichung der oben genannten Prozesse wurden drei Beispielprojekte ausgehend von einem Referenzmodell erstellt. Die Dokumentationen zur Erstellung der Beispielprojekte sind der Kernbestandteil des „Ecore for MDE4CPP Tutorial“. Die zu einem Beispielprojekt gehörenden Tutorials erläutern jeweils den vollständigen Workflow vom Schritt der Projekterstellung über die Umsetzung des Projekts bis hin zur Generierung von Quellcode aus einem erstellten Ecore-Modell und der Kompilierung eines implementierten C++-Programms.

Aufbau des Tutorials

Das „Ecore for MDE4CPP Tutorial“ enthält vier einzelne Tutorials, von denen jedes jeweils noch einmal in drei bis sechs Teilschritte gegliedert ist. Nach einer kurzen Einleitung wird das für dieses Tutorial verwendete Referenzmodell vorgestellt.

Das Referenzmodell zeigt einen Ausschnitt eines typischen Universitäts-Anwendungsfalls mit Klassen wie „Student“, „Faculty“, „Professor“ oder „Exam“. Ziel war ein verständliches und übersichtliches Referenzmodell, welches trotzdem fundamentale Modellelemente von Ecore enthält. Modellelemente, die im Referenzmodell genutzt werden sind beispielsweise Klassen, Attribute, Operationen, Datentypen, Generalisierungen, sowie Referenzen.

Die vier Tutorials beschreiben die Erstellungsprozesse der folgenden Beispielprojekte:

Das Ergebnis jedes Tutorials ist eine ausführbare Anwendung, die eine Ausgabe zur Validierung des implementierten Projektes liefert. Ein Tutorial beschreibt also einen in sich abgeschlossenen Workflow. Allerdings erweitern die letzten beiden Tutorials das jeweils Vorangegangene und bauen somit aufeinander auf.