Download

Die Quellen des Projekts MDE4CPP stehen auf GitHub zur Verfügung. Das GitHub-Projekt ist unterteilt in die verschiedenen Teilprojekte:

  • Das eigentliche MDE4CPP-Projekt
  • Das MDE4CPPGradlePlugins: Grade Plugin zum bauen der MDE4CPP-Teilprojekte
  • Den UML-Designer für MDE4CPP: MDE4CPP fork des UML-Designers

Das MDE4CPP-Projekt enthält die Teilprojekte ecore4CPP, UML4CPPfUML4CPP, PSCS4CPP und OCL4CPP. Jedes dieser Teilprojekte enthält die notwendigen Modelle und Generatoren. Zusätzlich enthält das Projekt verschiedene Beispiele, Tests und Benchmarks. Bitte beachten Sie, dass die hier zur Verfügung gestellten Quellen Ergebnisse laufender Forschungsarbeiten sind und zwar compilierfähig und lauffähig sind, jedoch nicht vollständig implementiert oder fehlerfrei sind.

Lizenz und eigene Beiträge

Die Generatoren, Beispiele und generierten Dateien stehen unter MIT-Lizenz zur Verfügung. Die Modelle stammen von der Eclipse Foundation und stehen daher unter EPL-Lizenz zur Verfügung.

Für die Bearbeitung eigener Projekte kann im Projektverzeichnis das userProjects-Verzeichnis verwendet werden. Eigene Beiträge zum MDE4CPP-Projekt können über github eingereicht werden. Darüberhinaus können Sie uns gerne kontaktieren. Wir freuen uns über Ihre Beteiligung oder die Verwendung unseres Projektes.

Installationsanleitung

Das „MDE4CPP Setup & Installation Guide“ umfasst Schritt-für-Schritt-Anleitungen zum Aufsetzen und Konfigurieren des MDE4CPP-Frameworks sowie Beschreibungen und Installationsanleitungen aller benötigten Third-Party-Software-Komponenten. Hierzu gehören neben dem MDE4CPP-Framework unter anderem Tools zur Erstellung von Modelldateien, zum Erstellen von Code-Generatoren, Compiler sowie Build-Tools.

Aufbau des MDE4CPP Setup & Installation Guide

Das „MDE4CPP Setup & Installation Guide“ ist in 4 Kapitel gegliedert. Nach einer kurzen Einleitung werden alle benötigten Third-Party-Softwarekomponenten zusammen mit empfohlenen Softwareversionen aufgelistet. Die aufgeführten Softwareversionen sind zum Zeitpunkt der Erstellung des Tutorials aktuell.

In Kapitel 2 des Installation Guides werden die Installationsprozesse der einzelnen für das MDE4CPP-Framework benötigten Third-Party-Softwarekomponenten erläutert. Folgende Softwarekomponenten werden beschrieben:

  • Java Development Kit: Ein Java-SDK
  • Eclipse Modelling Tools: Entwicklungsumgebung der Eclipse Foundation zum Erstellen von Ecore- und UML-Modellen
  • Acceleo: Erweiterung der Eclipse Modelling Tools, Open-Source Codegenerator der Eclipse Foundation
  • Sirius: Erweiterung der Eclipse Modelling Tools zum Erstellen benutzerdefinierter graphischer Modellierungswerkzeuge
  • Amalgam: Erweiterung der Eclipse Modelling Tools zur Verwaltung von Projektkomponenten
  • UML-Designer: auf Sirius basierendes Graphisches Open-Source Modellierungswerkzeug für UML-Modelle
  • MinGW: Portierung der GNU Compiler Collection für Windows (enthält den Open-Source C++-Compiler g++)
  • CMake: Softwareerstellungswerkzeug (Build-Management-Tool)
  • Gradle: Softwareerstellungswerkzeug (Build-Management-Tool)

Nach der Installation der oben beschriebenen Third-Party-Software, kann das MDE4CPP-Framework aufgesetzt werden. Wie das Framework aus dem MDE4CPP-GibHub-Repository bezogen werden kann, wird in Kapitel 3 des Installation Guide erläutert.

Wenn das MDE4CPP-Framework sowie alle benötigten Softwarekomponenten installiert sind, können im letzten Schritt des Setupprozesses die Metamodelle und Generatoren von MDE4CPP kompiliert werden. Das ist entweder modular oder automatisch für alle Komponenten mit Hilfe der Gradle Software und so genannter Gradle Tasks möglich. Zum MDE4CPP-Framework gehören Gradle Tasks zum Generieren von C++-Quellcode aus Modellen, Kompilieren von Quellcode, und mehrere Management-Tasks. Damit Gradle solche Tasks ausführen kann, müssen verschiedene Umgebungsparameter gesetzt sein. Hierfür existiert in MDE4CPP ein Batch-Script namens „setenv.bat“, das vor Ausführung von Gradle Tasks die benötigten Umgebungsparameter setzt. In Kapitel 4 des Installation Guide wird die korrekte Parametrierung dieses Scripts beschrieben. Zu konfigurierende Parameter sind zum Beispiel Dateipfade zu anderen Softwarekomponenten, die zum Ausführen der Tasks benötigt werden (z.B. CMake, MinGW, Eclipse Modelling Framework), Gradle-eigene Variablen (z.B. Festlegen von Debug- und/oder Releasekonfiguration zum Kompilieren)  sowie Versions-Informationen des verwendeten Compilers.