Modellgetriebene Entwicklung mit Ecore für C++ (ecore4CPP)

Grundlage dieses Teilprojektes ist es lauffähige Applikationen auf Grundlage von Ecore-Modellen zu erstellen. Grundlegendes Metamodel ist das ecore-Metamodell, das aus dem Eclipse-Modeling Framework. Mit Hilfe des ecore4CPP generators und einem C++Compiler wird aus dem ecore.ecore Modell eine ecore Bibliothek (binary und C++ Headerfiles). Das Metamodell dient ensprechend des Reflection-Pattern als Meta-Ebene für alle weiteren Anwendungen der ecore Modelle. Für alle weiteren Modelle (UML4CPP, fUML4CPP) dient das ecore-Metamodell als Beschreibungsebene (Metaebene). Desweiteren kann man das ecore4CPP-Projekte folgendermaßen anwenden:

  • ecore-basierte Applikationen erstellen (mittels C++ Programm EPackage, EClass, EAttribut usw. zur Laufzeit anlegen).
  • Die zur Laufzeit erstellten Modelle speichern und laden (xmi-konform).
  • Die gespeicherten Modelle mit anderen ecore-Tools (z.B.: Eclipse-EcoreTools) öffnen und bearbeiten.
  • Auf Grundlage eines irgrndwie erstellten ecore-Modells eine ecore-Bibliothek (Binary+Header) erstellen. Zum Beispiel: erstellen eines Familien-Metamodells; Generierung einer Familien-Bibliothek.
  • Durch Anreicherung von Operationen eines ecore-Modells mit C++ Quellcode und Definition einer Main-Operation (incl. Quellcode), Generierung einer Lauffähigen Applikation. Zum Beispiel: Programm zur Familienverwaltung.
  • Erstellung von Modellen auf Grundlage der generierten ecore-Modelle zur Laufzeit (z.B.: eine Familiendatenbank).
  • Speichern und laden von Modellen in Eclipse-EMF kompatiblen XMI-Dateien (z.B.: eine Familiendatenbank ans .xmi-Datei).
  • Laden und Editieren der gespeicherten Modell-Dateien mittels Eclipse-EMF generierten Editoren.

Weitere Informationen, eine Installationsanleitung, Beispiele und Tutorials finden Sie hier.