Software Engineering 2 – Konstruktion interaktiver (CASE) Tools WS 09 / 10 Vorlesung: Albert Zündorf, Software Engineering Übungen: Nina Geiger, Software.

Slides:



Advertisements
Ähnliche Präsentationen
Software Engineering 2 Übung – Konstruktion interaktiver (CASE) Tools SS 2007 Leif Geiger, Carsten Reckord, Software Engineering.
Advertisements

Vorlesung: 1 Betriebliche Informationssysteme 2003 Prof. Dr. G. Hellberg Studiengang Informatik FHDW Vorlesung: Betriebliche Informationssysteme Teil3.
Einführung in die Informatik: Programmierung und Software-Entwicklung
Telefonnummer.
Modelle und Methoden der Linearen und Nichtlinearen Optimierung (Ausgewählte Methoden und Fallstudien) U N I V E R S I T Ä T H A M B U R G November 2011.
Design by Contract with JML - Teil 2
1 JIM-Studie 2010 Jugend, Information, (Multi-)Media Landesanstalt für Kommunikation Baden-Württemberg (LFK) Landeszentrale für Medien und Kommunikation.
= = = = 47 = 47 = 48 = =
Vorlesung: 1 Betriebliche Informationssysteme 2003 Prof. Dr. G. Hellberg Studiengang Informatik FHDW Vorlesung: Betriebliche Informationssysteme Teil2.
Vererbung Spezialisierung von Klassen in JAVA möglich durch
PKJ 2005/1 Stefan Dissmann Rückblick auf 2005 Was zuletzt in 2005 vorgestellt wurde: Klassen mit Attributen, Methoden und Konstruktoren Referenzen auf.
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.
Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 1 6. Story Driven Modeling Gliederung: 1. Einführung 2. Objektdiagramme zur Analyse.
Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 1 6. Story Driven Modeling Gliederung: 1. Einführung 2. Objektdiagramme zur Analyse.
Software Engineering 2 – Konstruktion interaktiver (CASE) Tools SS 2006 Albert Zündorf, Software Engineering.
Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 1 6. Story Driven Modeling Gliederung: 1. Einführung 2. Objektdiagramme zur Analyse.
Software Engineering 2 – Konstruktion interaktiver (CASE) Tools
Software Engineering Seminar Metamodellierung
Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 1 GUI Konstruktion: 1. Entwurf mit Papier und Bleistift / Post Ist 2. Eventuell.
4. Design Gliederung: Einführung Anforderungsdefinition Analyse Design
Software Engineering 2 – Konstruktion interaktiver (CASE) Tools SS 2007 Albert Zündorf, Software Engineering.
1 Reverse Engineering WS 07 / 08 A. Zündorf. Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University 2 Organisatorisches.
Reverse Engineering 1 Reverse Engineering WS 04 / 05 A. Zündorf.
Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 1 Model View Controller Pattern.
Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University Baustein- vs. Funktionsorientierte Organisation.
Model Driven Engineering SS 10 Prof. Albert Zündorf Fachgebiet für Software Engineering Wilhelmshöher Allee Kassel (Raum 1339)
Model Driven Engineering SS 10 Prof. Albert Zündorf Fachgebiet für Software Engineering Wilhelmshöher Allee Kassel (Raum 1339)
Software Engineering 2 – Konstruktion interaktiver (CASE) Tools WS 10 / 11 Vorlesung: Albert Zündorf, Software Engineering Übungen: Nina Geiger, Software.
Software Engineering 2 – Konstruktion interaktiver (CASE) Tools
Software Engineering 2 – Konstruktion interaktiver (CASE) Tools WS 13 / 14 Vorlesung: Albert Zündorf, Software Engineering Übungen: Andreas Scharf, Software.
Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 1 6. Story Driven Modeling Gliederung: 1. Einführung 2. Objektdiagramme zur Analyse.
Model Driven Engineering SS 10 Prof. Albert Zündorf Fachgebiet für Software Engineering Wilhelmshöher Allee Kassel (Raum 1339)
Software Engineering 2 – Konstruktion interaktiver (CASE) Tools WS 10 / 11 Vorlesung: Albert Zündorf, Software Engineering Übungen: Nina Geiger, Software.
Programmiermethodik SS2010 © 2010 Albert Zündorf, University of Kassel 1 Gesamtvorgehen 1. Textuelle Szenarios 2. Objektdiagramme 3. Klassendiagramm 4.
Seminar SE: MDE 1 FG Software Engineering Software Engineering Seminar Model Driven Engineering Seminar des Fachgebiet Software Engineering Ruben Jubeh,
Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University Baustein- vs. funktionsorientierte Organisation.
Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University Baustein- vs. Funktionsorientierte Organisation.
Schieferdeckarten Dach.ppt
Rechneraufbau & Rechnerstrukturen, Folie 12.1 © W. Oberschelp, G. Vossen W. Oberschelp G. Vossen Kapitel 12.
Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University Compilerbau und Reverse Engineering m Vorlesung im Wintersemester.
Software Engineering 2 – Konstruktion interaktiver (CASE) Tools WS 10 / 11 Vorlesung: Albert Zündorf, Software Engineering Übungen: Nina Geiger, Software.
Model Driven Engineering SS 10 Prof. Albert Zündorf Fachgebiet für Software Engineering Wilhelmshöher Allee Kassel (Raum 1339)
2 Distanzbasierte Sprachkommunikation für Peer-to-Peer-Spiele.
Software(technik)praktikum Tutorial: Einführung in GEF
20:00.
Die Geschichte von Rudi
„Küsse deine Freunde“ – FlexKom-App teilen
Zusatzfolien zu B-Bäumen
OOD – Object Oriented Design II
Eine Einführung in die CD-ROM
ETS4 - Was ist neu? - Wie fange ich an? - Noch Fragen?
für Weihnachten oder als Tischdekoration für das ganze Jahr
1 Ein kurzer Sprung in die tiefe Vergangenheit der Erde.
Gameplay Systems I Softwaretechnologie II (Teil 2): Simulation und 3D Programmierung SS 2012 Prof. Dr. phil. Manfred Thaller Referent: Christian Weitz.
NEU! 1 2. Wo kommt diese Art von Rezeptor im Körper vor?
HORIZONT 1 XINFO ® Das IT - Informationssystem PL/1 Scanner HORIZONT Software für Rechenzentren Garmischer Str. 8 D München Tel ++49(0)89 / 540.
PROCAM Score Alter (Jahre)
Ertragsteuern, 5. Auflage Christiana Djanani, Gernot Brähler, Christian Lösel, Andreas Krenzin © UVK Verlagsgesellschaft mbH, Konstanz und München 2012.
Symmetrische Blockchiffren DES – der Data Encryption Standard
MINDREADER Ein magisch - interaktives Erlebnis mit ENZO PAOLO
GMF (Graphical Modeling Framework)
1 (C)2006, Hermann Knoll, HTW Chur, FHO Quadratische Reste Definitionen: Quadratischer Rest Quadratwurzel Anwendungen.
Schutzvermerk nach DIN 34 beachten 20/05/14 Seite 1 Grundlagen XSoft Lösung :Logische Grundschaltung IEC-Grundlagen und logische Verknüpfungen.
SiLeBAT Sicherstellung der Futter- und Lebensmittelwarenkette bei bio- und agro-terroristischen (BAT)-Schadenslagen.
J-Team: Gymnasium Ulricianum Aurich und MTV Aurich Ein Projekt im Rahmen von UlricianumBewegt.de Euro haben wir schon…  8000 mal habt ihr bereits.
Datum:17. Dezember 2014 Thema:IFRS Update zum Jahresende – die Neuerungen im Überblick Referent:Eberhard Grötzner, EMA ® Anlass:12. Arbeitskreis Internationale.
1 Medienpädagogischer Forschungsverbund Südwest KIM-Studie 2014 Landesanstalt für Kommunikation Baden-Württemberg (LFK) Landeszentrale für Medien und Kommunikation.
Monatsbericht Ausgleichsenergiemarkt Gas – Oktober
Software Engineering 2 – Konstruktion interaktiver (CASE) Tools
 Präsentation transkript:

