Einführung in das Eclipse Modeling Framework. 31. Oktober 2012

Größe: px
Ab Seite anzeigen:

Download "Einführung in das Eclipse Modeling Framework. 31. Oktober 2012"

Transkript

1 Einführung in das Eclipse Modeling Framework 31. Oktober 2012

2 Überblick Einführung in das Eclipse Modeling Framework: eine Infrastruktur für die modellgetriebene Softwareentwicklung Wie funktioniert der Generierungsprozess aus Anwendersicht? Welcher Teil einer Webanwendung wird modelliert und generiert? Datenzugriff und Datenhaltung Wie modelliert man den Datenzugriff mit EMF? Wie modelliert man die Datenhaltung mit EMF? Taentzer Modellgetriebene Softwareentwicklung 80

3 Eclipse Modeling Framework (EMF) EMF vereinigt drei verschiedene Technologien: XML, UML und Java EMF ist die Klammer zwischen diesen Technologien. Anwendungsszenarien: Modellierung des Datenmodells in UML Entwicklung eines unterliegenden Datenmodells direkt in Java Entwicklung eines XML Schemas zur Datensicherung Addison Wesley: Eclipse Modeling Framework A Developer's Guide Taentzer Modellgetriebene Softwareentwicklung 81

4 Eclipse Modeling Framework (EMF) EMF Klassendiagramm EMF Generator Java Klassen zur Manipulation des Modells benutzt einfacher baumbasierter Editor Taentzer Modellgetriebene Softwareentwicklung 82

5 Welcher Teil von Webanwendungen wird mit EMF generiert? Datenzugriffsschicht: Welche Datenstrukturen werden verwendet? EMF implementiert einen objektorientierten Datenzugriff. EMF Factories and Packages Schnittstellen Implementierungsklassen Resourcenverwaltung Serialisierung der Objekte durch XML EMF Adapter Subject-Observer-Pattern in EMF Taentzer Modellgetriebene Softwareentwicklung 83

6 Beispiel: Datenmodell für ein Vorlesungsverzeichnis Taentzer Modellgetriebene Softwareentwicklung 84

7 EMF-Klassenmodell für ein einfaches Vorlesungsverzeichnis Neues EMF Projekt anlegen: File New Project Eclipse Modeling Framework Empty EMF Project Neues Ecore-Modell anlegen: New Other Eclipse Modeling Framework Ecore Model Editieren mit einem baumbasierten Editor Taentzer Modellgetriebene Softwareentwicklung 85

8 Graphischer Editor für EMF-Klassenmodelle Voraussetzung: EMF- Modell <name>.ecore graphisches Layout erzeugen: Kontextmenü: initialize Ecore Diagram File auswählen Taentzer Modellgetriebene Softwareentwicklung 86

9 EMF Generierungsprozess EMF-Projekt: File New Project Eclipse Modeling Framework Empty EMF Project Ecore-Datei erzeugen: File New Other Eclipse Modeling Framework Ecore Model (Top: EPackage) Genmodel-Datei erzeugen: File New Other Eclipse Modeling Framework EMF Generator Model, Ecore Datei auswählen Code erzeugen: Genmodel-Datei öffnen: Generate Model Code erzeugt Packages: <Name>, <Name>.impl, <Name>.util Generate Edit Code, Editor Code -> für baumbasierten Editor Generate Test Code für Testfälle basierend auf Junit Taentzer Modellgetriebene Softwareentwicklung 87

10 Editor für Instanzmodelle Runtime Workbench starten: Minimale Eclipse Umgebung zum Ausführen von Eclipse Plugins Run Run As Eclipse Application Erstellen eines Vorlesungsverzeichnisses: File New Other Example EMF Model Creation Wizard <dateiname>.vorlesungsverzeichnis Wizard legt die oberste Klasse Vorlesungen fest. Dateityp wird durch Endung.vorlesungsverzeichnis festgelegt. (Default: Package- Name des Modells) Modell wird im XMI Format gespeichert. (XML Metadata Interchange) Taentzer Modellgetriebene Softwareentwicklung 88

11 Verwendung von Eclipse als Programmplattform Entwicklung von eigenen Anwendungen auf der Basis einer minimalen Eclipse Umgebung (Eclipse als Anwenderplattform) z.b.: Entwicklung von Editoren auf Basis des Eclipse Modeling Frameworks (EMF) und des Graphical Modeling Frameworks (GMF) Plugins für Eclipse Modulare Erweiterbarkeit der Eclipse Umgebung durch Plugins Eclipse Marketplace (über 1200 Plugins): Taentzer Modellgetriebene Softwareentwicklung 89

12 Dynamische Bereitstellung von Instanzeditoren In der Baumansicht: Ein Modellelement selektieren, im Kontextmenü Create Dynamic Instance auswählen Im Instanzmodell neue Modellelemente anlegen Taentzer Visuelle Sprachen 90

13 Validierung von Instanzen Taentzer Modellgetriebene Softwareentwicklung 91

14 Containerstrukturen Containment-Beziehungen spielen in EMF eine besondere Rolle. Es sollte einen obersten Container geben, in dem alle Instanzobjekte direkt oder transitiv enthalten sind. Vorteile: Speichern des gesamten Modells möglich Editieren des gesamten Modells möglich Containment-Beziehungen sind Kompositionen: Eine Instanz lebt nicht außerhalb seines Containers. Eine Instanz kann nicht in mehreren Containern enthalten sein. Taentzer Modellgetriebene Softwareentwicklung 92

15 Das Ecore-Metamodell Taentzer Modellgetriebene Softwareentwicklung 93

16 Meta-Klassen Meta-Klassen haben Attribute, Operationen und Referenzen. EClassifier ist Oberklasse von EClass und EDataType. EClass-Eigenschaften: Name Klassenname Abstract abstrakte Klasse Interface Schnittstellenklasse EClass-Referenzen: EAttributes Attribute EReferences - Referenzen ESuper Types Oberklassen Instance Type Name Korrespondenz zu einer normalen Java-Klasse, bestehende Klassen im Modell Taentzer Modellgetriebene Softwareentwicklung 94

