Model Driven Engineering WS 11/12 Prof. Albert Zündorf Fachgebiet für Software Engineering Wilhelmshöher Allee Kassel (Raum 1339)
Model Driven Engineering SS2010 © 2010 Albert Zündorf, University of Kassel 2 Organisatorisches m Umfang: 2 SWS teils Vorlesungen teils Übungen m Übungsbetreuung: Nina Geiger m Ort und Zeit: Vorlesung: Freitag 10: :00 Raum 1340 (Erste Vorlesung: ) Übung:In obigem Zeitraum m Prüfung: l Pflichtübungsaufgaben (korrigiert, bepunktet) m Folienskript / Screen Videos: l
Model Driven Engineering SS2010 © 2010 Albert Zündorf, University of Kassel 3 Inhalt o Objektmodelle / Modellebenen o Werkzeuge o Modelltransformation Inplace Model to Model (Triple Graph Grammars) Model refinement Model to Text Text to Model
MDE Overview: Model Driven Engineering SS2010 © 2010 Albert Zündorf, University of Kassel 4
5 Objektmodelle
Model Driven Engineering SS2010 © 2010 Albert Zündorf, University of Kassel 6
7
8
9
10
Model Driven Engineering SS2010 © 2010 Albert Zündorf, University of Kassel 11
Model Driven Engineering SS2010 © 2010 Albert Zündorf, University of Kassel 12 Transformation rule model p1:Pawnf2:Field f3:Field f4:Field p1:PawnOpf2:FieldOp f3:FieldOp «delete » «create » next match «bound »
Model Driven Engineering SS2010 © 2010 Albert Zündorf, University of Kassel 13 Rule Matching ra:Room sa:Student aa:Assignment stud ass r2:Room s3:Student a4:Assignment stud ass r1:Room a5:Assignment ass :Step cands= match= toOne= toMany= byType=
Model Driven Engineering SS2010 © 2010 Albert Zündorf, University of Kassel 14 Rule Matching ra:Room sa:Student aa:Assignment stud ass r2:Room s3:Student a4:Assignment stud ass r1:Room a5:Assignment ass :Step cands= match= toOne= toMany= byType=
Model Driven Engineering SS2010 © 2010 Albert Zündorf, University of Kassel 15 Rule Matching ra:Room sa:Student aa:Assignment stud ass r2:Room s3:Student a4:Assignment stud ass r1:Room a5:Assignment ass :Step cands= match= toOne= toMany= byType=
Model Driven Engineering SS2010 © 2010 Albert Zündorf, University of Kassel 16 Rule Matching ra:Room sa:Student aa:Assignment stud ass r2:Room s3:Student a4:Assignment stud ass r1:Room a5:Assignment ass :Step cands= match= toOne= toMany= byType=
Model Driven Engineering SS2010 © 2010 Albert Zündorf, University of Kassel 17 Rule Matching ra:Room sa:Student aa:Assignment stud ass r2:Room s3:Student a4:Assignment stud ass r1:Room a5:Assignment ass :Step cands= match= toOne= toMany= byType=
Model Driven Engineering SS2010 © 2010 Albert Zündorf, University of Kassel 18 Rule Matching ra:Room sa:Student aa:Assignment stud ass r2:Room s3:Student a4:Assignment stud ass r1:Room a5:Assignment ass :Step cands= match= toOne= toMany= byType=
Model Driven Engineering SS2010 © 2010 Albert Zündorf, University of Kassel 19 Rule Matching ra:Room sa:Student aa:Assignment stud ass r2:Room s3:Student a4:Assignment stud ass r1:Room a5:Assignment ass :Step cands= match= toOne= toMany= byType=
Model Driven Engineering SS2010 © 2010 Albert Zündorf, University of Kassel 20 Rule Matching ra:Room sa:Student aa:Assignment stud ass r2:Room s3:Student a4:Assignment stud ass r1:Room a5:Assignment ass :Step cands= match= toOne= toMany= byType=
Model Driven Engineering SS2010 © 2010 Albert Zündorf, University of Kassel 21 Rule Matching ra:Room sa:Student aa:Assignment stud ass r2:Room s3:Student a4:Assignment stud ass r1:Room a5:Assignment ass :Step cands= match= toOne= toMany= byType=
Model Driven Engineering SS2010 © 2010 Albert Zündorf, University of Kassel 22 Rule Matching ra:Room sa:Student aa:Assignment stud ass r2:Room s3:Student a4:Assignment stud ass r1:Room a5:Assignment ass :Step cands= match= toOne= toMany= byType=
Model Driven Engineering SS2010 © 2010 Albert Zündorf, University of Kassel 23 Rule Matching ra:Room sa:Student aa:Assignment stud ass r2:Room s3:Student a4:Assignment stud ass r1:Room a5:Assignment ass :Step cands= match= toOne= toMany= byType=
Model Driven Engineering SS2010 © 2010 Albert Zündorf, University of Kassel 24
Model Driven Engineering SS2010 © 2010 Albert Zündorf, University of Kassel 25 Model 2 Model Transformations m Datenbankschema zu OO Klassendiagramm
Model Driven Engineering SS2010 © 2010 Albert Zündorf, University of Kassel 26 Triple Graph Grammars m gekoppelte Regeln zur Erzeugung von Modellen m linkes, rechtes, Mapping Modell Idee: m parse mit linker Grammatik m erzeuge equivalentes Modell mit rechter Grammatik m Mapping Modell für Tracebility und Change Management
Model Driven Engineering SS2010 © 2010 Albert Zündorf, University of Kassel 27
Model Driven Engineering SS2010 © 2010 Albert Zündorf, University of Kassel 28 Regel ausführen m Löschen m Erzeugen m Attribute
Model Driven Engineering SS2010 © 2010 Albert Zündorf, University of Kassel 29 ATL
Model Driven Engineering SS2010 © 2010 Albert Zündorf, University of Kassel 30 MDE früher Compilerbau: m Daten lesen m verarbeiten m ausgeben heute interaktive Systeme:
Model Driven Engineering SS2010 © 2010 Albert Zündorf, University of Kassel 31 Referenzarchitektur für interaktive Systeme Repository Model GUI (Commands) Generators / Interpreters QVT Import/ Export GUI (Unparsing)
Model Driven Engineering SS2010 © 2010 Albert Zündorf, University of Kassel 32 Tool Integration Model1Model2
Model Driven Engineering SS2010 © 2010 Albert Zündorf, University of Kassel 33 aktuelle Forschung am Fachgebiet m Model to Model transformations (TGGs) m Model Checking / Reachability Graphs m Model Diff? Model Patch? Clone Detection? m Model Metric? m Model Template Language? m Model Driven Web Engineering / Model Driven Apps m Model Driven GUI ? m Models im Life Cycle: Scenario Text to Object Diagram m Distributed Models ?