Zum Inhalt springen

Eclipse Modeling Framework

aus Wikipedia, der freien Enzyklopädie
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 30. Januar 2014 um 16:14 Uhr durch Elektrolurch (Diskussion | Beiträge) (Bestandteile). Sie kann sich erheblich von der aktuellen Version unterscheiden.

Das Eclipse Modeling Framework (EMF) ist ein quelloffenes Java-Framework für Modellierung. Es ermöglicht unter anderem die automatisierte Erzeugung von Quelltext aus Modellen. EMF ist ein Projekt der Eclipse-Open-Source-Gemeinschaft.

Vorgehensweise

Im Zentrum der Softwareentwicklung mit EMF stehen Domänenmodelle. Ein Domänenmodell ist ein Modell des abzubildenden Problembereichs in Form eines Klassendiagramms. Zum Lieferumfang von EMF gehören zwei Editoren, mit denen sich Domänenmodelle erstellen und erweitern lassen. Daneben ist es möglich, das Domänenmodell aus einer anderen Darstellung zu konvertieren. Unterstützt werden XSD-Schemen (wie etwa bei JAXB), annotierte Java-Interfaces und UML-Diagrammen (Rose, TOPCASED, MagicDraw und Omondo) erzeugt werden.

Für das angegebene Domänenmodell erzeugt EMF einen Editor, mit dem sich Instanzen dieses Modells erstellen, abfragen, manipulieren, im XMI-Format serialisieren, validieren und im Stil des MVC-Entwurfsmusters auf Änderungen überwachen lassen. Darüber hinaus wird JUnit-Code erzeugt, der den generierten Code testet.

Der Generierungsvorgang sowie der generierte Code können angepasst werden. Implementierte Funktionalität und neu generierter Code werden dabei gemerged (JMerge, siehe unten). Für weitergehende Ansprüche bietet EMF etwa die Möglichkeit, Modelle dynamisch zur Laufzeit zu generieren (etwa wenn erst dann das Modell bekannt ist). Durch Verwendung von Plugins ist es möglich, vollständige RCP-Anwendungen generieren zu lassen und Modellinstanzen in beliebigen Datenbanken zu persistieren.

Bestandteile

  • Ecore-Metamodell, basierend auf einer Teilmenge des MOF-Standards für Metamodelierung (Meta Object Facility). Das Ecore-Metamodell ist der Beschreibungsansatz für die Domänenmodelle, die im Zentrum der Entwicklung mit EMF stehen. Die in Ecore verwendete Teilmenge von MOF ist als EMOF (Essential MOF) in den MOF-Standard zurückgeflossen.
  • JET (Java Emitter Templates), ein Framework zur Code-Generierung. Verwendet eine Untermenge von JSP zur Beschreibung des zu generierenden Textes. Ermöglicht das Schreiben des zu generierenden Textes unter Einsetzung von Ergebnissen von Java-Anweisungen (wie bei JSPs).
  • JMerge zum Abstimmen von Änderungen am Modell und an den generierten Klassen.
  • Die SDO-Referenzimplementierung von IBM nutzt EMF und ist Teil der EMF-Installation.
  • Das XML Schema Infoset Model, darauf aufbauend bieten die Eclipse Web Tools u. a. einen graphischen Editor.

Vorteile

Einer der größten Vorteile ist die Integration in die Eclipse-Werkzeugplattform. Dies ermöglicht die Generierung von UI-Komponenten sowie die Zusammenarbeit mit anderen Eclipse-Projekten, etwa im Eclipse Graphical Modeling Framework (GMF). Serialisierung und Validierung steigern die Produktivität beim Entwickeln. Außerdem ist die Einarbeitungszeit gering aufgrund vieler Möglichkeiten der Modellierung (XSD, UML, Java-Interfaces). Der Einsatz von Code-Generatoren und MDD (Model Driven Development) steigert ebenfalls die Produktivität, reduziert Wiederholungen und damit mögliche Fehlerquellen.

Open Source Frameworks rund um EMF