Software Engineering 2 – Konstruktion interaktiver (CASE) Tools WS 09 / 10 Vorlesung: Albert Zündorf, Software Engineering Übungen: Nina Geiger, Software Engineering

SS 2007 Software Engineering 2 Albert Zündorf, University of Kassel 2 Administratives m Vorlesung: Montags Uhr Raum 1340 (4SWS) m Prüfung: Projektarbeit (wir basteln uns ein Engineering C Tool)

SS 2007 Software Engineering 2 Albert Zündorf, University of Kassel 3 Überblick 1. Referenzarchitektur 2. Meta-Modell 3. Repository 4. Austauschformate 5. Unparsing 6. Checking 7. Code Generierung

SS 2007 Software Engineering 2 Albert Zündorf, University of Kassel 4 1. Referenzarchitektur Repository Meta Model GUI (Commands) Generators / Interpreters QVT Import/ Export GUI (Unparsing)

SS 2007 Software Engineering 2 Albert Zündorf, University of Kassel 5 2. Meta-modell m abstrakter Syntaxgraph (ASG) m logische Datenstruktur hinter der Darstellung am Bildschirm m speichert Editoreingaben m beschrieben durch Klassendiagramm File Edit Tools X

SS 2007 Software Engineering 2 Albert Zündorf, University of Kassel 6 2. Meta-modell

