Das Plugin Model Repository wird wie ein gewöhnliches Eclipse Plugin eingebunden. Hierzu wird das plugin.jar in den Eclipse Plugin Ordner gelegt.
Im Plugin
Model Repository
muss unter
Window/Preferences/Model Repository
die
Service Endpoint URI
eingetragen werden.
Um mit dem Repository zu arbeiten, wird die View
Model Repository
aufgerufen. Sie befindet sich unter
Window/Show View/Other/Model Repository/Model Repository
und wird
in die bestehende Perspektive eingebettet.
In der Metamodellierung unterscheidet man mehrere Modellebenen. Speziell für dieses Projekt sind drei Modellebenen interessant. Die höchste Abstraktionsebene ist die M3 Ebene. Auf dieser Ebene befindet sich das EMF Ecore Modell. Modelle der Ebene M3, der Metametaebene , sind in der Lage sich selbst zu reproduzieren. Ausprägungen der M3 Ebene sind Modelle der Ebene M2, die Metaebene . Die niedrigste Abstraktionsstufe (M1) bilden Ausprägungen der Metamodelle.
Diese Hierarchie wird im Plugin Model Repository durch die Baumstruktur nachgebildet. Allgemein bedeutet dies, Modelle befinden sich in der Baumstruktur unterhalb ihres Metamodells. Konkret, Metamodelle befinden sich unterhalb ihres Metametamodells und konkrete Ausprägungen unterhalb ihres Metamodells . Beim Speichern eines Modells ist daher die Existenz des jeweiligen Metamodells nötig, da das neue Modell seinem Metamodell zugeordnet wird, siehe hierzu auch Design der neo4j Datenbank . Metametamodelle, wie z.B. das EMF Ecore Modell, können natürlich ohne weiteres sofort in ein Repository abgelegt werden, da sie sich selbst erzeugen.
Dieser Screenshot zeigt Modelle im Workspace. Es befinden sich 6 Modelle im Workspace.
Zur Namensgebung der Modelle im Workspace
Grundsätzlich ist die Benennung der Modelle nicht relevant. Jegliche Funktionalität ist unabhängig von Dateinamen. Jedoch empfehlen die Autoren folgendes Schema zu verwenden. Die Benennung von Modellen im Workspace folgt im Beispiel dem Schema [Modellname im Workspace].[Modelltyp]. Der Teil vor dem Punkt bezeichnet den Namen des Modells im Workspace und der Abschnitt nach dem Punkt bezeichnet den Typ des Modells. Zum Beispiel besitzt das oberste Modell den Namen ecore vom Typ ecore . Es ist im Rahmen der Aufgabenstellung des Projekts das einzige M3 Modell, praktisch kann allerdings jedes Metametamodell, dass mit der Notation von EMF Ecore beschrieben werden kann (z.B. UML, XMI und andere), mit dem Model Repository verwaltet werden. Allerdings würde dieses Metametamodell vom Modelrepository wie ein M2-Modell behandelt. Das zweite Modell mit Namen flughafen ist ein Instanzmodell des Metametamodells ecore.ecore und besitzt daher die Endung .ecore . Auf der gleichen Ebene befinden sich library.ecore und test.ecore , sie alle haben ecore.ecore als Metamodell . Instanzen der M1 Modelle werden mit .xmi benannt. Das Modell Library.xmi ist ein Instanzmodell von library.ecore .