Eclipse Modeling Framework

Eclipse Modeling Framework

Das Eclipse Modeling Framework (EMF) ist ein Open-Source-Java-Framework zur automatisierten Erzeugung von Quelltext anhand von strukturierten Modellen. Es ist ein Projekt der Eclipse-Open-Source-Gemeinschaft.

Inhaltsverzeichnis

Vorgehensweise

EMF kann aus einem Modell Java-Code erzeugen. Das so erzeugte Java-Programm kann Instanzen dieses Modells erstellen, abfragen, manipulieren, serialisieren (eingebaut als XMI oder anderes XML, mit Plugin auch in einer relationalen DB), validieren und auf Änderungen überwachen (für MVC). Darüber hinaus wird JUnit-Code erzeugt, der den generierten Code testet. Das Modell selbst kann aus einer XSD (wie etwa bei JAXB), aus annotierten Java-Interfaces oder aus UML-Diagrammen (Rose, MagicDraw und Omondo) generiert werden, oder auch von Hand (mit einem "Baumeditor") erstellt werden. Der aus dem Modell generierte Code umfasst den eigentlichen Modell-Code (wie ihn etwa JAXB erzeugt), Code für Wizards, Editoren, bis hin zum Code für die eigentliche RCP-Anwendung. Das Modell selbst, die Generierung daraus 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).

Bestandteile

  • Ecore-Metamodell, basierend auf dem EMOF-Standard (Essential Meta-Object Facility).
  • 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

  • Enge Eclipse-Integration: Generierung von UI-Komponenten, Zusammenarbeit mit anderen Eclipse-Projekten, etwa im Eclipse Graphical Modeling Framework (GMF).
  • Man bekommt als Entwickler viel geschenkt, etwa Serialisierung und Validierung. Dies steigert die Produktivität beim Entwickeln.
  • Wenig Einarbeitungszeit notwendig zum Modellieren aufgrund vieler Möglichkeiten der Modellierung (XSD, UML, Java-Interfaces)
  • Einsatz von Code-Generatoren und MDD (Model Driven Development) steigert im Allgemeinen Produktivität und reduziert Wiederholungen und damit mögliche Fehlerquellen.
  • Basiert auf offenen Standards und Open-Source-Frameworks.

Weblinks


Wikimedia Foundation.

Игры ⚽ Нужно сделать НИР?

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Eclipse Modeling Framework — Développeur Fondation Eclipse Dernière version 2.6 (25 février  …   Wikipédia en Français

  • Eclipse Modeling Framework — Тип Software development Разработчик Eclipse Foundation Написана на Java Операционная система Cross platform …   Википедия

  • Eclipse Modeling Framework — Infobox Software name = Eclipse Modeling Framework developer = Eclipse Foundation latest release version = latest release date = operating system = Cross platform platform = Java platform programming language = Java genre = license = Eclipse… …   Wikipedia

  • Eclipse Modeling Project — The Eclipse Modeling Project (EMP) focuses on the evolution and promotion of model based development technologies within the Eclipse community. Borland Software and IBM are co leaders of the project and are teaming to continue to advance Eclipse… …   Wikipedia

  • Eclipse Process Framework — The Eclipse Process Framework (EPF) is an open source project that is managed by the Eclipse Foundation. It lies under the top level Eclipse Technology Project. It has two goals:*To provide an extensible framework and exemplary tools for software …   Wikipedia

  • List of Eclipse Modeling Framework based software — List of tools internally available from the Eclipse platform= * Connected Data Objects (CDO), a free implementation of a Distributed Shared Model on top of EMF * [http://www.eclipse.org/m2m/ M2M] : a framework for model to model transformation… …   Wikipedia

  • Graphical Modeling Framework — Infobox Software name = Graphical Modeling Framework developer = Eclipse Foundation latest release version = latest release date = operating system = Cross platform platform = Java platform programming language = Java genre = license = Eclipse… …   Wikipedia

  • Generic Eclipse Modeling System — Infobox Software name = Generic Eclipse Modeling System developer = Eclipse Foundation latest release version = latest release date = operating system = Cross platform platform = Java platform programming language = Java genre = license = Eclipse …   Wikipedia

  • Graphical Modeling Framework — Pour les articles homonymes, voir GMF. Graphical Modeling Framework …   Wikipédia en Français

  • Eclipse (Logiciel) — Pour les articles homonymes, voir Eclipse. Eclipse Développeur …   Wikipédia en Français

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”