Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Christian Kästner Modellgetriebene Softwareentwicklung Eclipse Modelling Framework.

Ähnliche Präsentationen


Präsentation zum Thema: "Christian Kästner Modellgetriebene Softwareentwicklung Eclipse Modelling Framework."—  Präsentation transkript:

1 Christian Kästner Modellgetriebene Softwareentwicklung Eclipse Modelling Framework

2 EMF / Christian Kästner / 2 Überblick Einleitung EMF Einordnung Eclipse Platform Modellerstellung Code Generierung Zusammenfassung/Ausblick

3 EMF / Christian Kästner / 3 EMF Was ist EMF Framework für strukturierte Modelle (beschreiben und erstellen) Java Code Generator Teilprojekt von Eclipse, Open Source Framework, für Entwickler Üblicher Anwendungsfall: Erstellung von Datenmodellen für Java Applikationen, als Alternative zu POJOs Kann Eclipse Editoren für die Modelle generieren

4 EMF / Christian Kästner / 4 EMF im MDSD Kontext EMF ist ein Werkzeug im Rahmen der MDSD, bildet aber nur einen Teil ab Plattformunabhängige Modellierung, aber deutliche Ergänzungen am generierten Code Nur Java-Code Generierung

5 EMF / Christian Kästner / 5 Eclipse

6 EMF / Christian Kästner / 6 Eclipse Architektur

7 EMF / Christian Kästner / 7 Metamodelle EMF begann als Implementierung der MOF Internes MOF-ähnliches Meta Modell wird Ecore genannt. Beschränkt sich auf den Kern der MOF MOF 2.0 definiert einen ähnlichen Kern genannt EMOF (Essential MOF), der mit Ecore vergleichbar ist. Transformation von MOF nach Ecore und zurück i.d.R. problemlos möglich.

8 EMF / Christian Kästner / 8 Erstellung von Modellen EMF kann Modelle aus XMI laden Manuell erzeugt mit einem XML oder Text-Editor Exportiert aus Modellierungswerkzeugen wie Rational Rose Editor-Plugins für Eclipse die EMF-Modelle erstellen und bearbeiten können z.B. Omondo Modelle können aus kommentierten Java Interfaces generiert werden. Best of Breed EMF definiert nur Basisstruktur und einen sehr grundlegenden Editor Tools wie Rational Rose oder Omondo zum Bearbeiten der Modelle, der Benutzer kann bestes Werkzeug auswählen

9 EMF / Christian Kästner / 9 Beispiel

10 EMF / Christian Kästner / 10 Ecore Darstellung

11 EMF / Christian Kästner / 11 Kommentiertes Java-Interface /** * @model */ public interface Book { /** * @model */ String getTitle(); /** * @model */ int getPages(); }

12 EMF / Christian Kästner / 12 Generierter Java-Code public class BookImpl extends EObjectImpl implements Book { [...] protected static final int PAGES_EDEFAULT = 0; protected int pages = PAGES_EDEFAULT; /** * @generated */ public int getPages() { return pages; } /** * @generated */ public void setPages(int newPages) { int oldPages = pages; pages = newPages; if (eNotificationRequired()) eNotify(new ENotificationImpl(this, Notification.SET, LibraryPackage.BOOK__PAGES, oldPages, pages)); } [...]

13 EMF / Christian Kästner / 13 Anpassung des Java-Codes In den generierten Javaklassen können eigene Methoden und Member hinzugefügt werden. Generierte Methoden können überschrieben werden indem das @generated – JavaDoc-Tag entfernt wird Ersetzen der generierten Methode durch eine mit Gen-Postfix

14 EMF / Christian Kästner / 14 Vorteile des generierten Java-Codes Trennung von Interface und Implementierung Factory Pattern für leichte Erweiterbarkeit Notifier für alle Attribute durch Observer Pattern Lazy Loading durch Proxy Pattern Leichter Zugriff auf Metadaten via Reflection Referenzielle Integrität Serialisation nach XMI Persistenz Leichter Austausch von Daten mit XML-Dateien Referenzen bleiben erhalten auch über mehrere Dateien

15 EMF / Christian Kästner / 15 Zusammenfassung / Ausblick Eclipse Modeling Framework (EMF) ist ein leistungsstarkes Framework zur Generierung von Java-Code auf Basis eines EMF-Klassenmodells Generierte Modelle häufig effizienter als POJOs Bereits praktisch einsetzbar Intern in vielen IBM Produkten genutzt z.B. Websphere Sehr leicht Editoren, zukünftig auch graphische Editoren für die Modelle generierbar

16 EMF / Christian Kästner / 16 Literatur B. Moore, D. Dean, A. Gerber, G. Wagenknecht und P. Vanderheyden, Eclipse Development using the Graphical Editing Framework and the Eclipse Modeling Framework, Redbooks IBM, 2004 www.eclipse.org/emf

17 EMF / Christian Kästner / 17 Danke für die Aufmerksamkeit


Herunterladen ppt "Christian Kästner Modellgetriebene Softwareentwicklung Eclipse Modelling Framework."

Ähnliche Präsentationen


Google-Anzeigen