Eclipse Modeling Framework

1 / 14 Eclipse Modeling Framework Stefan Berlik Fachgruppe Praktische Informatik FB 12, Elektrotechnik und Informatik Universit¨ at Siegen 14. Novem...
Author: Joseph Böhler
8 downloads 2 Views 324KB Size
1 / 14

Eclipse Modeling Framework Stefan Berlik Fachgruppe Praktische Informatik FB 12, Elektrotechnik und Informatik Universit¨ at Siegen

14. November 2007

Eclipse Modeling Framework 2 / 14

Was ist das Eclipse Modeling Framework (EMF)?

EMF ist Teil des tools project von Eclipse Die Antwort auf Was ist EMF?“ h¨angt davon ab, wen man fragt: ” - EMF ist ein Modellierungs- & Datenintegrations-Framework (Grundlage f¨ ur die Speicherung von Metadaten und Metamodellen)

- EMF ist ein Quelltextgenerierungs-Framework zur Erzeugung von plug-ins f¨ ur Eclipse (Genutzt um Eclipse Editoren zu erzeugen)

Stefan Berlik (Universit¨ at Siegen)

Eclipse Modeling Framework 3 / 14

Wie wird EMF eingesetzt?

[Bacvanski, Graff. 2005]

Stefan Berlik (Universit¨ at Siegen)

Eclipse Modeling Framework 4 / 14

¨ EMF in der Ubersicht

[Bacvanski, Graff. 2005] Stefan Berlik (Universit¨ at Siegen)

Eclipse Modeling Framework 5 / 14

Was ist ecore? ecore ist die EMF Sprache zur Definition von Modellen - d.h. eine Metasprache

ecore erm¨oglicht das Anlegen objektorientierter Modelle ecore wird genutzt um Platform Independent Models zu definieren - Grundlage f¨ ur die Quelltexterzeugung - Standard f¨ ur die Modellierung von Metadaten

Standards - Inspiriert durch MOF 1.4 (Meta Object Facility) der OMG (Object Management Group) ¨ - Uberarbeitet und entspricht jetzt OMGs Essential Meta Object Facility (MOF 2.0 EMOF)

Stefan Berlik (Universit¨ at Siegen)

Eclipse Modeling Framework 6 / 14

Was ist ein ecore Modell?

Erlaubt die Definition struktureller Modelle Diese sind h¨aufig zu finden in Form von - UML Klassendiagrammen - XML Schemadefinitionen - Entity Relationship Diagrammen

Konkret: Spezifikation der Daten einer Anwendung -

Objekte mit Attributen Relationen (Assoziationen) zwischen Objekten Operationen auf Objekten Einfache Bedingungen (z.B. Multiplizit¨ at) von Objekten und Relationen

Stefan Berlik (Universit¨ at Siegen)

Eclipse Modeling Framework 7 / 14

Erzeugen eines Platform Independent Model (PIM) Erzeugung des PIM (ecore-Modells) auf vielf¨altige Art m¨oglich

[Bacvanski, Graff. 2005] Stefan Berlik (Universit¨ at Siegen)

Eclipse Modeling Framework 8 / 14

¨ EMF in der Ubersicht

[Bacvanski, Graff. 2005] Stefan Berlik (Universit¨ at Siegen)

Eclipse Modeling Framework 9 / 14

Das Generatormodell (genmodel) Zus¨atzlich zum ecore-Modell wird ein Generatormodell, das genmodel ben¨ otigt Das genmodel stellt platformspezifische Informationen zu Verf¨ ugung - Im Gegensatz zum ecore-Modell enth¨ alt es nur platformspezifische Informationen

Ohne das genmodel ist Quelltexterzeugung nicht m¨ oglich Mittels des genmodels kann konfiguriert werden, wie der Quelltext generiert werden soll - Welche Pakete sollen genutzt werden - Wie soll die Modellstruktur dargestellt werden - ...

Stefan Berlik (Universit¨ at Siegen)

Eclipse Modeling Framework 10 / 14

Quelltexterzeugung EMF.editor - Umfasst den von Benutzerschnittstellen abh¨ angigen Quelltext - Modell Editor - Modell Erzeugungs-Wizard

EMF.edit - Umfasst den von Benutzerschnittstellen unabh¨ angigen Quelltext - Adapter (item provider) [Bacvanski, Graff. 2005]

EMF.model - Umfasst den PIM basierten Java Modell Quelltext - Schnittstellenklassen f¨ ur alle modellierten Objekte Einschließlich get/set Methoden f¨ ur alle Objektattribute

- Implementatierungsklassen f¨ ur alle Schnittstellen Unterst¨ utzt Modell¨ anderungs-Notifikationen

- Eine Fabrikklasse zur Erzeugung von Exemplaren der Modellobjekte - Eine Paketklasse die Zugriff auf die Metadaten des Modells gew¨ ahrt Stefan Berlik (Universit¨ at Siegen)

Eclipse Modeling Framework 11 / 14

Entwurfsmuster im EMF Das EMF.edit plug-in setzt drei Entwurfsmuster um - Beobachter - Befehl - Adapter

[Bacvanski, Graff. 2005]

Stefan Berlik (Universit¨ at Siegen)

Eclipse Modeling Framework 12 / 14

Demo Modellierung eines einfachen UML-Modells mit EMF

Stefan Berlik (Universit¨ at Siegen)

Eclipse Modeling Framework 13 / 14

Zusammenfassung: EMF . . . Bietet - Ein Modell (ecore) Erzeugt durch Editor, XML Schema, Annotiertem Java, . . .

- Generiert Java Quelltext Effizient und einfach Modifizierbarkeit ist sichergestellt

- Persistenz und Serialisierung Standardm¨ aßig in XMI (XML metadata interchange), kann aber u ¨berschrieben werden

- Eingebauter Notifikationsmechanismus bei Modell¨ anderungen An notwendigen Stellen sind lediglich weitere observer hinzuzuf¨ ugen

- Reflexion und Dynamisches EMF Vollst¨ andige F¨ ahigkeit zur Introspektion

Hebt das (immanente) Modell in die Applikation Steigert die Produktivit¨at und vereinfacht die Integration Mischt Modellierung und Programmierung zur beiderseitigen Effizienzmaximierung Stefan Berlik (Universit¨ at Siegen)

Eclipse Modeling Framework 14 / 14

Weiterf¨uhrende Literatur EMF homepage http://www.eclipse.org/modeling/emf/ B. Moore et al.: Eclipse Development using the Graphical Editing Framework and the Eclipse Modeling Framework (Buch) http://www.redbooks.ibm.com/redpieces/pdfs/sg246302.pdf V. Bacvanski, P. Graff: Mastering Eclipse Modeling Framework (Konferenzbeitrag) http://www.eclipsecon.org/2005/presentations/ EclipseCon2005_Tutorial28.pdf E. Merks, D. Steinberg: From Models to Code with the Eclipse Modeling Framework (Konferenzbeitrag) http://www.eclipsecon.org/2005/presentations/ EclipseCon2005_Tutorial11final.pdf

Stefan Berlik (Universit¨ at Siegen)