model driven engineering ws 11/12 prof. albert zündorf fachgebiet für software engineering...

31
Model Driven Engineering WS 11/12 Prof. Albert Zündorf Fachgebiet für Software Engineering Wilhelmshöher Allee 73 34121 Kassel (Raum 1339)

Upload: richard-carney

Post on 26-Mar-2015

217 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Model Driven Engineering WS 11/12 Prof. Albert Zündorf Fachgebiet für Software Engineering Wilhelmshöher Allee 73 34121 Kassel (Raum 1339)

Model Driven Engineering WS 11/12

Prof. Albert Zündorf

Fachgebiet für Software EngineeringWilhelmshöher Allee 73

34121 Kassel(Raum 1339)

Page 2: Model Driven Engineering WS 11/12 Prof. Albert Zündorf Fachgebiet für Software Engineering Wilhelmshöher Allee 73 34121 Kassel (Raum 1339)

Model Driven Engineering SS2010 © 2010 Albert Zündorf, University of Kassel 2

Organisatorisches

Umfang: 2 SWS teils Vorlesungen teils Übungen

Übungsbetreuung: Nina Geiger

Ort und Zeit: Vorlesung: Freitag 10:00 - 12:00 Raum 1340

(Erste Vorlesung: 21.10.11)Übung: In obigem Zeitraum

Prüfung: Pflichtübungsaufgaben (korrigiert, bepunktet)

Folienskript / Screen Videos: http://www.se.eecs.uni-kassel.de.

Page 3: Model Driven Engineering WS 11/12 Prof. Albert Zündorf Fachgebiet für Software Engineering Wilhelmshöher Allee 73 34121 Kassel (Raum 1339)

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

Page 4: Model Driven Engineering WS 11/12 Prof. Albert Zündorf Fachgebiet für Software Engineering Wilhelmshöher Allee 73 34121 Kassel (Raum 1339)

MDE Overview:

Model Driven Engineering SS2010 © 2010 Albert Zündorf, University of Kassel 4

Page 5: Model Driven Engineering WS 11/12 Prof. Albert Zündorf Fachgebiet für Software Engineering Wilhelmshöher Allee 73 34121 Kassel (Raum 1339)

Model Driven Engineering SS2010 © 2010 Albert Zündorf, University of Kassel 5

Objektmodelle

29

20 17 35

17

ExaminationBoard

Student Karli

Study-RightUniversity

32

23

mathcalculusstochastic

modeling modern arts

algebra

exam

philosophy

Page 6: Model Driven Engineering WS 11/12 Prof. Albert Zündorf Fachgebiet für Software Engineering Wilhelmshöher Allee 73 34121 Kassel (Raum 1339)

Model Driven Engineering SS2010 © 2010 Albert Zündorf, University of Kassel 6

29

20 17 35

17

ExaminationBoard

Student Karli

Study-RightUniversity

32

23

mathcalculusstochastic

modeling modern arts

algebra

exam

philosophy

Page 7: Model Driven Engineering WS 11/12 Prof. Albert Zündorf Fachgebiet für Software Engineering Wilhelmshöher Allee 73 34121 Kassel (Raum 1339)

Model Driven Engineering SS2010 © 2010 Albert Zündorf, University of Kassel 7

Page 8: Model Driven Engineering WS 11/12 Prof. Albert Zündorf Fachgebiet für Software Engineering Wilhelmshöher Allee 73 34121 Kassel (Raum 1339)

Model Driven Engineering SS2010 © 2010 Albert Zündorf, University of Kassel 8

29

20 17 35

17

ExaminationBoard

Student Karli

Study-RightUniversity

32

23

mathcalculusstochastic

modeling modern arts

algebra

exam

philosophy

Page 9: Model Driven Engineering WS 11/12 Prof. Albert Zündorf Fachgebiet für Software Engineering Wilhelmshöher Allee 73 34121 Kassel (Raum 1339)

Model Driven Engineering SS2010 © 2010 Albert Zündorf, University of Kassel 9

Page 10: Model Driven Engineering WS 11/12 Prof. Albert Zündorf Fachgebiet für Software Engineering Wilhelmshöher Allee 73 34121 Kassel (Raum 1339)

Model Driven Engineering SS2010 © 2010 Albert Zündorf, University of Kassel 10

29

20 17 35

17

ExaminationBoard

Student Karli

Study-RightUniversity

32

23

mathcalculusstochastic

modeling modern arts

algebra

exam

philosophy

Page 11: Model Driven Engineering WS 11/12 Prof. Albert Zündorf Fachgebiet für Software Engineering Wilhelmshöher Allee 73 34121 Kassel (Raum 1339)

Model Driven Engineering SS2010 © 2010 Albert Zündorf, University of Kassel 11

Page 12: Model Driven Engineering WS 11/12 Prof. Albert Zündorf Fachgebiet für Software Engineering Wilhelmshöher Allee 73 34121 Kassel (Raum 1339)

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

next

next

match«bound»

Page 13: Model Driven Engineering WS 11/12 Prof. Albert Zündorf Fachgebiet für Software Engineering Wilhelmshöher Allee 73 34121 Kassel (Raum 1339)

