Eclipse Modeling Framework Modellgetriebene Softwareentwicklung Prof. Andreas Schmidt

Ähnliche Dokumente
Was ist EMF? Wie wird EMF eingesetzt? Was ist ecore? Das Generatormodell Fazit

Domänenspezifisch entwickeln mit UML (Vortrag mit Demo)

Einführung in das Eclipse Modeling Framework (EMF)

Michael Piechotta - CASE Tools. openarchitecture Ware

WIRTSCHAFTSINFORMATIK

Übersicht Eclipse Modeling Project EMP. Zoltan Horvath

Software Engineering II

Prof. Dr. Gabriele Taentzer, Dr. Thorsten Arendt

Problemseminar ModelDrivenSoftwareDevelopment

Model Driven Architecture Praxisbeispiel

Modellgetriebene Entwicklungsprozesse in der Praxis - eine Bestandsaufnahme. Tillmann Schall, anaptecs GmbH

PLATTFORMÜBERGREIFENDE ENTWICKLUNG MITHILFE MODELLGETRIEBENER METHODEN UND TECHNOLOGIEN

Oracle JDeveloper 10 g

Ein Erfahrungsbericht beim Einsatz von generierenden Ansätzen im Vergleich zu generischen Lösungen

Model Driven Development im Überblick

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

Einführung in modellgetriebene Softwareentwicklung. 24. Oktober 2012

Andreas Lux Verknüpfung unterschiedlicher Modellsprachen (BPMN, UML, DSL) zur Anforderungsanalyse

Datenhaltung für Android Model First Christian Ingenhaag, Frederik Götz, Carl Steeg

EMF vs. MDA. Klaus Mairon Klaus Häuptle

Generisch entwickelte Software-Werkzeuge anpassbar wie ein Chamäleon

MDRE die nächste Generation des Requirements Engineerings

Experiences with Model Driven Software Development Creating the Palladio Tool Chain Eclipse Application Developer Day 7.

Telling TestStories Modellbasiertes Akzeptanz Testen Serviceorientierter Systeme

Datenhaltung für Android. Model First

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

Model Driven Software Development

Eclipse und EclipseLink

Integration von openarchitectureware in Innovator am Beispiel eines WSDL/XSD Generators für SOA- Plattformen. Nürnberg,

openarchitectureware Was mit dem Open Source MDSDWerkzeug möglich ist

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

MOF Meta Object Facility. Veranstaltungsvortrag im Rahmen der Projektgruppe ComponentTools

Software Factories SS Prof. Dr. Dirk Müller. 3 Modellgetriebene Softwareentwicklung

Prof. Dr. Gabriele Taentzer, Dr. Thorsten Arendt

EMF-GMF-Tutorial: Petrinet

Graphischer Editor für die technologieunabhängige User Interface Modellierung

Einfach generieren. Susanne Klar, Michael Klar. Generative Programmierung verständlich und praxisnah ISBN Inhaltsverzeichnis

openarchitectureware

Jochen Bauer

Current Workflow. formatted. Rules. Extensions. Rules. DOM processing with Meta API-calls. Code Generation (Smarty) XMLfile. Source code.

Software Engineering in der Projektpraxis

Übersicht. Eclipse Foundation. Eclipse Plugins & Projects. Eclipse Ganymede Simultaneous Release. Web Tools Platform Projekt. WSDL Editor.

Integration von Web Services in J EE Anwendungen mit XFire. 1/26 André Janus - Integration von Web Services in J EE Anwendungen mit XFire

MDA MDA mit mit Open-Source-Software Eine Eine Bestandsaufnahme

10. Modellgetriebene Entwicklung Softwaretechnik (CNAM) Wintersemester 2009 / 2010 Prof. Dr. Bernhard Humm Hochschule Darmstadt, FB Informatik

COPE COuPled Evolution of metamodels and models

Software Engineering II

Modellgetriebene Softwareentwicklung (Model Driven Software Development - MDSD) SS 2014

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

XMI & Java. von Stefan Ocke so3@inf.tu-dresden.de 5.Juli 2001


Modellgetriebene Softwareentwicklung

Ausarbeitung Referat zur MDA

Modellbasierte Testautomatisierung mit Fitnesse

Modellierung & Domänen Spezifische Sprachen (DSL)

Werkzeuge für Datenbank Handwerker: IBM Data Studio und IBM Optim QWT

