Modellgetriebene Softwareentwicklung erlaubt schnelleres und vereinfachtes Entwickeln von Software durch das Bereitstellen einer höheren Abstraktionsebene als Code. Modellgetriebene Programme generieren Code oft teilweise oder vollständig mithilfe von Modellen. Aus diesem Grund benötigt man ein geeignetes Modell, um modellgetriebene Prozesse verwenden zu können. Das Eclipse Modeling Framework bietet das sogenannte Ecore Metametamodell, welches das Erstellen von Metamodellen ermöglicht, die für modellgetriebene Softwareentwicklung genutzt werden können.
Mithilfe des Eclipse Modeling Frameworks ist es möglich, Java Code zu generieren. Dieser generierte Code folgt spezifischen Mustern. Zum Beispiel unterscheidet er für jede Klasse zwischen Schnittstelle und Implementierung. Viele Programme sind auf diese spezifischen Muster angewiesen und können deshalb nur mit Java Code verwendet werden, welcher diese Muster enthält. Das ist üblicherweise Code, der mithilfe eines Ecore Metamodells generiert wurde.
In dieser Arbeit stellen wir einen Ansatz für die automatische Integration von Ecore Funktionalität in Java Code vor. Dieser Ansatz ermöglicht die Verwendung von Ecore-abhängigen Programmen mit existierendem Java Code. Um die Integration von Ecore Funktionalität zu ermöglichen, entwickelt diese Arbeit einen Ansatz für die Extraktion von Ecore Metamodellen aus Java Code. In ihrem Zentrum steht eine Abbildung von Elementen des impliziten Java Metamodells auf Elemente des Ecore Metametamodells. Diese Extraktion kann unabhängig von der Integration von Ecore Funktionalität als Reverse Engineering Programm verwendet werden.
Wir erbringen einen Nachweis für die Korrektheit unseres Ansatzes, indem wir Ecore Funktionalität in zwei Java Projekte integrieren und auf diese dann eine Modelltransformation anwenden, was zuvor nur auf Code, der aus Ecore Metamodellen generiert wurde, möglich war