Modellrepository
In der modellgetriebenen Softwareentwicklung sind die zugrunde liegenden Modelle
die wichtigsten Artefakte.
Auch wenn sich dieser Ansatz zunehmendem Zuspruch
erfreut, ist die Infrastruktur zur Verwaltung von Modellen
noch nicht sehr weit
gediehen. Daher soll, aufbauend auf der Netzwerkdatenbank Neo Database, ein
erweiterbares
Ablage- und Verwaltungssystem für Modelle (M1), deren Metamodelle
(M2) und deren Metametamodell (EMF Ecore)
(M3) entwickelt werden.
Folgende Funktionen sind in diesem Projektierungsseminar zu implementieren:
- Speichern bzw. Laden von (Meta-)Modellen in bzw. aus dem Repository
:
Beim Speichern von Modellen sind diese auf Modellelementebene mit ihren
Metamodellelementen zu verknüpfen.
Zur Vereinfachung wird angenommen, dass
jedes Modellelement zu genau einem Modell gehört und jedes Model nur
einem
Metamodell folgt. Zum Speichern nimmt das Repository die Modelle bzw. die
Modellgraphen als
serialisiertes EMF Ecore-XMI auf. Beim Laden von Modellen
bzw. Modellgraphen aus dem Repository müssen diese
wieder in eine serialisierte
Form des EMF Ecore-XMIs transformiert werden.
-
Es sind folgende
Modelloperatoren
für das Repository zu implementieren:
- Match
:
Ermitteln eines Modellelements, einer Modellstruktur, eines Modells oder
einer Menge von Modellen
- Difference
:
Ermitteln der Unterschiede zwischen zwei Modellen
- Merge
:
Aktualisierung eines bestehenden Modells durch Erweitern oder ggf.
schrittweise Konfliktlösung
-
Das
Repository
ist als
Einzelapplikation
zu entwickeln. Ergänzend
dazu ist eine
graphische Oberfläche
zu implementieren, die als
Plugin
in die Eclipse IDE (http://www.eclipse.org/) integriert werden kann. Damit kann
die Verbindung zum
ausgwählten Modell-Repository projektweise verwaltet werden,
sowie alle Funktionen des Modellrepositories
ansprochen und ggf. auch gesteuert
werden.