17 Strukturelle Eigenschaften EStructuralFeature-Eigenschaften: Changeable von aussen setzbar Transient wird nicht gespeichert Unique eindeutiger Wert Unsettable zurücksetzbar Volatile für abgeleitete Werte Lower Bound, UpperBound: Kardinalität DefaultValueLiteral: defaultvalue als String EStructuralFeature ist ein getyptes Element mit Namen. EAttribute und EReference haben EStructuralFeature als Oberklasse. EAttribute-Eigenschaften: ID Attribut wird zur Identifizierung des Objekts benutzt. EAttributeType Typ des Attributs Taentzer Modellgetriebene Softwareentwicklung 95

18 Beispiele: EAttribute und EReference Taentzer Modellgetriebene Softwareentwicklung 96

19 Paare von Referenzen Taentzer Modellgetriebene Softwareentwicklung 97

20 Beispiel: Containment Referenz Taentzer Modellgetriebene Softwareentwicklung 98

21 Referenzen und Operationen EReference-Eigenschaften: Containment gesetzt, falls die Referenz eine Komposition ist. Resolve Proxies referenzierte Objekte aus anderen Resourcen werden als Proxies gehalten EOperation ist ein getyptes Element mit Namen. EOperation hat als Referenzen: eparameters Parameterliste EParameter ist ein getyptes Element mit Namen. Taentzer Modellgetriebene Softwareentwicklung 99

22 Datentypen und Pakete Datentypen EDataType primitive Datentypen wie Boolean, Integer, String, etc. komplexe Datentypen wie z.b.: Containertypen EDataType-Eigenschaft: serializable ist serialisierbar (speicherbar) ECore hat vordefinierte Datentypen, wie EBoolean, EChar, EInt, EString,etc. Enumerations EEnum definierte Werte: EEnum Literal Zusammengehörige Metaelemente werden in Paketen zusammengefasst. EPackage-Eigenschaften: Name Ns URI URI, die das Paket identifiziert Ns Prefix - Namensraum EPackage-Referenzen: ESuper Package Oberpaket ESubpackage Unterpakete EFactoryInstance zugehörige Factory-Instanz Taentzer Modellgetriebene Softwareentwicklung 100

23 Beispiel: Pakete Taentzer Modellgetriebene Softwareentwicklung 101

24 Annotationen EAnnotation-Eigenschaften: Source type der Annotation (als URI) Details Abbildungen unterteilt in Key Schlüssel Value Wert EAnnotation-Referenzen: Content enthaltenes Objekt References referenzierte Objekte Annotationen werden auch zur Definition von Constraints benutzt. Taentzer Modellgetriebene Softwareentwicklung 102

25 Ausblick: EMF-Modell für UML2 Das UML-Metamodell besteht aus Diagramm Interchange Specification: Diagrammaustauschformat Superstructure Specification: Definition der konkreten Syntax der Symbole Beispiele für konkrete Syntax Definition der abstrakten Syntax, mit MOF beschrieben MOF-Spezifikation: Eclipse UML2-Projekt: komplettes EMF-Modell für die abstrakte Syntax von UML2: Taentzer Modellgetriebene Softwareentwicklung 103

26 Literatur zu EMF Oder: Steinberg, Budinsky, Patenostro, Merks: EMF: Eclipse Modeling Framework, Addison Wesley PDF-Datei frei verfügbar unter Taentzer Modellgetriebene Softwareentwicklung 104

27 Zusammenfassung EMF kann die Datenzugriffsschicht für eine Webanwendung aus einem Klassenmodell generieren. EMF-Generierungsprozess: Codegenerierung aus Ecore-Modell Instanzeditor ist ein neues Plugin, das in der Eclipse Runtime Workbench aktiviert wird. EMF zur Modellierung von Datenzugriff: Klassen, Attribute, Referenzen, Pakete Keine Operationen EMF zur Modellierung von Datenhaltung: Meta-Attribute wie Transient, ID, Volatile Taentzer Modellgetriebene Softwareentwicklung 105

Einführung in das Eclipse Modeling Framework. 5. November 2014

Einführung in das Eclipse Modeling Framework. 5. November 2014 Einführung in das Eclipse Modeling Framework 5. November 2014 Überblick Einführung in das Eclipse Modeling Framework: zur objektorientierten Modellierung von Datenstrukturen Welcher Teil einer mobilen

Mehr

Definition von visuellen Alphabeten basierend auf Meta Object Facilities (MOF) 23. Oktober 2012

Definition von visuellen Alphabeten basierend auf Meta Object Facilities (MOF) 23. Oktober 2012 Definition von visuellen Alphabeten basierend auf Meta Object Facilities (MOF) 23. Oktober 2012 29 Textuelle Visuelle Alphabete Textuelle Sprachen: eindimensional (Sätze) Basiselemente: Buchstaben, Ziffern,

Mehr

Einführung in das Eclipse Modeling Framework. Dr. Thorsten Arendt Marburg, 22. Oktober 2015

Einführung in das Eclipse Modeling Framework. Dr. Thorsten Arendt Marburg, 22. Oktober 2015 Einführung in das Eclipse Modeling Framework Dr. Thorsten Arendt Marburg, 22. Oktober 2015 Überblick Einführung in das Eclipse Modeling Framework: zur objektorientierten Modellierung von Datenstrukturen

Mehr

Motivation Grundlagen Technologien Manipulation Ecore Genmodell Demo Persistenz Notification Ausblick GMF Fazit / Quellen

Motivation Grundlagen Technologien Manipulation Ecore Genmodell Demo Persistenz Notification Ausblick GMF Fazit / Quellen Motivation Grundlagen Technologien Manipulation Ecore Genmodell Demo Persistenz Notification Ausblick GMF Fazit / Quellen Soll ich Modellieren oder Programmieren? sowohl als auch!!! Produktivitäts-Steigerung

Mehr

Einführung in das Graphical Modeling Framework. 13. November 2012

Einführung in das Graphical Modeling Framework. 13. November 2012 Einführung in das Graphical Modeling Framework 13. November 2012 100 Überblick Was ist der Unterschied zwischen abstrakter Syntax und konkreter Syntax? Welche Arten von graphischen Editoren gibt es? Freihandeditoren

Mehr

Software Factories SS Prof. Dr. Dirk Müller. 6 Eclipse Modeling Framework

