Christian Kästner Modellgetriebene Softwareentwicklung Eclipse Modelling Framework.

Slides:



Advertisements
Ähnliche Präsentationen
Software Engeniering II
Advertisements

1 Gerardo Navarro Suarez BPM Suite. 2 Quelle: camunda Services GmbH Das Warum hinter Activiti Problem bestehender BPMS: Starker Fokus auf das Business.
der Universität Oldenburg
der Universität Oldenburg
Strategie (Strategy / Policy) Ein objektbasiertes Verhaltensmuster Stephan Munkelt, Stefan Salzmann - 03IN.
Modellgetriebene Softwareentwicklung
Vortrag im Rahmen des Seminars Modellgetriebene Softwareentwicklung
DVG Einfache Klassen Einfache Klassen. DVG Einfache Klassen 2 Strukturen Beispiel: Personendaten bestehen aus –String name –String vorname.
Objektrelationales Mapping mit JPA Getting Started Jonas Bandi Simon Martinelli.
Seminar: XML für Fortgeschrittene Referent: Katrin Apel
Stefanie Selzer - Pascal Busch - Michael Kropiwoda
Java: Objektorientierte Programmierung
Java: Dynamische Datentypen
Java: Grundlagen der Sprache
Java: Grundlagen der Objektorientierung
Das Build-Tool ANT ETIS SS05. ETIS SS05 - Nadine FröhlichANT 2 Gliederung Motivation Build - Datei –Allgemeiner Aufbau –Project –Target –Task –Properties.
Seminar Modellgetriebene Softwareentwicklung Einführung Seminar modellgetriebene Softwareentwicklung WS 05/06 Dipl.-Inf. Nadine Fröhlich Prof. Dr.-Ing.
XDoclet ETIS SS05.
Einführung in die OOP in Java
PKJ 2005/1 Stefan Dissmann Zusammenfassung Bisher im Kurs erarbeitete Konzepte(1): Umgang mit einfachen Datentypen Umgang mit Feldern Umgang mit Referenzen.
PKJ 2005/1 Stefan Dissmann Klassenhierarchie Person Kunde Goldkunde Lieferant Object.
Explizite und editierbare Metainformationen für Software Muster.
Brandenburgische Technische Universität Cottbus Program Profiling Andrzej Filipiak Übung Testen von Software SoSe 2006.
Software Engineering Seminar Metamodellierung
Projektplan: Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University.
DVG Interfaces. DVG mehrfache Vererbung 4 Mehrfache Vererbung ist die Ableitung einer Klassen von mehreren anderen Klassen. –farbigerPunkt.
DVG Einführung in Java1 Einführung in JAVA.
07-GraphischeObjekte Graphische Objekte in EMMA301Paint.
DVG Klassen und Objekte
DVG Einfache Klassen 1 Einfache Klassen. 2DVG Einfache KlassenStrukturen Beispiel: Personendaten bestehen aus String name String name.
Java in 9 Folien Besser: Online-Buch Go to Java 2.
Zurück zur ersten Seite SEP Entwurf und Implementierung einer effizienten Rechenstruktur zur Baumdarstellung mittels Java-Texteditoren Betreuer : Matthias.
Systementwicklungsprojekt:
CRM Editor auf der Basis von Qt (Beispiel von Ubi erat Lupa)
UML Begleitdokumentation des Projekts
Seite 1 Interface - Konzept Ein Interface führt einen neuen Datentyp ein: interface Frau {... } Das Interface enthält Deklarationen ( keine Definitionen.
Erweiterung von EMF Refactor um Update Funktionalität in grafischen Editoren Thorsten Arendt, AG Taentzer, SWT FoPra-Vorstellung, 19. April 2012.
Präsentation einer Codegenerator Softwarelösung objectiF.
Letzter Tag Spaeter Zeitpunkt letzte Lied hoert man weiter.
Vortrag D. Braun, Praktikum. Übersicht Pleopatra API Pleopatra Tools Twitter Demonstration Ausblick.
Aurich – Jonas Jacobi OSGi Tutorial Aurich – Jonas Jacobi Das OSGi Service Framework Dynamisches Modulsystem für Java Dynamische.
EJB-Applikationsserver
Nutzungsszenarien introspektiver Modelle
Java und Eclipse.
Architekturen und Techniken für computergestützte Engineering Workbenches.
Einführung Modellgetriebene Softwareentwicklung, Metamodellierung Stephan Hildebrandt.
Javakurs FSS 2012 Lehrstuhl Stuckenschmidt
Getting Started Persistente Domänenmodelle mit JPA 2.0 und Bean Validation.
JavaServer Faces Urs Frei. Inhalt JSF Funktionsweise Rückblick JSP Bestandteile von JSF So einfach ist die Anwendung (Beispiel) Eclipse im Einsatz (Entwicklungsumgebung)
3. Juni 2003Moritz Petersen Minimales Markup und Templates zur Erstellung von strukturierten Texten Ein Zwischenbericht zur Diplomarbeit.
Eclipse Modeling Framework (EMF)
EPROG Tutorium #6 Philipp Effenberger
Plugin Design Patterns in
Programmiervorkurs WS 2014/15 Methoden
Voyager Eigenschaften/Vorzüge Universalität: –ROI-Modelle: CORBA, RMI, DCOM –verschiedene Namens-, Verzeichnisdienste Nachrichtentypen: synchron, oneway,
Eike Schallehn, Martin Endig
Generative Softwareentwicklung in der Praxis Olaf Kaus, „Java User Group“, Hannover 6.Oktober 2003.
Seminar Modellgetriebene Softwareentwicklung XMI - XML Metadata Interchange Vortrag im Rahmen des Seminar Modellgetriebene Softwareentwicklung Mirko Otto.
MDA – Model Driven Architecture
Wirtschaftsinformatik Christian Mehring Im Rahmen des Seminars „Ausgewählte Themen des Softwareengineering“
Enterprise-IT-Praktikum Hibernate-Einführung Institut für Telematik Universität zu Lübeck Wintersmester 2012/13 Dennis Boldt David Gregorczyk.
Rusch Philipp, Spiegel Philipp, Sieber Michael, Ucar Sahin, Wetzel Markus.
Eindeutige Personenzuordnung mit lokalen Identifiern via ODATA/LDAP
, Claudia Böhm robotron*SAB Anwendungsentwicklung mit dem Java und XML basierten Framework robotron*eXForms Simple Application Builder.
DOAG Regionaltreffen Trier/Saarland Verwendung von TopLink in J2EE Applikationen 09. September 2003 Marcus Keuper, Pfeil GmbH
Semi-automatische Komposition von Dienstbenutzerschnittstellen auf mehreren Abstraktionsebenen Christian Jäckel Universität des Saarlandes Bachelor.
1. Betreuer: Prof. Dr. Jörg Striegnitz 2. Betreuer: Dr. Martin Schindler Kontextsensitive Autocompletion für Klassendiagramme in der UML/P Florian Leppers.
Methodische Grundlagen des Software-Engineering
Implementieren von Klassen
openArchitectureWare in der FIDUCIA IT AG
 Präsentation transkript:

Christian Kästner Modellgetriebene Softwareentwicklung Eclipse Modelling Framework

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

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

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

EMF / Christian Kästner / 5 Eclipse

EMF / Christian Kästner / 6 Eclipse Architektur

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.

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

EMF / Christian Kästner / 9 Beispiel

EMF / Christian Kästner / 10 Ecore Darstellung

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

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; /** */ public int getPages() { return pages; } /** */ public void setPages(int newPages) { int oldPages = pages; pages = newPages; if (eNotificationRequired()) eNotify(new ENotificationImpl(this, Notification.SET, LibraryPackage.BOOK__PAGES, oldPages, pages)); } [...]

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 – JavaDoc-Tag entfernt wird Ersetzen der generierten Methode durch eine mit Gen-Postfix

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

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

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,

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