Model Driven Engineering SS2010 © 2010 Albert Zündorf, University of Kassel 13

Rule Matching 29

20 17 35

17

ExaminationBoard

Student Karli

Study-RightUniversity

32

23

mathcalculusstochastic

modeling modern arts

algebra

exam

philosophy

ra:Room

sa:Student

aa:Assignment

stud

ass ass

r2:Room

s3:Student

a4:Assignment

stud

ass

r1:Room

a5:Assignment

ass

ass

Page 14: Model Driven Engineering WS 11/12 Prof. Albert Zündorf Fachgebiet für Software Engineering Wilhelmshöher Allee 73 34121 Kassel (Raum 1339)

Model Driven Engineering SS2010 © 2010 Albert Zündorf, University of Kassel 14

Rule Matching 29

20 17 35

17

ExaminationBoard

Student Karli

Study-RightUniversity

32

23

mathcalculusstochastic

modeling modern arts

algebra

exam

philosophy

ra:Room

sa:Student

aa:Assignment

stud

ass ass

r2:Room

s3:Student

a4:Assignment

stud

ass

r1:Room

a5:Assignment

ass

ass

Page 15: Model Driven Engineering WS 11/12 Prof. Albert Zündorf Fachgebiet für Software Engineering Wilhelmshöher Allee 73 34121 Kassel (Raum 1339)

Model Driven Engineering SS2010 © 2010 Albert Zündorf, University of Kassel 15

Rule Matching 29

20 17 35

17

ExaminationBoard

Student Karli

Study-RightUniversity

32

23

mathcalculusstochastic

modeling modern arts

algebra

exam

philosophy

ra:Room

sa:Student

aa:Assignment

stud

ass ass

r2:Room

s3:Student

a4:Assignment

stud

ass

r1:Room

a5:Assignment

ass

ass

Page 16: Model Driven Engineering WS 11/12 Prof. Albert Zündorf Fachgebiet für Software Engineering Wilhelmshöher Allee 73 34121 Kassel (Raum 1339)

Model Driven Engineering SS2010 © 2010 Albert Zündorf, University of Kassel 16

Rule Matching 29

20 17 35

17

ExaminationBoard

Student Karli

Study-RightUniversity

32

23

mathcalculusstochastic

modeling modern arts

algebra

exam

philosophy

ra:Room

sa:Student

aa:Assignment

stud

ass ass

r2:Room

s3:Student

a4:Assignment

stud

ass

r1:Room

a5:Assignment

ass

ass

Page 17: Model Driven Engineering WS 11/12 Prof. Albert Zündorf Fachgebiet für Software Engineering Wilhelmshöher Allee 73 34121 Kassel (Raum 1339)

Model Driven Engineering SS2010 © 2010 Albert Zündorf, University of Kassel 17

Rule Matching 29

20 17 35

17

ExaminationBoard

Student Karli

Study-RightUniversity

32

23

mathcalculusstochastic

modeling modern arts

algebra

exam

philosophy

ra:Room

sa:Student

aa:Assignment

stud

ass ass

r2:Room

s3:Student

a4:Assignment

stud

ass

r1:Room

a5:Assignment

ass

ass

Page 18: Model Driven Engineering WS 11/12 Prof. Albert Zündorf Fachgebiet für Software Engineering Wilhelmshöher Allee 73 34121 Kassel (Raum 1339)

Model Driven Engineering SS2010 © 2010 Albert Zündorf, University of Kassel 18

Rule Matching 29

20 17 35

17

ExaminationBoard

Student Karli

Study-RightUniversity

32

23

mathcalculusstochastic

modeling modern arts

algebra

exam

philosophy

ra:Room

sa:Student

aa:Assignment

stud

ass ass

r2:Room

s3:Student

a4:Assignment

stud

ass

r1:Room

a5:Assignment

ass

ass

cands=

match=

toOne=

toMany=

byType=

:Step

Page 19: Model Driven Engineering WS 11/12 Prof. Albert Zündorf Fachgebiet für Software Engineering Wilhelmshöher Allee 73 34121 Kassel (Raum 1339)

Model Driven Engineering SS2010 © 2010 Albert Zündorf, University of Kassel 19

Rule Matching 29

20 17 35

17

ExaminationBoard

Student Karli

Study-RightUniversity

32

23

mathcalculusstochastic

modeling modern arts

algebra

exam

philosophy

ra:Room

sa:Student

aa:Assignment

stud

ass ass

r2:Room

s3:Student

a4:Assignment

stud

ass

r1:Room

a5:Assignment

ass

ass

:Step

cands=

match=

toOne=

toMany=

byType=

Page 20: Model Driven Engineering WS 11/12 Prof. Albert Zündorf Fachgebiet für Software Engineering Wilhelmshöher Allee 73 34121 Kassel (Raum 1339)

Model Driven Engineering SS2010 © 2010 Albert Zündorf, University of Kassel 20

Rule Matching 29

20 17 35

17

ExaminationBoard

Student Karli

Study-RightUniversity