Software Factories SS Prof. Dr. Dirk Müller. 6 Eclipse Modeling Framework Software Factories 6 Eclipse Modeling Framework SS 2017 Prof. Dr. Dirk Müller Übersicht EMF-Einführung Technologien Codegenerierung Metamodell Konsistenz von EMF-Modellen Erstellung eines Editors für Bibliotheksinstanzen

Mehr

EMF-GMF-Tutorial: Petrinet

EMF-GMF-Tutorial: Petrinet EMF-GMF-Tutorial: Petrinet Petrinet-Metamodell anlegen 1. File/New/Other: Empty EMF Project Project Name: de.upb.agengels.se.petrinet 2. Rechtsklick auf model-verzeichnis => New/Other: Ecore Diagram Domain

Mehr

Software Engineering in der Projektpraxis

Software Engineering in der Projektpraxis Software Engineering in der Projektpraxis Praktische Übungen Josef Adersberger Dirk Wischermann Lehrstuhl für Software Engineering Friedrich-Alexander-Universität Erlangen-Nürnberg 15. Mai 2008 Inhalt

Mehr

Einführung in das Eclipse Modeling Framework (EMF)

Einführung in das Eclipse Modeling Framework (EMF) Einführung in das Eclipse Modeling Framework (EMF) Timo Kehrer, Cristoph Berane Praktische Informatik November 2010 Überblik Ecore Was ist EMF? EMF ist ein eigenständiges Eclipse-Projekt (Eclipse Modeling

Mehr

Dynamisches EMF und Codegenerierung mit JET. 14. November 2012

Dynamisches EMF und Codegenerierung mit JET. 14. November 2012 Dynamisches EMF und Codegenerierung mit JET 14. November 2012 Überblick Wie kann eine Modell-zu-Text-Transformation entwickelt werden? Referenzanwendung(en) möglichst generell schreiben und analysieren

Mehr

Eclipse Modeling Framework

Eclipse Modeling Framework 1 / 14 Eclipse Modeling Framework Stefan Berlik Fachgruppe Praktische Informatik FB 12, Elektrotechnik und Informatik Universität Siegen 14. November 2007 Was ist das Eclipse Modeling Framework (EMF)?

Mehr

Definition von domänenspezifischen Sprachen mit Xtext: Einführung

Definition von domänenspezifischen Sprachen mit Xtext: Einführung Definition von domänenspezifischen Sprachen mit Xtext: Einführung 28. November 2012 Taentzer Modellgetriebene Softwareentwicklung 246 Überblick Was ist zu tun, wenn wir selbst einen Ansatz für modellgetriebenen

Mehr

Was ist EMF? Wie wird EMF eingesetzt? Was ist ecore? Das Generatormodell Fazit

Was ist EMF? Wie wird EMF eingesetzt? Was ist ecore? Das Generatormodell Fazit Was ist EMF? Wie wird EMF eingesetzt? Was ist ecore? Das Generatormodell Fazit EMF ist ein eigenständiges Eclipse-Projekt (Eclipse Modeling Framework Project) EMF ist ein Modellierungsframework und Tool

Mehr

Definition von domänenspezifischen Sprachen mit Xtext: Der abstrakte Syntaxbaum in EMF

Definition von domänenspezifischen Sprachen mit Xtext: Der abstrakte Syntaxbaum in EMF Definition von domänenspezifischen Sprachen mit Xtext: Der abstrakte Syntaxbaum in EMF 29. November 2012 Taentzer Modellgetriebene Softwareentwicklung 263 Überblick Wie sieht der abstrakte Syntaxbaum für

Mehr

Definition von domänenspezifischen Sprachen mit Xtext: Einführung. 19. November 2014

Definition von domänenspezifischen Sprachen mit Xtext: Einführung. 19. November 2014 Definition von domänenspezifischen Sprachen mit Xtext: Einführung 19. November 2014 Überblick Was ist zu tun, wenn wir selbst einen Ansatz für modellgetriebenen Entwicklung definieren wollen? Anforderungserfassung

Mehr

Einführung in das Eclipse Modeling Framework (EMF)

Einführung in das Eclipse Modeling Framework (EMF) 1 / 14 Einführung in das Eclipse Modeling Framework (EMF) Timo Kehrer Fachgruppe Praktische Informatik FB 12, Elektrotechnik und Informatik Universität Siegen 04. November 2008 Was ist EMF? Eclipse Modeling

Mehr

Object Constraint Language. 30. Oktober 2012

Object Constraint Language. 30. Oktober 2012 Object Constraint Language 30. Oktober 2012 54 Was ist die OCL? Wie wird sie verwendet? Die Object Constraint Language (OCL) ist eine textuelle Sprache für Constraints über Objektstrukturen. Sie ist ein

Mehr

Einführung in das Eclipse Modeling Framework (EMF)

Einführung in das Eclipse Modeling Framework (EMF) 1 / 14 Einführung in das Eclipse Modeling Framework (EMF) Maik Schmidt Fachgruppe Praktische Informatik FB 12, Elektrotechnik und Informatik Universität Siegen 21. April 2009 Was ist EMF? Eclipse Modeling

Mehr

Bridging Microsoft Oslo and Eclipse EMF

Bridging Microsoft Oslo and Eclipse EMF Bridging Microsoft Oslo and Eclipse EMF Seminar Modellgetriebene Softwareentwicklung Abschlusspräsentation Stanley Hillner Microsoft Codename Oslo Microsofts neuestes Werkzeug für MDSD Heißt jetzt MS SQL

Mehr

Eclipse Modeling Framework Modellgetriebene Softwareentwicklung Prof. Andreas Schmidt

Eclipse Modeling Framework Modellgetriebene Softwareentwicklung Prof. Andreas Schmidt Eclipse Modeling Framework Modellgetriebene Softwareentwicklung Prof. Andreas Schmidt Sören Bühler buso1011 36811 Julia Haßlinger haju1013 37141 Anja Heinzberger hean1017 36622 Agenda Allgemeines Historie

Mehr

Software Engineering II

Software Engineering II Software Engineering II Wintersemester 12/13 Fachgebiet Software Engineering Allgemeines Entwicklung eines eigenen Diagrammeditors inklusive Interpreter und Codegenerierung Einsatz von Modellen zum Entwickeln

Mehr

SEW Übung EMFText. 1 Aufgabe. 2 Domänenbeschreibung. 3 Installation von Eclipse/EMFText. 4 Schritt-für-Schritt Anleitung. 4.

SEW Übung EMFText. 1 Aufgabe. 2 Domänenbeschreibung. 3 Installation von Eclipse/EMFText. 4 Schritt-für-Schritt Anleitung. 4. SEW Übung EMFText 1 Aufgabe Erstellen Sie eine textuelle Domänenspezifische Sprache Domain-specific Language (DSL) mit dem Werkzeug EMFText. Die Sprache soll dazu dienen Formulare (Fragen, Antworttypen

Mehr

Der EMF-generierte Code. 7. November 2012

Der EMF-generierte Code. 7. November 2012 Der EMF-generierte Code 7. November 2012 Überblick Wie sieht der aus einem EMF-Modell generierte Code aus? Wie ist die Beziehung zwischen Modell und Code? Wie kann generierter Code durch handgeschriebenen

Mehr

Die abstrakte Syntax der Unified Modeling Language

Die abstrakte Syntax der Unified Modeling Language Die abstrakte Syntax der Unified Modeling Language 6. November 2012 Taentzer Visuelle Sprachen 79 Überblick Wie ist die abstrakte Syntax der UML definiert? Über ein Metamodell Die UML vereinigt verschiedene

Mehr

Thema 3 Das UML- Metamodell

Thema 3 Das UML- Metamodell SE Vertiefung Beuth-Hochschule Berlin Thema 3 Das UML- Metamodell Ecore passte auf eine Seite (c) schmiedecke 11 SE3-3-UML-Superstructure 2 http://download.eclipse.org/modeling/emf/emf/javadoc/2.7.0/org/eclipse/emf/ecorel

Mehr

Model Querys zur Überprüfung von sicherheitsrelevanten Eigenschaften

Model Querys zur Überprüfung von sicherheitsrelevanten Eigenschaften Model Querys zur Überprüfung von sicherheitsrelevanten Eigenschaften Proseminarvortrag Werkzeugunterstützung für sichere Software Jens Knipper Fakultät für Informatik Technische Universität Dortmund 31.

Mehr

Software-Engineering im Sommersemester 2014

Software-Engineering im Sommersemester 2014 Methodische Grundlagen des Software-Engineering SS 2014 Vorlesung Methodische Grundlagen des Software-Engineering im Sommersemester 2014 Prof. Dr. Jan Jürjens TU Dortmund, Fakultät Informatik, Lehrstuhl

Mehr

Einführung in die Modelltransformation mit Xtend

Einführung in die Modelltransformation mit Xtend Einführung in die Modelltransformation mit Xtend 12. Dezember 2012 Taentzer Modellgetriebene Softwareentwicklung 297 Überblick Xtend: Eine statisch getypte Sprache, die zur Modellzu-Text-Transformation

Mehr

Thema 5 Domain Specific Languages

Thema 5 Domain Specific Languages SE Vertiefung Beuth-Hochschule Berlin Thema 5 Domain Specific Languages MOF-Schichten (c) schmiedecke 11 SE3-5-metamodellierung 2 Was ist eine DSL? Domain Specific Language: Sprache zur Beschreibung (Modellierung)

Mehr

Der EMF-generierte Code. 10. Dezember 2014

Der EMF-generierte Code. 10. Dezember 2014 Der EMF-generierte Code 10. Dezember 2014 Überblick Wie sieht der aus einem EMF-Modell generierte Code aus? Wie ist die Beziehung zwischen Modell und Code? Wie kann generierter Code durch handgeschriebenen

Mehr

Themen. Software Design and Quality Group Institute for Program Structures and Data Organization

Themen. Software Design and Quality Group Institute for Program Structures and Data Organization Themen 2 28.04.2010 MODELLGETRIEBENE SOFTWARE-ENTWICKLUNG Grundlagen 3 28.04.2010 Meta-Modell: Lego Meta-Modell Bauvorschriften Building Block * connected with Modell Lego Reale Welt Haus Bilder: (c) designritter

Mehr

Anforderungen an den Story Pattern Editor von SE2 WS1415

Anforderungen an den Story Pattern Editor von SE2 WS1415 Anforderungen an den Story Pattern Editor von Version Datum Änderung 1.0 12.01.15 init 2.0 24.02.15 1.2.1, 2.1 Neu: 1.13, 1.14, 4 1 Es soll mithilfe des Graphiti Frameworks ein graphischer Editor für Story

Mehr

Modellgetriebene Entwicklung einer Eclipse RAP-Anwendung unter Verwendung des Eclipse Modeling Frameworks

Modellgetriebene Entwicklung einer Eclipse RAP-Anwendung unter Verwendung des Eclipse Modeling Frameworks Modellgetriebene Entwicklung einer Eclipse RAP-Anwendung unter Verwendung des Eclipse Modeling Frameworks AKWI 2015 Luzern Marco Richter (marco.richter@mnd.thm.de) Melanie Vanderpuye (melanie.vanderpuye@zdh.thm.de)

Mehr

Implementierung einer komponentenorientierten Architektur für Software-Modelle basierend auf dem Eclipse Modeling Framework (EMF)

Implementierung einer komponentenorientierten Architektur für Software-Modelle basierend auf dem Eclipse Modeling Framework (EMF) Master-Arbeit Implementierung einer komponentenorientierten Architektur für Software-Modelle basierend auf dem Eclipse Modeling Framework (EMF) im Master-Studiengang Informatik des Fachbereichs Mathematik

Mehr

Modellgetriebene Softwareentwicklung. Gabriele Taentzer WS 2012/2013 Philipps-Universität Marburg

Modellgetriebene Softwareentwicklung. Gabriele Taentzer WS 2012/2013 Philipps-Universität Marburg Modellgetriebene Softwareentwicklung Gabriele Taentzer WS 2012/2013 Philipps-Universität Marburg Organisation der LV Umfang: 6 SWS, 9 ECTS Punkte Veranstalter: Gabriele Taentzer, Daniel Strüber Kontakt:

Mehr

Generischer Modellvergleich mit EMF Compare

Generischer Modellvergleich mit EMF Compare Fakultät Informatik Hauptseminar Technische Informationssysteme SS2010 Generischer Modellvergleich mit EMF Betreuer: Dipl.-Inf. Uwe Ryssel Dresden, 16.07.2010 Gliederung 1. Motivation 2. Eclipse Modeling

Mehr

Codegenerierung mit Xtend. 21. Januar 2015

Codegenerierung mit Xtend. 21. Januar 2015 Codegenerierung mit Xtend 21. Januar 2015 Überblick Xtend bietet einen Template-basierten Ansatz zur Codegenerierung Xtend enthält eine spezielle Template-Sprache. Das Modell kann beliebig benutzt werden,

Mehr

Modell-Editoren für Eclipse entwickeln mit GMF

Modell-Editoren für Eclipse entwickeln mit GMF Modell-Editoren für Eclipse entwickeln mit GMF Dr. Marko Boger Dr. Jan Köhnlein (Gentleware AG) 1 1 Gliederung Motivation Technologieüberblick Entwicklung mit GMF Anpassen generierter Editoren Demonstration

Mehr

Validation und Quick Fixing mit Xtend. 3. Dezember 2014

Validation und Quick Fixing mit Xtend. 3. Dezember 2014 Validation und Quick Fixing mit Xtend 3. Dezember 2014 175 Überblick Tuning der Xtext-generierten Editoren Validierung mit OCL auf der abstrakten Syntax mit Xtend auf der konkreten Syntax Quick Fixes mit

Mehr

Model Driven Software Development

Model Driven Software Development Model Driven Software Development Vergleich von Metametamodellen Marcel Hoyer 1von 19 Themenvorstellung Vergleich von Metametamodellen Was sind überhaupt Metametamodelle? Analyse und Vergleich existierender

Mehr

Modellbasierte Softwareentwicklung mit EMF

Modellbasierte Softwareentwicklung mit EMF Softwaretechnik I, WS 2009/10 Modellbasierte Softwareentwicklung mit EMF Übungsblatt 5 13. November 2009 Organisatorisches Zur Bearbeitung der Übungsaufgabe stehen Ihnen die folgenden 3 Wochen (Kalenderwochen

Mehr

Prof. Dr. Jan Jürjens

Prof. Dr. Jan Jürjens Vorlesung () Prof. Dr. Jan Jürjens TU Dortmund, Fakultät Informatik, Lehrstuhl XIV 1.5: Eclipse Modeling Framework (EMF) v. 01.12.2014 1 Einordnung Modellgetriebene SW-Entwicklung Einführung Modellbasierte

Mehr

Prof. Dr. Jan Jürjens

Prof. Dr. Jan Jürjens Vorlesung () Prof. Dr. Jan Jürjens TU Dortmund, Fakultät Informatik, Lehrstuhl XIV 1.5: Eclipse Modeling Framework (EMF) v. 01.12.2014 1 Einordnung Modellgetriebene SW-Entwicklung Einführung Modellbasierte

Mehr

Model-Driven Software Engineering (HS 2011)

Model-Driven Software Engineering (HS 2011) Model-Driven Software Engineering (HS 2011) Dr. J. Küster Übungsblatt I Abgabe: Am 15.11.2011 vor der Vorlesung Voraussetzungen: Installation von Eclipse und Eclipse Modeling Framework Installation der

Mehr

EMF - Eclipse Modeling Framework Seminararbeit im Seminar Information Systems Engineering

EMF - Eclipse Modeling Framework Seminararbeit im Seminar Information Systems Engineering EMF - Eclipse Modeling Framework Seminararbeit im Seminar Information Systems Engineering Roman Engelmann Fachhochule Aachen, Fachbereich Elektrotechnik und Informationstechnik, Eupener Straße 70, 52066

Mehr

Anhang WEITERE HINWEISE ZU BORLAND TOGETHER CONTROLCENTER

Anhang WEITERE HINWEISE ZU BORLAND TOGETHER CONTROLCENTER Anhang WEITERE HINWEISE ZU BORLAND TOGETHER CONTROLCENTER 7.7 Einführung 7.8 Sequenzdiagramm Akteur Objekt Botschaft und Operation 7.9 Sequenzdiagramm und Kollaborationsdiagramm 7.10 Codegenerierung aus

Mehr

Unified Modeling Language 2

Unified Modeling Language 2 Unified Modeling Language 2 Marvin Frommhold 17.11.2008 Gliederung Einleitung Geschichte Strukturierung der Spezifikation Diagrammtypen Strukturdiagramme Verhaltensdiagramme CASE-Werkzeuge Quellen Was

Mehr

Modellierung statischer Domänenmodelle mit Xtext

Modellierung statischer Domänenmodelle mit Xtext Frank Schwarz Java User Group Saxony Modellierung statischer Domänenmodelle mit Xtext buschmais GbR Inhaber Torsten Busch, Frank Schwarz, Dirk Mahler und Tobias Israel frank.schwarz@buschmais.de http://www.buschmais.de/author/frank

Mehr

Henshin: Modelltransformationen in EMF. Dr. Thorsten Arendt Marburg, 29. Oktober 2015

Henshin: Modelltransformationen in EMF. Dr. Thorsten Arendt Marburg, 29. Oktober 2015 Henshin: Modelltransformationen in EMF Dr. Thorsten Arendt Marburg, 29. Oktober 2015 Überblick Modelltransformationen Einführung in Henshin Modelle im Eclipse Modeling Framework Transformationskonzepte

Mehr

Software Engineering II

Software Engineering II Software Engineering II Codegenerierung für den SmartIO Editor mit der Modeling Workflow Engine Wintersemester 10/111 Fachgebiet Software Engineering Albert Zündorf / Wiederholung Bisher im Laufe des Semesters

Mehr

Oracle JDeveloper 10 g

Oracle JDeveloper 10 g Oracle JDeveloper 10 g Modellierung Evgenia Rosa Business Unit Application Server ORACLE Deutschland GmbH Agenda Warum Modellierung? UML Modellierung Anwendungsfall (Use Case)-Modellierung Aktivitätenmodellierung

Mehr

EMF vs. MDA. Klaus Mairon Klaus Häuptle

EMF vs. MDA. Klaus Mairon Klaus Häuptle EMF vs. MDA Klaus Mairon Klaus Häuptle Furtwangen, 08.07.2005 II Inhaltsverzeichnis 1 EMF-Einführung...5 2 EMF...6 2.1 Ecore Metamodell...6 2.2 Core Model...7 2.3 Genmodel...7 2.4 EMF Mechanismen...8 2.4.1

Mehr

Eclipse Rieh Client Platform

Eclipse Rieh Client Platform Heiko Sippel, Jens Bendisposto, Michael Jastram Eclipse Rieh Client Platform Entwicklung von erweiterbaren Anwendungen mit RCP ntwickier.press V E E.l E.2 E.3 E.4 Teil 1 1 1.1 1.2 1.3 1.4 1.5 2 2.1 2.2

Mehr

Graphical Modeling Framework

Graphical Modeling Framework Graphical Modeling Framework Bernd Kolb, bernd@applied-abstractions.com www.applied-abstractions.com Sven Efftinge, sven@applied-abstractions.com www.applied-abstractions.com Markus Voelter, markus@applied-abstractions.com

Mehr

7. Objektorientierung. Informatik II für Verkehrsingenieure

7. Objektorientierung. Informatik II für Verkehrsingenieure 7. Objektorientierung Informatik II für Verkehrsingenieure Klassen, Objekte und Attribute Buslinie und Haltestellen 3 Haltestellen und deren Eigenschaften Bauplan einer Haltestelle (Struktur) Konkrete

Mehr

(1)Einführung in Eclipse

(1)Einführung in Eclipse Auf diesem ersten Arbeitsblatt werdet ihr die Programmierumgebung Eclipse kennenlernen, die eure Oberfläche zum Bearbeiten des Android-Projekts Schiffe versenken sein wird. Dabei macht ihr euch einen Überblick

Mehr

Übersicht Eclipse Modeling Project EMP. Zoltan Horvath

Übersicht Eclipse Modeling Project EMP. Zoltan Horvath ) Schulung ) AUTOR Zoltan Horvath Orientation in Objects GmbH ) Beratung ) Veröffentlicht am: 26.2.2010 ÜBERSICHT ECLIPSE MODELING PROJECT ) Entwicklung ) ) Artikel ) Das Eclipse Modeling Project dient