SS 2007 Software Engineering 2 Albert Zündorf, University of Kassel 7 2. Meta-modell

SS 2007 Software Engineering 2 Albert Zündorf, University of Kassel 8 Meta Meta Meta

SS 2007 Software Engineering 2 Albert Zündorf, University of Kassel 9 Meta Object Facility – MOF m yet another meta model for class diagrams m UML notation + klare Semantik + standard Implementierung (z.B. JMI Repository) + standard Austauschformate (XMI) m Akademische Initiative m Open source m oft als Austauschformat zwischen Tools benutzt

SS 2007 Software Engineering 2 Albert Zündorf, University of Kassel 10 Nach Atkinson Kühne: Model-Driven Development: A Metamodeling Foundation; IEEE Software linguistic instance-of ontological instance-of -M3: Werkzeugbausteine -M2: Programmbausteine -M1: Laufzeitdaten -M0: reale Welt

SS 2007 Software Engineering 2 Albert Zündorf, University of Kassel 11 Nach Atkinson Kühne: Model-Driven Development: A Metamodeling Foundation; IEEE Software linguistic instance-of ontological instance-of -beide Dimensionen gleichberechtigt?

SS 2007 Software Engineering 2 Albert Zündorf, University of Kassel Repository Man will ja auch mal abspeichern und wieder laden: Binäre File-Formate / Java Serialisierung m class C implements Serializable m bestimmen aller Objekte die gespeichert werden sollen ( Composite Struktur) m transiente Attribute werden ausgeklammert AnforderungenSerialisierung Speichern und Laden+ Einfachheit++ Tool-KopplungO Multi-User Support- Versionierung-- Schema-Evolution? ScalingO

SS 2007 Software Engineering 2 Albert Zündorf, University of Kassel Repository XML-Formate m generische Lade-/Speicher Routinen per Java Reflection m bestimmen aller Objekte die gespeichert werden sollen ( Composite Struktur) m JDom / Xerces Basistechnologie (beherschbar) AnforderungenXML - Formate Speichern und Laden+ Einfachheit+ Tool-Kopplung+ Multi-User Support- Versionierung-- Schema-Evolution+ Scaling-

SS 2007 Software Engineering 2 Albert Zündorf, University of Kassel Repository Relationale Datenbanken m Objekte und Beziehungen werden als Tupel in Datenbanktabellen gespeichert m Zugriff per ODBC m Middleware (z.B. JPA) m Multi-User Betrieb durch Datenbank Sperrkonzepte und Transaktionen l pessimistische Sperren l Caching schwierig AnforderungenDatenbanken Speichern und Laden+ Einfachheit- Tool-Kopplung+ Multi-User Support+ Versionierung- Schema-Evolution+ Scaling++

SS 2007 Software Engineering 2 Albert Zündorf, University of Kassel Repository Coobra2: COmmon Object Replication frAmework m Basismechanismus von Fujaba m Protokollierung aller Attributzugriffe als Deltas per Listener m Undo / Redo m Deltas Checkin / Checkout in Repository m optimistisches Locking / Merging m Integriert in Fujaba Code Generierung m manuelle Implementierung möglich AnforderungenCoobra Speichern und Laden+ Einfachheit++ Tool-Kopplung+ Multi-User Support++ Versionierung++ Schema-Evolution+ Scaling-