32

23

mathcalculusstochastic

modeling modern arts

algebra

exam

philosophy

ra:Room

sa:Student

aa:Assignment

stud

ass ass

r2:Room

s3:Student

a4:Assignment

stud

ass

r1:Room

a5:Assignment

ass

ass

:Step

cands=

match=

toOne=

toMany=

byType=

Page 21: Model Driven Engineering WS 11/12 Prof. Albert Zündorf Fachgebiet für Software Engineering Wilhelmshöher Allee 73 34121 Kassel (Raum 1339)

Model Driven Engineering SS2010 © 2010 Albert Zündorf, University of Kassel 21

Rule Matching 29

20 17 35

17

ExaminationBoard

Student Karli

Study-RightUniversity

32

23

mathcalculusstochastic

modeling modern arts

algebra

exam

philosophy

ra:Room

sa:Student

aa:Assignment

stud

ass ass

r2:Room

s3:Student

a4:Assignment

stud

ass

r1:Room

a5:Assignment

ass

ass

:Step

cands=

match=

toOne=

toMany=

byType=

Page 22: Model Driven Engineering WS 11/12 Prof. Albert Zündorf Fachgebiet für Software Engineering Wilhelmshöher Allee 73 34121 Kassel (Raum 1339)

Model Driven Engineering SS2010 © 2010 Albert Zündorf, University of Kassel 22

Page 23: Model Driven Engineering WS 11/12 Prof. Albert Zündorf Fachgebiet für Software Engineering Wilhelmshöher Allee 73 34121 Kassel (Raum 1339)

Model Driven Engineering SS2010 © 2010 Albert Zündorf, University of Kassel 23

Model 2 Model Transformations

Datenbankschema zu OO Klassendiagramm

Page 24: Model Driven Engineering WS 11/12 Prof. Albert Zündorf Fachgebiet für Software Engineering Wilhelmshöher Allee 73 34121 Kassel (Raum 1339)

Model Driven Engineering SS2010 © 2010 Albert Zündorf, University of Kassel 24

Triple Graph Grammars

gekoppelte Regeln zur Erzeugung von Modellen

linkes, rechtes, Mapping Modell

Idee:

parse mit linker Grammatik

erzeuge „equivalentes“ Modell mit rechter Grammatik

Mapping Modell für Tracebility und Change Management

Page 25: Model Driven Engineering WS 11/12 Prof. Albert Zündorf Fachgebiet für Software Engineering Wilhelmshöher Allee 73 34121 Kassel (Raum 1339)

Model Driven Engineering SS2010 © 2010 Albert Zündorf, University of Kassel 25

Page 26: Model Driven Engineering WS 11/12 Prof. Albert Zündorf Fachgebiet für Software Engineering Wilhelmshöher Allee 73 34121 Kassel (Raum 1339)

Model Driven Engineering SS2010 © 2010 Albert Zündorf, University of Kassel 26

Regel ausführen

Löschen

Erzeugen

Attribute

Page 27: Model Driven Engineering WS 11/12 Prof. Albert Zündorf Fachgebiet für Software Engineering Wilhelmshöher Allee 73 34121 Kassel (Raum 1339)

Model Driven Engineering SS2010 © 2010 Albert Zündorf, University of Kassel 27

ATL

Page 28: Model Driven Engineering WS 11/12 Prof. Albert Zündorf Fachgebiet für Software Engineering Wilhelmshöher Allee 73 34121 Kassel (Raum 1339)

Model Driven Engineering SS2010 © 2010 Albert Zündorf, University of Kassel 28

MDE

früher Compilerbau:

Daten lesen

verarbeiten

ausgeben

heute interaktive Systeme:

Page 29: Model Driven Engineering WS 11/12 Prof. Albert Zündorf Fachgebiet für Software Engineering Wilhelmshöher Allee 73 34121 Kassel (Raum 1339)

Model Driven Engineering SS2010 © 2010 Albert Zündorf, University of Kassel 29

Referenzarchitektur für interaktive Systeme

Repository

Model

GUI(Commands)

Generators / Interpreters

QVT

Import/ Export

GUI(Unparsing)

Page 30: Model Driven Engineering WS 11/12 Prof. Albert Zündorf Fachgebiet für Software Engineering Wilhelmshöher Allee 73 34121 Kassel (Raum 1339)

Model Driven Engineering SS2010 © 2010 Albert Zündorf, University of Kassel 30

Tool Integration

Model1 Model2

Page 31: Model Driven Engineering WS 11/12 Prof. Albert Zündorf Fachgebiet für Software Engineering Wilhelmshöher Allee 73 34121 Kassel (Raum 1339)

Model Driven Engineering SS2010 © 2010 Albert Zündorf, University of Kassel 31

aktuelle Forschung am Fachgebiet

Model to Model transformations (TGGs)

Model Checking / Reachability Graphs

Model Diff? Model Patch? Clone Detection?

Model Metric?

Model Template Language?

Model Driven Web Engineering / Model Driven Apps Model Driven GUI?

Models im Life Cycle: Scenario Text to Object Diagram Distributed Models?