Mehr

Praktische Informatik 1

Praktische Informatik 1 Praktische Informatik 1 Imperative Programmierung und Objektorientierung Karsten Hölscher und Jan Peleska Wintersemester 2011/2012 Session 2 Programmierung Begriffe C/C++ Compiler: übersetzt Quellcode

Mehr

Modellierung CORBA-basierter Anwendungssysteme mit der UML

Modellierung CORBA-basierter Anwendungssysteme mit der UML Verteidigung der Diplomarbeit über das Thema: Modellierung CORBA-basierter Anwendungssysteme mit der UML Andreas Mucha Technische Universität Dresden Institut für Software- und Multimediatechnik Lehrstuhl

Mehr

NACHRICHTENTECHNISCHER SYSTEME

NACHRICHTENTECHNISCHER SYSTEME Einführung UML COMPUTERSIMULATION NACHRICHTENTECHNISCHER SYSTEME 11. Unified Modeling Language UML 220 Standardsprache d zur Visualisierung, i Spezifikation, Konstruktion und Dokumentation komplexer (Software-)

Mehr

Werkzeugunabhängigkeit bei der Modellierung Schwierigkeiten und mögliche Lösungsansätze

Werkzeugunabhängigkeit bei der Modellierung Schwierigkeiten und mögliche Lösungsansätze Werkzeugunabhängigkeit bei der Modellierung Schwierigkeiten und mögliche Lösungsansätze Oliver Hofrichter (hofrichter@tzi.de) Lars Hamann (lhamann@tzi.de) Überblick Motivation Kontext Warum Werkzeugunabhängigkeit