SS 2007 Software Engineering 2 Albert Zündorf, University of Kassel Repository AnforderungenSerialisierungXML - Formate DatenbankenCoobra Speichern und Laden++++ Einfachheit+++- Tool-KopplungO+++ Multi-User Support--+++ Versionierung Schema-Evolution?+++ ScalingO-++-

SS 2007 Software Engineering 2 Albert Zündorf, University of Kassel Referenzarchitektur Repository Meta Model GUI (Commands) Generators / Interpreters QVT Import/ Export GUI (Unparsing)

SS 2007 Software Engineering 2 Albert Zündorf, University of Kassel Commands m Aktionen hinter Menüpunkten und Buttons m Viele Buttons/Menüpunkte für ein Kommando denkbar m Undo/Redo Einheiten m API Operationen m Macros

SS 2007 Software Engineering 2 Albert Zündorf, University of Kassel Commands m Normalerweise ein Objekt/eine Klasse pro Command m Aufwändige Protokolle für's Undo/Redo m API getrennt m Bei uns Undo/Redo per Coobra

SS 2007 Software Engineering 2 Albert Zündorf, University of Kassel Commands Aufgabe m Klasse EngineeringCEditior bauen m eclipse GMF plugin m erwartete Operationen / GUI Elemente: l Load / Save l Undo / Redo l Create / Delete Block l Create / Delete Wire l refactorSubCircuitsToBlockDecl l startDobs l Unparsing später, wir schauen uns das im Dobs an

SS 2007 Software Engineering 2 Albert Zündorf, University of Kassel Referenzarchitektur Repository Meta Model GUI (Commands) Generators / Interpreters QVT Import/ Export GUI (Unparsing)

SS 2007 Software Engineering 2 Albert Zündorf, University of Kassel 22 Simulation

SS 2007 Software Engineering 2 Albert Zündorf, University of Kassel 23 Simulation

SS 2007 Software Engineering 2 Albert Zündorf, University of Kassel 24 Simulation

SS 2007 Software Engineering 2 Albert Zündorf, University of Kassel 25 Simulation

SS 2007 Software Engineering 2 Albert Zündorf, University of Kassel Unparsing m Metamodell: interne Speicherung z.B. für Code Generierung m GUI: Darstellung am Bildschirm z.B. mit GEF (oder Swing) m Unparsing: Erzeugung der Darstellung aus dem Metamodell m 2 Teilprobleme: 1. Erzeugung von Darstellungselementen für Modell 2. Synchronisation bei Änderungen ?

SS 2007 Software Engineering 2 Albert Zündorf, University of Kassel 27 Bildschirmdarstellung vs. interne Struktur Model View GUI Action Update

SS 2007 Software Engineering 2 Albert Zündorf, University of Kassel 28 … The GEF Way (1) Model View GUI Update Create/Update Paint Action m 3 Probleme: 1. Initiales Unparsing 2. Update des Views bei Änderung am Model 3. Umsetzen von Nutzeraktionen in Modelländerungen MVC

SS 2007 Software Engineering 2 Albert Zündorf, University of Kassel 29 View-Update: Model-View-Controller Model View Interface m Model l weiß nichts über View l Notification Mechanism m View l weiß nichts über Model m Controller l Bringt beides zusammen… Interface setGraphicalPropertyX() … setName(myPlace) firePropertyChange(…) setText(myPlace) Controller c1:Controller c2:Controller

SS 2007 Software Engineering 2 Albert Zündorf, University of Kassel 30 Interface … The GEF Way (2) Model View create() setGraphicalPropertyX() … Controller GEF Action z.B. EMF Draw2D Figures 1:1 create()

SS 2007 Software Engineering 2 Albert Zündorf, University of Kassel 31 EMF + GEF = GMF m GEF ist schön und gut, aber … m … immer noch viel zu kompliziert und aufwändig m … nicht model-driven (Java-Hacken) GMF (Graphical Modeling Framework) m Führt EMF und GEF zusammen m Spezifizieren statt Programmieren m … alles viel schöner, einfacher, schneller, besser !? m Sehr spezifische Anforderungen an das Modell (1:1 Umsetzung): Da gibts noch was zu tun…