Faktor-IPS. Modellgetriebene Softwareentwicklung mit Faktor-IPS. Faktor Zehn AG. Seite 1

Einführung. Ralf Gitzel

In den folgenden tabellarischen Übersichten finden Sie Kenntnisse und Fähigkeiten unseres Entwickler-Teams und unserer Berater.

Beispielhaft MDSD in der Praxis. Dr. Shota Okujava

Modell/Metamodell. Generated Source Code. Generator. Model. Fakultät für Informatik und Wirtschaftsinformatik MDSD - SS 2014

Innovator Anbindung an openarchitectureware. Connect. Klaus Weber.

Webentwicklung mit Vaadin 7. Theoretische und praktische Einführung in Vaadin 7. Christian Dresen, Michael Gerdes, Sergej Schumilo

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

EMF - Eclipse Modeling Framework Seminararbeit im Seminar Information Systems Engineering

Das Eclipse Modeling Framework (EMF)

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

Die Eclipse Rich Client Platform. Martin Lippert Consultant und Coach

Softwaretechnik. Prof. Dr. Rainer Koschke. Fachbereich Mathematik und Informatik Arbeitsgruppe Softwaretechnik Universität Bremen

Eclipse Modeling Framework (EMF) und das Graphical Editing Framework (GEF)

XML in der Oracle Datenbank

Model Driven Architecture (MDA)

Christian Kurz SWT Projekt WS 07/08

Guido de Melo Fachvortrag, Uni Ulm UML 2.0. Für den Einsatz in der Praxis

Entwicklungswerkzeuge

Usecase Meta Model Comparison and Model Migration. Dawid Kostrzycki Entwicklung verteilter eingebetteter Systeme

Codegenerierung am Beispiel des PIMAR-Projekts PhoneBook. 14. Januar 2015

Der Beginn einer wunderbaren Freundschaft von Stefan Schnell

Content Management mit JSR-170 und dem Open Source CMS Magnolia

Making the most of SharePoint Online for your Intranet

Business Applika-onen schnell entwickeln JVx Framework - Live!

Transkript:

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 Vorgehensweise Bestandteile Vorteile Live-Demo 1 2 4 3 Ecore Modell Java Emitter Template Sören Bühler, Anja Heinzberger, Julia Haßlinger MDSD Eclipse Modeling Framework 07.06.2013 2

1 EMF Was ist das überhaupt? Sören Bühler, Anja Heinzberger, Julia Haßlinger MDSD Eclipse Modeling Framework 07.06.2013 3

1 EMF Was ist das überhaupt? quelloffenes Java-Framework zur automatisierten Erzeugung von Quelltext anhand von strukturierten Modellen Projekt der Eclipse-Open-Source-Gemeinschaft Sören Bühler, Anja Heinzberger, Julia Haßlinger MDSD Eclipse Modeling Framework 07.06.2013 4

1 Historie Hauptinitiator: IBM Bereitstellung des Kerns von Rational Rose Projektleiter: Ed Merks Ursprüngliches Ziel: Implementierung von Meta Object Facility (MOF) Sören Bühler, Anja Heinzberger, Julia Haßlinger MDSD Eclipse Modeling Framework 07.06.2013 5

1 Vorgehensweise inkl. JUnit-Code, Doku, Sören Bühler, Anja Heinzberger, Julia Haßlinger MDSD Eclipse Modeling Framework 07.06.2013 6

1 Vorgehensweise Das Modell selbst kann aus einer XSD (XML Schema Definition), aus annotierten Java-Interfaces oder aus UML-Diagrammen (Rose, TOPCASED, MagicDraw und Omondo) generiert oder auch von Hand erstellt werden Das Java-Programm kann Instanzen dieses Modells erstellen, abfragen, manipulieren, serialisieren, validieren und auf Änderungen überwachen (für MVC) Sören Bühler, Anja Heinzberger, Julia Haßlinger MDSD Eclipse Modeling Framework 07.06.2013 7

1 Bestandteile Metamodell XML Schema Infoset Model Java Emitter Templates Ecore- SDO-Referenzimplementierung JMerge Sören Bühler, Anja Heinzberger, Julia Haßlinger MDSD Eclipse Modeling Framework 07.06.2013 8