Mehr

Modellgetriebene Entwicklung von Webanwendungen: eine erste Analyse

Modellgetriebene Entwicklung von Webanwendungen: eine erste Analyse Modellgetriebene Entwicklung von Webanwendungen: eine erste Analyse 25. Oktober 2012 Taentzer Modellgetriebene Softwareentwicklung 59 Überblick Anforderungsanalyse auf zwei Ebenen: Analyse einer konkreten

Mehr

Analyse und Design mituml2.1

Analyse und Design mituml2.1 Analyse und Design mituml2.1 Objektorientierte Softwareentwicklung Von Bernd Oestereich 8., aktualisierte Auflage Oldenbourg Verlag München Wien nhaltsverzeichnis Objektorientierte Softwareentwicklung

Mehr

Objektorientierte Modellierung

Objektorientierte Modellierung Objektorientierte Modellierung KLASSENDIAGRAMM Klasse = Typebene zum Beschreiben mehrerer Objekte der selben Struktur Objekt = konkrete Ausprägung einer Klasse Instanz = Objekt Klassendiagramm = beschreibt

Mehr

Software Engineering II

Software Engineering II Software Engineering II Wintersemester 11/12 Fachgebiet Software Engineering Wiederholung Bisher im Laufe des Semesters umgesetzt: Modellierung eines Meta-Modells für die Workflow Diagramme mit Fujaba