SS 2007 Software Engineering 2 Albert Zündorf, University of Kassel 32 GMF Übersicht

SS 2007 Software Engineering 2 Albert Zündorf, University of Kassel 33 Graphical Definition Model m Definiert die Diagrammelemente m Figure-Gallery enthält graphische Primitive m Nodes, Connections… binden Figures an logische Diagrammelemente Graphical Definition Model = Visual Language

SS 2007 Software Engineering 2 Albert Zündorf, University of Kassel 34 Tooling Definition m Toolbar m Menüs m …

SS 2007 Software Engineering 2 Albert Zündorf, University of Kassel 35 Mapping Model / Notation Model m Bildet das Domain Model auf das Graphical Definition Model ab l Im Wesentlichen 1:1 l Kanten aus Objekten oder Links l braucht Komposition im Modell … l Etwas komplexere Mappings über OCL-Bedingungen möglich l In Zukunft (vielleicht) mal flexibler durch echtes Model-Mapping mit QVT l Mapping Model + Graphical Definition Model = Notation Model m Ordnet Tools aus Tooling Definition zu

SS 2007 Software Engineering 2 Albert Zündorf, University of Kassel 36 Unparsing Summary m

SS 2007 Software Engineering 2 Albert Zündorf, University of Kassel Referenzarchitektur Repository Meta Model GUI (Commands) Generators / Interpreters QVT Import/ Export GUI (Unparsing)

SS 2007 Software Engineering 2 Albert Zündorf, University of Kassel 38 setUp Beispiel Petri Net: Uni-Party Idea Orga Team start findPeople Date Bands Room corePlanninggo Advertising PartyTeam Equipment FireDep. DrinkingFood. detailing prepareopen entryparty begin closeIt wrapUP teamParty celebrate increment

SS 2007 Software Engineering 2 Albert Zündorf, University of Kassel 39 Nebenläufigkeit: corePlanning Orga Team Date Bands Room planing DatePlanBandPlanRoomPlan dateNegosbandNegosroomNegos DateFixedBandFixedRoomFixed reviewing [failure] [success]

SS 2007 Software Engineering 2 Albert Zündorf, University of Kassel 40 Semantikvorschlag: m ordne jeder Transition ein Java-Codefragment zu m In und Out Stellen sind Variablen (a bis e) vom Typ Stelle m Transitionen werden neu geschedult wenn sich an einer In oder Out Stelle was ändert m Transition entscheidet ob und welche Token konsumiert und produziert werden m wenn eine Transition etwas tut, wird sie neu geschedult m es gibt spezielle Input und Output stellen m Input Stellen können von außen befüllt werden m Output Stellen können von außen geleert werden m Initial Marking ist leer a t bc de

SS 2007 Software Engineering 2 Albert Zündorf, University of Kassel Referenzarchitektur Repository Meta Model GUI (Commands) Generators / Interpreters QVT Import/ Export GUI (Unparsing)

SS 2007 Software Engineering 2 Albert Zündorf, University of Kassel 42 Query – View – Transformation m Zentraler Teil der Model Driven Architecture (MDA) Initiative m man will auch mal mit den schönen Modellen rechnen m Konsistenzanalysen m Refactorings, … m Modell A in Modell B umbauen m Ausführung / Code Generierung

SS 2007 Software Engineering 2 Albert Zündorf, University of Kassel 43 elementare Konsistenzanalysen: m Stellen und Transitionen eindeutig benannt m jede Transition hat mind. eine In und eine Out Stelle m jede Stelle hat mindestens eine Transition

SS 2007 Software Engineering 2 Albert Zündorf, University of Kassel 44 inhaltliche Konsistenzanalysen: m jede Input Stelle trägt zu mind. einer Output stelle bei m jede Output Stelle wird von mind. einer Input Stelle versorgt

