Modellgetriebene Softwareentwicklung

Slides:



Advertisements
Ähnliche Präsentationen
Forschungszentrum Informatik
Advertisements

GWT - google Web Toolkit
Eclipse.
Software Engineering 2 Übung – Konstruktion interaktiver (CASE) Tools SS 2007 Leif Geiger, Carsten Reckord, Software Engineering.
Vortrag im Rahmen des Seminars Modellgetriebene Softwareentwicklung
MOM in a Day Hands on Lab –HOL 1: Erstellen einer Computer Group –HOL 2: Erstellen einer Processing Rule Group –HOL 3: Verknüpfen der erstellten Computer.
Übung 5 Mehrstufige Client/Server-Systeme mit Enterprise Java Beans
Spec# Proseminar Assertions im SS 2007 Uni Paderborn Andreas Martens Betreuer: Dipl. Inform. Björn Metzler.
Einführung in die Entwicklungsumgebung
Objektrelationales Mapping mit JPA Getting Started Jonas Bandi Simon Martinelli.
Seminar: XML für Fortgeschrittene Referent: Katrin Apel
FH-Hof Java Packages Richard Göbel. FH-Hof Das Modulkonzept für Java Packages dienen zur Strukturierung größerer Java- Programme Ein Package kann: eigene.
Sommersemester 2004 Jan Drewnak Entwicklung und Einsatz von Geosoftware I Praktikum Sitzung X1 Sitzung X1: Packages & Wiederholung.
Praktikum Entwicklung und Einsatz von Geosoftware I - Sitzung 7 User Interfaces in Java Sommersemester 2003 Lars Bernard.
Das Build-Tool ANT ETIS SS05. ETIS SS05 - Nadine FröhlichANT 2 Gliederung Motivation Build - Datei –Allgemeiner Aufbau –Project –Target –Task –Properties.
Christian Kästner Modellgetriebene Softwareentwicklung Eclipse Modelling Framework.
Seminar Modellgetriebene Softwareentwicklung Einführung Seminar modellgetriebene Softwareentwicklung WS 05/06 Dipl.-Inf. Nadine Fröhlich Prof. Dr.-Ing.
XDoclet ETIS SS05.
DFKIUtils FRODO AgentFramework ein kleiner Einblick FRODOianer-Sitzung am
Die Skriptsprache Perl (8) Wolfgang Friebel DESY Zeuthen.
Software Engineering Seminar Metamodellierung
1 Reverse Engineering WS 07 / 08 A. Zündorf. Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University 2 Organisatorisches.
Packages Vortrag : Cornelia Hardt 23. November 1999.
DVG Einführung in Java1 Einführung in JAVA.
Allgemeiner Hinweis General Note
Use Cases Gesamtprojekt
Seite 1 Interface - Konzept Ein Interface führt einen neuen Datentyp ein: interface Frau {... } Das Interface enthält Deklarationen ( keine Definitionen.
Sommersemester 2004 Jan Drewnak Entwicklung und Einsatz von Geosoftware I Praktikum Sitzung 7 Sitzung 7: User Interfaces in Java.
Divide and Conquer Eclipse RCP und Spring in verteilten Anwendungen Stefan Reichert | Lufthansa Systems Benjamin Pasero | IBM Rational.
SOMA Service-Oriented Mobile learning Architecture.
Erweiterung von EMF Refactor um Update Funktionalität in grafischen Editoren Thorsten Arendt, AG Taentzer, SWT FoPra-Vorstellung, 19. April 2012.
Erste Schritte mit Eclipse Neues Projekt erstellen (1)
Wir bauen uns eine Webapplikation!
MDA – Framework AndroMDA
Aurich – Jonas Jacobi OSGi Tutorial Aurich – Jonas Jacobi Das OSGi Service Framework Dynamisches Modulsystem für Java Dynamische.
Java und Eclipse.
Project Perseus Der volle Projektname lautet Perseus Digital Library Project. Das Projekt begann in 1985 als Experiment zur Digitalisierung von Bibliotheken.
Mikrocomputertechnik 1 Einführung Prof. J. Walter Stand November Mikrocomputertechnik Jürgen Walter Eagle-Einführungs-Quickie Beschreibung Pfostenstecker.
Cooperation unlimited © Zühlke Juni 2009 Hansjörg Scherer Folie 1 Cooperation unlimited TFS als BackEnd für Visual Studio und Eclipse.
Windows Presentation Foundation, Vorlesung Wintersemester 2013/14 Prof. Dr. Herrad Schmidt WS 13/14 Kapitel 9 Folie 2 ADO.NET (1) Klassen für Zugriffe.
Einführung Modellgetriebene Softwareentwicklung, Metamodellierung Stephan Hildebrandt.
Getting Started Persistente Domänenmodelle mit JPA 2.0 und Bean Validation.
Spring Framework.
VU Semistrukturierte Daten 1
Ruby Refactoring Plug-In für Eclipse
Projektmanagement Ziel und Umfang eines Softwareprojektes definieren
Programmbereich, zu dem eine Deklaration gehört Arten von Gültigkeitsbereichen -Namespace : Deklarationen von Klassen, Interfaces, Structs, Enums, Delegates.
Eclipse Modeling Framework (EMF)
Torque in Turbine Team 4 Josef Bohninger Thomas Lindenhofer
C O R P O R A T E T E C H N O L O G Y Software & Engineering Architecture Eclipse Rich Client Platform Siemens Workshop Kai Tödter Siemens AG CT SE 2.
Drucken mit XSL-FO DaimlerChrysler  Drucken von Webseiten
3. Beschreibung von Abläufen durch Algorithmen 3.4 Zufall
Benutzerprofile anlegen auf
17. Januar 2006 Navigations- und Ortungssysteme Handy-Kompass Peter Ammon Michael Kaiser Thomas Zsebedits.
Lightning Talk von Andreas Güntzel Model Driven Software Development CODE GENERIERUNG MIT ANY.
Übung Informatik I exercise01. 2 Inhaltsübersicht Nachbesprechung Übung 1 Individuelle Fragen/Bemerkungen.
Die Fragen Wörter Wer? Was? Wann?.
BUCHUNGSPLATTFORM SWE Gruppe 3: Florian Schwarzhans Nenad Kircanski
Visual Age und Rational Rose Daniel Faensen. 2 Übersicht  Integration Rational Rose und VisualAge (Forward / Reverse Engineering)  Team-Unterstützung.
Seminar Modellgetriebene Softwareentwicklung XMI - XML Metadata Interchange Vortrag im Rahmen des Seminar Modellgetriebene Softwareentwicklung Mirko Otto.
Wirtschaftsinformatik Christian Mehring Im Rahmen des Seminars „Ausgewählte Themen des Softwareengineering“
Phonics Lessons Grade 1 Adapted from: Phonics Lessons by Gay Su Pinnell & Irene C. Fountas Grade 1, page 431 caatt If you knowIt helps you know.
Referent · von xx Seiten SharkNet – Getting started.
Workshop 1 Getting Started 2016 Boris Wylutzki
von Valentin Durst und Steffi Klein
Jakarta Struts Quasi-Standard für JSP-basierte Entwicklung: Jakarta Struts Key Features von Struts: Implementierung des Action-Command-Pattern („Model.
Tobias Fritz Eine Einführung in die 2D Spieleprogrammierung mit Java und Slick. Unterlagen:
Methodische Grundlagen des Software-Engineering
Paketzyklen – Diagnose, Therapie und Prophylaxe
openArchitectureWare in der FIDUCIA IT AG
 Präsentation transkript:

Modellgetriebene Softwareentwicklung Projektseminar H. Fritzsche

Was muss installiert werden? Idee der SF  Grafik Was muss installiert werden? H. Fritzsche

Idee der SF Das zu entwickelnde Metamodell ist Ecore-basiert und wird von Ecore abgeleitet (Es gibt grundsätzlich zwei Möglichkeiten: - Ecore oder - UML2 + Profile GMF ist auf EMF-Metamodelle ausgerichtet (Editorerstellung) Zieltechnologien (Plattformen, Frameworks) sollen für konkretes Projekt individuell auswählbar sein  Cartridges H. Fritzsche

H. Fritzsche

Der Kern steuert die Ausführung der Cartridge Modell wird an Cartridge übergeben H. Fritzsche

H. Fritzsche

Was muss installiert werden? Arbeit mit Eclipse Galileo, die Factory wird in Eclipse installiert Aufnahme EMF in Eclipse-Umgebung (features, plugins) Neues EMF-Projekt kreieren (SF-Student) Erweiterung um Cartridges durch ein Plug-in-Projekt Definition eigener Erweiterungspunkte H. Fritzsche

Das nachfolgende Beispiel für ein EMF-Projekt entspricht genau dem Tutorial. Es umfasst folgende Schritte: Step 0: Vorbereitungen Step 1: (Import the Model from Rose or) Define the Model Using Annotated Java Step 2: Generate the EMF Model Code Step 3: Generate an Editor for the Model Step 4: Run the Generated Editor H. Fritzsche

STEP 1: Define the Model Using Annotated Java Neues EMF-Projekt kreieren: H. Fritzsche

Es wird folgendes erzeugt: Jetzt wird src „von Hand“ gefüllt. einzeln, immer beginnend beim Kontextmenü von src: H. Fritzsche

Jetzt wird das EMF-Modell erzeugt: Hier ist ein Unterschied zum Tutorial Die Rubrik „EMF Model“ gibt Es nicht, statt dessen „EMF Generator Model“ (hat keine weiteren Auswirkungen) H. Fritzsche

Weiter bei STEP 2: H. Fritzsche

Ecore: H. Fritzsche

H. Fritzsche

STEP 2: Generate the EMF Model Code H. Fritzsche

Das generierte Modell zum EMF-Projekt: H. Fritzsche

ecore-Modell library.ecore und eine Generatormodell library.genmodel ► Ein ecore-Modell library.ecore und eine Generatormodell library.genmodel wurden erzeugt. Beide Modelle sind xml-Dateien. library ist der Package-Name. Das Generatormodell steuert die Codeerzeugung. H. Fritzsche

<?xml version="1.0" encoding="UTF-8"?> <ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="library" nsURI="http:///org/eclipse/example/library.ecore" nsPrefix="org.eclipse.example.library"> <eClassifiers xsi:type="ecore:EClass" name="Book"> <eStructuralFeatures xsi:type="ecore:EAttribute" name="title" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> <eStructuralFeatures xsi:type="ecore:EAttribute" name="pages" http://www.eclipse.org/emf/2002/Ecore#//EInt" defaultValueLiteral="100"/> <eStructuralFeatures xsi:type="ecore:EAttribute" name="category" eType="#//BookCategory"/> <eStructuralFeatures xsi:type="ecore:EReference" name="author" eType="#//Writer" eOpposite="#//Writer/books"/> </eClassifiers> H. Fritzsche

<eClassifiers xsi:type="ecore:EEnum" name="BookCategory"> <eLiterals name="Mystery"/> <eLiterals name="ScienceFiction" value="1"/> <eLiterals name="Biography" value="2"/> </eClassifiers> H. Fritzsche

<eClassifiers xsi:type="ecore:EClass" name="Library"> <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> <eStructuralFeatures xsi:type="ecore:EReference" name="writers" upperBound="-1" eType="#//Writer" containment="true" resolveProxies="false"/> name="books" upperBound="-1" eType="#//Book" containment="true" resolveProxies="false"/> </eClassifiers> H. Fritzsche

<eClassifiers xsi:type="ecore:EClass" name="Writer"> <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> <eStructuralFeatures xsi:type="ecore:EReference" name="books" upperBound="-1" eType="#//Book" eOpposite="#//Book/author"/> </eClassifiers> </ecore:EPackage> H. Fritzsche

STEP 3: Generate an Editor for the Model Nach der Generierung sollen die Klassen-Interfaces und die enum class erzeugt sein and a new pair of interfaces will have been created for the package itself and for the factory. 2 neue packages, with "impl" and "util" suffixes, which contain implementations of the interfaces and additional utility classes, and both types of manifest files for the model plug-in: "plugin.xml" and "MANIFEST.MF". H. Fritzsche

Code- Generierung beginnt beim Generatormodell  Über Kontextmenü H. Fritzsche

Das Edit-plugin enthält Adapter Das Editor-plugin Enthält einen Editor H. Fritzsche

STEP 4: Run the Generated Editor ► Um die neuen Plugins zu testen, muss eine zweite Eclipse-Instanz gestartet werden. Select one of the projects and then choose "Run As/Eclipse Application" from the "Run" menu or toolbar drop-down. H. Fritzsche

H. Fritzsche

Eine Fehlerursache sind die fehlenden Dependencies : H. Fritzsche

H. Fritzsche