Mehr

Seminar. Metamodellierung für modellgetriebene Softwareentwicklung mit MDA und UML

Seminar. Metamodellierung für modellgetriebene Softwareentwicklung mit MDA und UML Seminar Metamodellierung für modellgetriebene Softwareentwicklung mit MDA und UML 1 A MOF 2.0 for Java Ein Meta-Modellierungswerkzeug für CMOF-basierte Modelle Andreas Blunk blunk@informatik.hu-berlin.de

Mehr

Grundlagen von MOF. Alexander Gepting 1

Grundlagen von MOF. Alexander Gepting 1 Grundlagen von MOF Alexander Gepting 1 Kurzfassung Meta-Object Facility (MOF) ist ein Standard der OMG der im Rahmen der Standardisierung von Modellierungstechniken für verteilte Architekturen und Softwaresysteme

Mehr

openarchitectureware

openarchitectureware openarchitectureware Enrico Schnepel EAS, FHTW-Berlin 07.06.2007 2007 (CC by-nc-sa 2.0 Germany) Enrico Schnepel ( EAS, FHTW-Berlin ) openarchitectureware 07.06.2007 1 / 26 Gliederung 1 Einleitung 2 Begriffsdefinitionen

Mehr

Kurzanleitung Eclipse

Kurzanleitung Eclipse Autor: Prof. Dr. Bernhard Humm, FB Informatik, FH Darmstadt Datum: 30. November 2005 1 Starten Für das Praktikum verwenden wir Eclipse Version 3.1 und JDK 1.5 Starten Eclipse: Doppelklick auf das Icon