1 Vorteile + Integration in die Eclipse Werkzeugplattform + Generierung von UI-Komponenten sowie die Zusammenarbeit mit anderen Eclipse-Projekten, etwa im Eclipse Graphical Modeling Framework (GMF) + Serialisierung und Validierung steigern die Produktivität beim Entwickeln + Einarbeitungszeit gering aufgrund vieler Möglichkeiten der Modellierung (XSD, UML, Java-Interfaces) + Einsatz von Code-Generatoren und MDD (Model Driven Development) steigert ebenfalls die Produktivität, reduziert Wiederholungen und damit mögliche Fehlerquellen + Automatisierte Erstellung von Dokumenten Sören Bühler, Anja Heinzberger, Julia Haßlinger MDSD Eclipse Modeling Framework 07.06.2013 9

2 Ecore Modell Allgemein gehaltener Ansatz Möglichkeit sowohl spezifische Objekte, als auch den Aufbau dieser zu beschreiben Erlaubt den Import von Objektmodellen unterschiedlicher Repräsentationen Generierung von EMF-Codefragmenten aus einem Ecore Modell Sören Bühler, Anja Heinzberger, Julia Haßlinger MDSD Eclipse Modeling Framework 07.06.2013 10

2 Ecore Modell Modell E-Modell direkt im Editor erstellen Voraussetzung: Hinreichende Kenntnisse des Ecore Metamodells Modell importieren und E-Modell generieren lassen Code Modell Objekte mit Java- Interfaces definieren, modellrelevante Objekte mit @model kennzeichnen und E-Modell generieren lassen Sören Bühler, Anja Heinzberger, Julia Haßlinger MDSD Eclipse Modeling Framework 07.06.2013 11

2 Ecore Modell Sören Bühler, Anja Heinzberger, Julia Haßlinger MDSD Eclipse Modeling Framework 07.06.2013 12

2 Ecore Modell Sören Bühler, Anja Heinzberger, Julia Haßlinger MDSD Eclipse Modeling Framework 07.06.2013 13

3 Java Emitter Template model-to-text -Engine Tool mit dessen Unterstützung die Generierung von unterschiedlichen Textartefakten wie SQL, Java, XML oder generell Text möglich ist JET-Syntax in Anlehnung an die Syntax von Java Server Pages (JSP) JET- Engine public String generate Sören Bühler, Anja Heinzberger, Julia Haßlinger MDSD Eclipse Modeling Framework 07.06.2013 14

3 Java Emitter Template define templates.xmljet.htmljet.txtjet translation <%@ jet package="hello" class="greetingtemplate"%> Hello <%=argument%>! generate Java Implementation classes.java generation create the final output Methodenaufruf generate() GreetingTemplate sayhello = new GreetingTemplate(); String result = sayhello.generate("smiff"); System.out.println(result); Hello Smiff! Sören Bühler, Anja Heinzberger, Julia Haßlinger MDSD Eclipse Modeling Framework 07.06.2013 15

3 Java Emitter Template Syntax Directives Expressions Scriplets definieren die Umgebungsparameter vor Übersetzung eines Templates für die JET- Engine dienen der Ausgabe von Werten einer Variablen oder Methode sind Fragmente von Java-Programmcode, die in der Regel Geschäftslogik enthalten Sören Bühler, Anja Heinzberger, Julia Haßlinger MDSD Eclipse Modeling Framework 07.06.2013 16

4 Live-Demo Szenario: Sport Sören Bühler, Anja Heinzberger, Julia Haßlinger MDSD Eclipse Modeling Framework 07.06.2013 17

Links Tutorials http://www.vogella.com/articles/eclipseemf/article.html http://www.eclipse.org/epsilon/doc/articles/reflective-emf-tutorial/ http://www.vogella.com/articles/eclipsejet/article.html http://www.eclipse.org/articles/article-jet/jet_tutorial1.html Interface Summary http://download.eclipse.org/modeling/emf/emf/javadoc/2.9.0/org/eclipse/e mf/ecore/package-summary.html Downloads http://www.eclipse.org/downloads/ Sören Bühler, Anja Heinzberger, Julia Haßlinger MDSD Eclipse Modeling Framework 07.06.2013 18

Vielen Dank für die Aufmerksamkeit! Echte Programmierer programmieren nicht. -Frei nach Ed Merks- Sören Bühler, Anja Heinzberger, Julia Haßlinger MDSD Eclipse Modeling Framework 07.06.2013 19