SS 2007 Software Engineering 2 Albert Zündorf, University of Kassel 45 Konsistenzanalysen (2cd) m Inkonsistenzen fallen meist bei Ausführung / Code-Generierung auf Einfache Strategie: m Fehler-Management-Objekt einführen m pro Fehler: l fehler Markierungsobjekt erzeugen l fehlerhafte Stelle markieren l an Fehler-Management-Objekt anhängen l Fehlerliste anzeigen l vor jeder neuen Analyse / Ausführung / Code-Generierung alte Fehler löschen

SS 2007 Software Engineering 2 Albert Zündorf, University of Kassel 46 Refactorings: merge Transitions m fasse zwei Transitionen zu einer zusammen m name der ersten m Java Code von beiden hintereinander m In Stellen von beiden m Out Stellen von beiden

SS 2007 Software Engineering 2 Albert Zündorf, University of Kassel 47 Refactorings: merge Places m fasse zwei Stellen zu einer zusammen m Name der ersten m Transitionen von beiden

SS 2007 Software Engineering 2 Albert Zündorf, University of Kassel 48 Refactorings: split Place m ersetze Stelle durch zwei Stellen mit Transition dazwischen m die Transition liest und schreibt auf beiden neuen Stellen m Java Code kopiert alle Token vor und zurück

SS 2007 Software Engineering 2 Albert Zündorf, University of Kassel Referenzarchitektur Repository Meta Model GUI (Commands) Generators / Interpreters QVT Import/ Export GUI (Unparsing)

SS 2007 Software Engineering 2 Albert Zündorf, University of Kassel 50 Interpreter 1. Stufe: m Metamodell um Ausführungsinformation erweitern: l Interpreter Objekt l Token mit Zeigern auf Dokumente m Interpreter: l bei Stellen als Listener für Tokenänderungen subscriben l bei Tokenchange, benachbarte Transitionen in Todo-Queue l Transitionen aus Todo-Queue feuern, d.h. Java Code ausführen

SS 2007 Software Engineering 2 Albert Zündorf, University of Kassel 51 Action Language m Action Language Bean-Shell import bsh.Interpreter; Interpreter i = new Interpreter(); // Construct an interpreter i.set("foo", 5); // Set variables i.set("date", new Date() ); Date date = (Date)i.get("date"); // retrieve a value from a variable // Eval a statement and get the result i.eval("bar = foo*10"); System.out.println( i.get("bar") ); // Source an external script file i.source("somefile.bsh");

SS 2007 Software Engineering 2 Albert Zündorf, University of Kassel 52 Ampel Beispiel: red_ yellow ry green yellow yg gy yr red Token t = red.getFirstFromTokens(); if (t != null) { // fire red.removeFromTokens (t); t.getDocument.setYellow(true); red_yellow.addToTokens (t); }

SS 2007 Software Engineering 2 Albert Zündorf, University of Kassel 53 class Ampel Ampel red : Boolean yellow : Boolean green : Boolean

SS 2007 Software Engineering 2 Albert Zündorf, University of Kassel Referenzarchitektur Repository Meta Model GUI (Commands) Generators / Interpreters QVT Import/ Export GUI (Unparsing)

SS 2007 Software Engineering 2 Albert Zündorf, University of Kassel 55 Code Generierung Mehrere Alternativen: m Visitor der das Metamodell durchläuft und Strings in eine Datei schreibt. l hoher Aufwand l Indentieren und so ist doof Pretty Printer nehmen l nicht sehr Wartungsfreundlich m Template basierte Code Generierung l hat sich durchgesetzt

SS 2007 Software Engineering 2 Albert Zündorf, University of Kassel 56 Template basierte Code Generierung class $owner.name { public void initPetriNet () { #foreach ( $place in $net.places) Place $place = new Place (); $place.setName ("$place"); #end #foreach ( $trans in $net.transitions) Transition $trans = new Transition (); #foreach ( $src in $trans.preplaces ) $trans.addToPreplaces ($src); #end... #end }}

SS 2007 Software Engineering 2 Albert Zündorf, University of Kassel 57 Empfohlene Template Engine m google for Velocity

SS 2007 Software Engineering 2 Albert Zündorf, University of Kassel 58 Zusammenfassung Repository Meta Model GUI (Commands) Generators / Interpreters QVT Import/ Export GUI (Unparsing)