Mehr

Repetitorium Informatik (Java)

Repetitorium Informatik (Java) Repetitorium Informatik (Java) Tag 6 Lehrstuhl für Informatik 2 (Programmiersysteme) Übersicht 1 Klassen und Objekte Objektorientierung Begrifflichkeiten Deklaration von Klassen Instanzmethoden/-variablen

Mehr

Abbildung von Ecore nach gruml

Abbildung von Ecore nach gruml Institut für Softwaretechnik Fachbereich 4: Informatik Abbildung von Ecore nach gruml Bachelorarbeit zur Erlangung des Grades eines Bachelor of Science im Studiengang Informatik vorgelegt von Kristina

Mehr

Inhaltsverzeichnis. Kurseinheit 1. Kurseinheit 2

Inhaltsverzeichnis. Kurseinheit 1. Kurseinheit 2 iii Inhaltsverzeichnis Kurseinheit 1 1 Von der Aufgabenstellung zum Programm... 1 1.1 Motivation... 1 1.2 Softwareentwicklung... 2 1.3 EXKURS: Unified Modeling Language (UML)... 4 2 Anforderungsanalyse...

Mehr

Java Metadata Interface. Thorsten Pivl

Java Metadata Interface. Thorsten Pivl Java Metadata Interface Thorsten Pivl Einleitung Was sind Metadaten? Das Wort Meta stammt aus dem griechischen und bedeutet über Meta-Daten: Daten über Daten Beschreibung von Daten 2 Einleitung Warum Metadaten?

Mehr

Analyse und Design mituml2

Analyse und Design mituml2 Analyse und Design mituml2 Objektorientierte Softwareentwicklung von Bernd Oestereich 7, aktualisierte Auflage Oldenbourg Verlag München Wien Ш1!Н1Н1КД nhjektorientierte Softwareentwicklung - Analyse und

Mehr

Code Generieren mit UML2

Code Generieren mit UML2 Code Generieren mit UML2 Über uns Philipp Auersperg Mitbegründer der Bluedynamics seit 20 Jahren in der objktorientierten Softwareentwicklung Seminare für Beratungsfirmen über UML Initiator des ArchGenXML

Mehr

Objektorientierte Systementwicklung

Objektorientierte Systementwicklung Karl-Heinz Rau Objektorientierte Systementwicklung Vom Geschäftsprozess zum Java-Programm Mit 162 Abbildungen vieweg Überblick und Vorbemerkungen 1 1 Objektorientierte Software-Entwicklung 5 1.1 Überblick

Mehr

Das Interface-Konzept am Beispiel der Sprache Java

Das Interface-Konzept am Beispiel der Sprache Java Das Interface-Konzept am Beispiel der Sprache Java Klaus Kusche, November 2013 Inhalt Motivation: Wozu braucht man Interfaces? Interfaces in Java Was spricht gegen die große Lösung? Voraussetzungen Kenntnisse

Mehr

Das Eclipse Modeling Framework (EMF)

Das Eclipse Modeling Framework (EMF) Das Eclipse Modeling Framework (EMF) www.softwareexperts.de Dr. Frank Gerhardt fg@gerhardtinformatics.com Dieter Moroff D.Moroff@corag.de Dr. Stephan Eberle Stephan.Eberle@bosch.com Agenda Einführung Eclipse

Mehr

MOF Meta Object Facility. Veranstaltungsvortrag im Rahmen der Projektgruppe ComponentTools

MOF Meta Object Facility. Veranstaltungsvortrag im Rahmen der Projektgruppe ComponentTools MOF Meta Object Facility Veranstaltungsvortrag im Rahmen der Projektgruppe ComponentTools Überblick Object Management Group (OMG) Model Driven Architecture (MDA) Exkurs: Modelle, Metamodelle MOF Architektur

Mehr

Vorlesung Programmieren

Vorlesung Programmieren Vorlesung Programmieren Unified Modeling Language (UML) Dr. Dennis Pfisterer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/pfisterer Unified Modeling Language (UML)

Mehr

15 Unified Modeling Language (UML) 7 UML und Java Informatik 2 (SS 07) 595

15 Unified Modeling Language (UML) 7 UML und Java Informatik 2 (SS 07) 595 Überblick 15. Unified Modeling Language (UML) 15.1 Grundlagen 15.2 Klassen und Objekte 15.3 Vererbung 15.4 Schnittstellen 15.5 Generische Typen 15.6 Pakete 15.7 UML und Java 15.8 Zusammenfassung 15 Unified

Mehr

Werkzeugunterstützung für UML Profiles. Verteidigung des Großen Belegs Andreas Pleuß

Werkzeugunterstützung für UML Profiles. Verteidigung des Großen Belegs Andreas Pleuß Werkzeugunterstützung für UML Profiles Verteidigung des Großen Belegs Andreas Pleuß Aufgabenstellung Sammlung der Anforderungen an UML Profiles Untersuchung bestehender UML-CASE-Tool Unterstützung Untersuchung

Mehr

i n g e n i e u r b ü r o f ü r s o f t w a r e t e c h n o l o g i e w w w. v o e l t e r. d e

i n g e n i e u r b ü r o f ü r s o f t w a r e t e c h n o l o g i e w w w. v o e l t e r. d e Generierung von GEF Editoren für Modellgetriebene Entwicklung Bernd Kolb, bernd@kolbware.de, www.kolbware.de Markus Völter, voelter@acm.org, www.voelter.de Modellgetriebene Softwareentwicklung ist eines

Mehr

Wer ich bin Christoph Knauf

Wer ich bin Christoph Knauf Wer ich bin Christoph Knauf xing.com/profile/christoph_knauf2 @C_Knauf christoph.knauf@itemis.de Wer ist itemis? Wer ist itemis? Gegründet 2003 Wer ist itemis? Gegründet 2003 Gründergeführt Wer ist itemis?

Mehr

1 Klassen und Objekte

1 Klassen und Objekte 1 Klassen und Objekte Datentyp - Spezifikation des Typs von Datenobjekten Datenstruktur - logische Ordnung von Elementen eines Datentyps - zur (effizienten) Speicherung, Verwaltung, Zugriff - auf die Elemente

Mehr

Persistenz. Ralf Gitzel

Persistenz. Ralf Gitzel Persistenz Ralf Gitzel ralf_gitzel@hotmail.de 1 Themenübersicht Ralf Gitzel ralf_gitzel@hotmail.de 2 Übersicht Grundkonzepte Entity Beans Meine erste Entity Entity-Manager Lernziele Übungsaufgabe 3 Grundkonzepte

Mehr

Analyse und Design mit U ML 2.3

Analyse und Design mit U ML 2.3 Analyse und Design mit U ML 2.3 Objektorientierte Softwareentwicklung von Bernd Oestereich unter Mitarbeit von Stefan Bremer 9., aktualisierte und erweiterte Auflage Ofdenbourg Verlag München Inhaltsverzeichnis

Mehr

Algorithmen und Datenstrukturen 06

Algorithmen und Datenstrukturen 06 31. Mai 2012 1 Besprechung Blatt 5 Fragen 2 Objektorientierte Programmierung Allgemein Sichtbarkeit Konstanten 3 Unified Modeling Language (UML) Klassendiagramme Anwendungsfalldiagramme 4 Vorbereitung

Mehr

"Modellieren geht über Codieren": Willkommen zu SE-Vertiefung! (c) schmiedecke 14 SE3-1-Einführung 1

Modellieren geht über Codieren: Willkommen zu SE-Vertiefung! (c) schmiedecke 14 SE3-1-Einführung 1 "Modellieren geht über Codieren": Willkommen zu SE-Vertiefung! (c) schmiedecke 14 SE3-1-Einführung 1 Dürfen wir uns vorstellen? Ilse Schmiedecke Diplom an der TU Berlin 1976 (!!!) Forschungsarbeiten in

Mehr

Web Modeler W3L AG Ein webbasiertes Modellierungswerkzeugs mit integrierter Plugin-Architektur

Web Modeler W3L AG Ein webbasiertes Modellierungswerkzeugs mit integrierter Plugin-Architektur 1 Web Modeler Ein webbasiertes Modellierungswerkzeugs mit integrierter Plugin-Architektur W3L AG info@w3l.de 04.2008 2 Inhaltsverzeichnis Motivation Modellierungswerkzeug Techniken Architektur Datenhaltung

Mehr

DSLs mit Xtext entwerfen. 17.08.2012, A. Arnold

DSLs mit Xtext entwerfen. 17.08.2012, A. Arnold DSLs mit Xtext entwerfen 17.08.2012, A. Arnold Copyright 2012 anderscore GmbH Inhalt 1. Was sind DSLs? 2. Xtext Konzepte 3. Einführung ins Sprachdesign 4. Hands On! 3 4 8 20 2 Was sind DSLs? Domain Specific

Mehr

SE Besprechung. Übung 1 Programmverständnis, Dokumentation

SE Besprechung. Übung 1 Programmverständnis, Dokumentation SE Besprechung Übung 1 Programmverständnis, Dokumentation SE, 11.10.11 Mengia Zollinger Teaching Assistant Mengia Zollinger 7. Semester Wirtschaftsinformatik Fasttrack bei A.

Mehr

WhiteStarUML Tutorial

WhiteStarUML Tutorial WhiteStarUML Tutorial Autor: Simon Balázs, BME IIT, 2015. Übersetzung: Kovács Márton, 2015. Installation Herunterladen und installieren Sie das WhiteStarUML: http://sourceforge.net/projects/whitestaruml/

Mehr

Modellgetriebene Softwareentwicklung reaktiver Systeme. Oliver Neumann 1

Modellgetriebene Softwareentwicklung reaktiver Systeme. Oliver Neumann 1 Modellgetriebene Softwareentwicklung reaktiver Systeme Oliver Neumann 1 Agenda Einleitung Motivation Begriffsklärung Reaktive Systeme MDA Umsetzung Ausblicke Oliver Neumann 2 Vorträge aus der TI J.Sellentin

Mehr

Software Engineering II

Software Engineering II Software Engineering II Wintersemester 12/13 Fachgebiet Software Engineering Installation der MWE Plugins Von der Juno Update Site installieren (falls noch nicht vorhanden): MWE SDK Xpand SDK 2 TFD Projekt

Mehr

Objektorientierte Modellierung (1)

Objektorientierte Modellierung (1) Objektorientierte Modellierung (1) Die objektorientierte Modellierung verwendet: Klassen und deren Objekte Beziehungen zwischen Objekten bzw. Klassen Klassen und Objekte Definition Klasse Eine Klasse ist

Mehr

Modell-Differenzen zur Änderungserkennung in großen Modellen

Modell-Differenzen zur Änderungserkennung in großen Modellen Modell-Differenzen zur Änderungserkennung in großen Modellen Phil Hebborn Agenda Motivation Grundlagen von Modell-Differenzen Modellieren mit EMF Der SiDiff-Algorithmus SiLift 2 Motivation Große Projekte

Mehr

Web Engineering-Seminar Methoden zur Web Modellierung: Object-oriented Hypermedia Method (OO-H)

Web Engineering-Seminar Methoden zur Web Modellierung: Object-oriented Hypermedia Method (OO-H) Web Engineering-Seminar Methoden zur Web Modellierung: Object-oriented Hypermedia Method (OO-H) Dominik Kirsten Daniel Schäferbarthold Trier, 21.01.2008 1 Gliederung 1. Einführung 1.1 Anforderungen an

Mehr

IT I: Heute. abstrakte Methoden und Klassen. Interfaces. Interfaces List, Set und Collection IT I - VO 7 1

IT I: Heute. abstrakte Methoden und Klassen. Interfaces. Interfaces List, Set und Collection IT I - VO 7 1 IT I: Heute abstrakte Methoden und Klassen Interfaces Interfaces List, Set und Collection 22.11.2018 IT I - VO 7 1 Wissensüberprüfung Überschreiben von Methoden: Aufruf der Methode der Oberklasse ist oft

Mehr

Vgl. Oestereich Kap 2.4 Seiten

Vgl. Oestereich Kap 2.4 Seiten Vgl. Oestereich Kap 2.4 Seiten 99-110 1 Vgl. Oestereich Kap 2.41 Seiten 99ff 2 Wie das Klassendiagramm ist auch das Objektdiagramm ebenfalls ein Strukturdiagramm. Da die Anzahl der Attribute sehr groß

Mehr