Modellierung nebenl au ger Systeme Sommersemester 2012 ... · L oschen von Objekten Variabler...

72
Organisatorisches Einf¨ uhrung Transitionssysteme Prozesskalk¨ ule Petrinetze Graphtransformation Google Go Vorlesung “Modellierung nebenl¨ aufiger Systeme” Sommersemester 2012 Universit¨ at Duisburg-Essen Barbara K¨ onig ¨ Ubungsleitung: Henning Kerstan Barbara K¨ onig Vorlesung “Modellierung nebenl¨ aufiger Systeme” 1

Transcript of Modellierung nebenl au ger Systeme Sommersemester 2012 ... · L oschen von Objekten Variabler...

Page 1: Modellierung nebenl au ger Systeme Sommersemester 2012 ... · L oschen von Objekten Variabler Topologie (Systemstruktur ver andert sich w ahrend der Laufzeit) Mobilit at (mobiler

Organisatorisches Einfuhrung Transitionssysteme Prozesskalkule Petrinetze Graphtransformation Google Go

Vorlesung “Modellierung nebenlaufiger Systeme”Sommersemester 2012

Universitat Duisburg-Essen

Barbara KonigUbungsleitung: Henning Kerstan

Barbara Konig Vorlesung “Modellierung nebenlaufiger Systeme” 1

Page 2: Modellierung nebenl au ger Systeme Sommersemester 2012 ... · L oschen von Objekten Variabler Topologie (Systemstruktur ver andert sich w ahrend der Laufzeit) Mobilit at (mobiler

Organisatorisches Einfuhrung Transitionssysteme Prozesskalkule Petrinetze Graphtransformation Google Go

Motivation: Graphtransformation

Wir beschreiben Ersetzungsregeln, die Graphen in andere Graphentransformieren. Die Regeln sind dabei – wie beiChomsky-Grammatiken – von der Form:

Linke Seite → Rechte Seite

Anders als bei Chomsky-Grammatiken:

Wenn die linke Seite aus dem Graphen geloscht wurde, wiefugt man dann die rechte Seite in den restlichen Graphen ein?( Einbettungsvorschrift)

Barbara Konig Vorlesung “Modellierung nebenlaufiger Systeme” 233

Page 3: Modellierung nebenl au ger Systeme Sommersemester 2012 ... · L oschen von Objekten Variabler Topologie (Systemstruktur ver andert sich w ahrend der Laufzeit) Mobilit at (mobiler

Organisatorisches Einfuhrung Transitionssysteme Prozesskalkule Petrinetze Graphtransformation Google Go

Motivation: Graphtransformation

Graphtransformationssysteme sind geeignet fur die Modellierungvon Systemen mit:

Hohe Nebenlaufigkeit

Unendlicher Zustandsraum

Dynamisches Erzeugen bzw. Loschen von Objekten

Variabler Topologie (Systemstruktur verandert sich wahrendder Laufzeit)

Mobilitat (mobiler Code oder mobile Prozesse)

Vorsicht: Tradeoff! Je komplexer eine Modellierungssprache ist,desto schwerer ist sie im Allgemeinen zu analysieren.

Barbara Konig Vorlesung “Modellierung nebenlaufiger Systeme” 234

Page 4: Modellierung nebenl au ger Systeme Sommersemester 2012 ... · L oschen von Objekten Variabler Topologie (Systemstruktur ver andert sich w ahrend der Laufzeit) Mobilit at (mobiler

Organisatorisches Einfuhrung Transitionssysteme Prozesskalkule Petrinetze Graphtransformation Google Go

Motivation: Graphtransformation

Graphtransformation (schematisch)

RL

L R

1 2

n

...

...

1 2

n

...

...

Hier: Einbettung wird durch das Interface gegeben, d.h., durcheine Menge von Knoten (bzw. Kanten), die bei der Ersetzungerhalten bleiben.

Barbara Konig Vorlesung “Modellierung nebenlaufiger Systeme” 235

Page 5: Modellierung nebenl au ger Systeme Sommersemester 2012 ... · L oschen von Objekten Variabler Topologie (Systemstruktur ver andert sich w ahrend der Laufzeit) Mobilit at (mobiler

Organisatorisches Einfuhrung Transitionssysteme Prozesskalkule Petrinetze Graphtransformation Google Go

Motivation: Graphtransformation

Graphtransformation (etwas genauer)

Eine Graphtransformationsregel besteht aus einer linken Seite L,einer rechten Seite R und einem Interface I , wobei L, I ,R Graphensind.Außerdem wird das Interface (mit Hilfe noch zu definierenderAbbildung) sowohl in die linke als auch in die rechte Seiteeingebettet:

L← I → R

Barbara Konig Vorlesung “Modellierung nebenlaufiger Systeme” 236

Page 6: Modellierung nebenl au ger Systeme Sommersemester 2012 ... · L oschen von Objekten Variabler Topologie (Systemstruktur ver andert sich w ahrend der Laufzeit) Mobilit at (mobiler

Organisatorisches Einfuhrung Transitionssysteme Prozesskalkule Petrinetze Graphtransformation Google Go

Graphtransformation: Beispiele

Mini-Beispiel

Regeln:

q1

A1 2 1 2

A C1 2

q2

B

3

A

C

B 2B21 1

A3

2

1

3

Initialer Graph:B

A

Barbara Konig Vorlesung “Modellierung nebenlaufiger Systeme” 237

Page 7: Modellierung nebenl au ger Systeme Sommersemester 2012 ... · L oschen von Objekten Variabler Topologie (Systemstruktur ver andert sich w ahrend der Laufzeit) Mobilit at (mobiler

Organisatorisches Einfuhrung Transitionssysteme Prozesskalkule Petrinetze Graphtransformation Google Go

Graphtransformation: Beispiele

Bemerkungen zum vorherigen Beispiel:

Das von dem initialen Graphen und der Regelmenge erzeugteTransitionssystem hat unendlich viele Zustande. Dabeientsprechen die Zustande den erreichbaren Graphen.

Ungeklarte Frage: Kann die Regel q2 auf den initialenGraphen angewandt werden?

Das hangt davon ab, ob man auch nicht-injektiveAbbildungen der linken Seite zulaßt ( spater).

Barbara Konig Vorlesung “Modellierung nebenlaufiger Systeme” 238

Page 8: Modellierung nebenl au ger Systeme Sommersemester 2012 ... · L oschen von Objekten Variabler Topologie (Systemstruktur ver andert sich w ahrend der Laufzeit) Mobilit at (mobiler

Organisatorisches Einfuhrung Transitionssysteme Prozesskalkule Petrinetze Graphtransformation Google Go

Graphtransformation: Beispiele

Weiteres Beispiel: Dining Philosophers

Hier:

Zu Beginn: Tisch mit zwei Philosophen und zwei Gabeln.

Ein Linkshander und ein Rechtshander (zur Vermeidung vonDeadlocks).

Erzeugen neuer Philosophen moglich: essende Philosophenkonnen sich reproduzieren.

Barbara Konig Vorlesung “Modellierung nebenlaufiger Systeme” 239

Page 9: Modellierung nebenl au ger Systeme Sommersemester 2012 ... · L oschen von Objekten Variabler Topologie (Systemstruktur ver andert sich w ahrend der Laufzeit) Mobilit at (mobiler

Organisatorisches Einfuhrung Transitionssysteme Prozesskalkule Petrinetze Graphtransformation Google Go

Graphtransformation: Beispiele

Dining Philosophers (mit Erzeugen neuer Philosophen)

Regeln:

1 2

1 2

1 2

21

21

21

21

21

1

1

1

1

2

2

1

1

1

1

1

1 2

2

2

22

2

2

2

(RepX )

(HungryX ) EX

EX

WL

EL

WR

F HX

ER

F

EX FHX

X ∈ {L, R}

(EatR)

(WaitR)

(EatL)

(WaitL) F

WL

F

WR

F

HL

F

HR

Initialer Graph:

F

HL HR

F

Barbara Konig Vorlesung “Modellierung nebenlaufiger Systeme” 240

Page 10: Modellierung nebenl au ger Systeme Sommersemester 2012 ... · L oschen von Objekten Variabler Topologie (Systemstruktur ver andert sich w ahrend der Laufzeit) Mobilit at (mobiler

Organisatorisches Einfuhrung Transitionssysteme Prozesskalkule Petrinetze Graphtransformation Google Go

Hypergraphen und Graphmorphismen

Im allgemeinen betrachten wir nicht nur einfache gerichteteGraphen, wie in den Beispielen, sondern Hypergraphen:

A

C

B

0

21

31

2

0

0

Eine Hyperkante (Box mit abgerundeten Ecken) ist mitmehreren Knoten verbunden (die Verbindungen sind von 0 bisn − 1 durchnumeriert).Eine Hyperkante kann auch mit einem Knoten mehrmalsverbunden sein.Hyperkanten sind mit Labels (= Beschriftungen) versehen,jedoch nicht die Knoten.

Barbara Konig Vorlesung “Modellierung nebenlaufiger Systeme” 241

Page 11: Modellierung nebenl au ger Systeme Sommersemester 2012 ... · L oschen von Objekten Variabler Topologie (Systemstruktur ver andert sich w ahrend der Laufzeit) Mobilit at (mobiler

Organisatorisches Einfuhrung Transitionssysteme Prozesskalkule Petrinetze Graphtransformation Google Go

Hypergraphen und Graphmorphismen

Intuition: Nicht: Knoten, die mit Kanten verbunden sind;Sondern: Hyperkanten, die an den Knoten zusammengestecktwerden.

Darstellung: eine Hyperkante, die mit zwei Knoten verbunden ist,wird oft auch als einfache gerichtete Kante dargestellt.

A10

A

Bemerkung: Graphtransformation kann auch auf anderen Artenvon Graphen stattfinden (gerichtete Graphen, ungerichteteGraphen, attributierte Graphen, . . . )

Barbara Konig Vorlesung “Modellierung nebenlaufiger Systeme” 242

Page 12: Modellierung nebenl au ger Systeme Sommersemester 2012 ... · L oschen von Objekten Variabler Topologie (Systemstruktur ver andert sich w ahrend der Laufzeit) Mobilit at (mobiler

Organisatorisches Einfuhrung Transitionssysteme Prozesskalkule Petrinetze Graphtransformation Google Go

Hypergraphen und Graphmorphismen

Hypergraph (Definition)

Sei Λ eine Menge von Labels. Ein Hypergraph G ist ein TupelG = (V ,E , c , `), wobei

V eine Menge von Knoten,

E eine Menge von (Hyper-)Kanten,

c : E → V ∗ die Verbindungsfunktion und

` : E → Λ die Label- oder Beschriftungsfunktion ist.

Barbara Konig Vorlesung “Modellierung nebenlaufiger Systeme” 243

Page 13: Modellierung nebenl au ger Systeme Sommersemester 2012 ... · L oschen von Objekten Variabler Topologie (Systemstruktur ver andert sich w ahrend der Laufzeit) Mobilit at (mobiler

Organisatorisches Einfuhrung Transitionssysteme Prozesskalkule Petrinetze Graphtransformation Google Go

Hypergraphen und Graphmorphismen

Bemerkungen:

Statt “Hypergraph” schreiben wir im folgenden oft einfachnur “Graph”.

V ∗ bezeichnet die Menge aller Worter uber V .

Die Stelligkeit einer Kante e ist |c(e)|.

Barbara Konig Vorlesung “Modellierung nebenlaufiger Systeme” 244

Page 14: Modellierung nebenl au ger Systeme Sommersemester 2012 ... · L oschen von Objekten Variabler Topologie (Systemstruktur ver andert sich w ahrend der Laufzeit) Mobilit at (mobiler

Organisatorisches Einfuhrung Transitionssysteme Prozesskalkule Petrinetze Graphtransformation Google Go

Hypergraphen und Graphmorphismen

Um einen Graphen in einen andere einzubetten, benotigen wir nunnoch den Begriff des Graphmorphismus.

Graphmorphismus (Definition)

Seien G1 = (V1,E1, c1, `1), G2 = (V2,E2, c2, `2) zwei Graphen. EinGraphmorphismus ϕ : G1 → G2 ist ein Paar von AbbildungenϕV : V1 → V2, ϕE : E1 → E2 mit folgenden Eigenschaften: fur allee1 ∈ E1 gilt

c2(ϕE (e1)) = ϕV (c1(e1)) und

`2(ϕE (e1)) = `1(e1).

Die Anwendung von ϕV auf ein Wort geschiehtkomponentenweise, d.h., ϕV (v1 . . . vk) = ϕV (v1) . . . ϕV (vk).Wir lassen die Indizes oft weg und schreiben fur ϕV , ϕE nur ϕ.“Graphmorphismen” bezeichnet man oft einfach nur als“Morphismen”.

Barbara Konig Vorlesung “Modellierung nebenlaufiger Systeme” 245

Page 15: Modellierung nebenl au ger Systeme Sommersemester 2012 ... · L oschen von Objekten Variabler Topologie (Systemstruktur ver andert sich w ahrend der Laufzeit) Mobilit at (mobiler

Organisatorisches Einfuhrung Transitionssysteme Prozesskalkule Petrinetze Graphtransformation Google Go

Hypergraphen und Graphmorphismen

Isomorphie (Definition)

Zwei Graphen G ,H heißen isomorph (in Zeichen: G ∼= H), wenn eseinen Morphismus ϕ : G → H gibt, bei dem beide KomponentenϕV und ϕE bijektiv sind.

Bemerkung: Im allgemeinen werden Graphen immer “bis aufIsomorphie” betrachtet. Das bedeutet, dass zwei verschiedene, aberisomorphe Graphen im wesentlichen als “gleich” angesehen werden.

Barbara Konig Vorlesung “Modellierung nebenlaufiger Systeme” 246

Page 16: Modellierung nebenl au ger Systeme Sommersemester 2012 ... · L oschen von Objekten Variabler Topologie (Systemstruktur ver andert sich w ahrend der Laufzeit) Mobilit at (mobiler

Organisatorisches Einfuhrung Transitionssysteme Prozesskalkule Petrinetze Graphtransformation Google Go

Graphtransformation

Um Graphtransformation beschreiben zu konnen, mussen wirzunachst sagen, was es bedeutet, zwei Graphen uber einemgemeinsamen Teilgraph zu verkleben.

Dazu benotigen wir den Begriff der Faktorisierung durch eineAquivalenzrelation.

Faktorisierung (Definition)

Sei M eine Menge und ≡ eine Aquivalenzrelation auf dieserMenge. Fur ein Element x ∈ M ist die Aquivalenzklasse von xdefiniert durch

[x ]≡ = {y ∈ M | y ≡ x}.

Wir faktorisieren M durch ≡ und erhalten dabei die Menge M/≡der Aquivalenzklassen von ≡, d.h.,

M/≡ = {[x ]≡ | x ∈ M}.Barbara Konig Vorlesung “Modellierung nebenlaufiger Systeme” 247

Page 17: Modellierung nebenl au ger Systeme Sommersemester 2012 ... · L oschen von Objekten Variabler Topologie (Systemstruktur ver andert sich w ahrend der Laufzeit) Mobilit at (mobiler

Organisatorisches Einfuhrung Transitionssysteme Prozesskalkule Petrinetze Graphtransformation Google Go

Graphtransformation

Verkleben von Graphen (Definition, Teil 1)

Seien I ,G1,G2 Graphen mit Graphmorphismen ϕ1 : I → G1,ϕ2 : I → G2. Dabei bezeichnet I = (VI ,EI , cI , `I ) das Interface. Wirnehmen an, dass alle Knoten- und Kantenmengen disjunkt sind.

Sei ≡ die kleinste Aquivalenzrelation auf V1 ∪ E1 ∪ V2 ∪ E2, dieϕ1(x) ≡ ϕ2(x) fur alle x ∈ VI ∪ EI erfullt.

Das Verkleben von G1,G2 uber I (geschrieben als G = G1 +ϕ1,ϕ2 G2

bzw. G = G1 +I G2) wird definiert als G = (V ,E , c, `) mit:

V = (V1 ∪ V2)/ ≡,

E = (E1 ∪ E2)/ ≡,

Barbara Konig Vorlesung “Modellierung nebenlaufiger Systeme” 248

Page 18: Modellierung nebenl au ger Systeme Sommersemester 2012 ... · L oschen von Objekten Variabler Topologie (Systemstruktur ver andert sich w ahrend der Laufzeit) Mobilit at (mobiler

Organisatorisches Einfuhrung Transitionssysteme Prozesskalkule Petrinetze Graphtransformation Google Go

Graphtransformation

Verkleben von Graphen (Definition, Teil 2)

c : E → V ∗ mit c([e]≡) = [v1]≡ . . . [vk ]≡, wobei

v1 . . . vk =

{c1(e) falls e ∈ E1

c2(e) falls e ∈ E2

` : E → Λ mit

`([e]≡) =

{`1(e) falls e ∈ E1

`2(e) falls e ∈ E2

Barbara Konig Vorlesung “Modellierung nebenlaufiger Systeme” 249

Page 19: Modellierung nebenl au ger Systeme Sommersemester 2012 ... · L oschen von Objekten Variabler Topologie (Systemstruktur ver andert sich w ahrend der Laufzeit) Mobilit at (mobiler

Organisatorisches Einfuhrung Transitionssysteme Prozesskalkule Petrinetze Graphtransformation Google Go

Graphtransformation

Bemerkungen:

Die Funktionen c und ` sind wohldefiniert. Das heißt, dieobigen Definitionen sind unabhangig von der Wahl desReprasentanten der Aquivalenzklasse.

Es gibt Graphmorphismen ψ1 : G1 → G , ψ2 : G2 → G , die jedeHyperkante und jeden Knoten in die dazugehorigeAquivalenzklasse abbilden.

Barbara Konig Vorlesung “Modellierung nebenlaufiger Systeme” 250

Page 20: Modellierung nebenl au ger Systeme Sommersemester 2012 ... · L oschen von Objekten Variabler Topologie (Systemstruktur ver andert sich w ahrend der Laufzeit) Mobilit at (mobiler

Organisatorisches Einfuhrung Transitionssysteme Prozesskalkule Petrinetze Graphtransformation Google Go

Graphtransformation

Beispiele zum Verkleben von Graphen:

Verkleben (Beispiel 1)21

ϕ1

xxqqqqqqqqqqqϕ2

''NNNNNNNNNNN

WL

1

2

ψ1 !!DDD

DDDD

HR

F1

2

ψ2||yyyy

yyy

HR

F

WL

1

2

Barbara Konig Vorlesung “Modellierung nebenlaufiger Systeme” 251

Page 21: Modellierung nebenl au ger Systeme Sommersemester 2012 ... · L oschen von Objekten Variabler Topologie (Systemstruktur ver andert sich w ahrend der Laufzeit) Mobilit at (mobiler

Organisatorisches Einfuhrung Transitionssysteme Prozesskalkule Petrinetze Graphtransformation Google Go

Graphtransformation

Verkleben (Beispiel 2)

21ϕ1

xxpppppppp ϕ2

))RRRRRRR

1, 2

ψ1##G

GGGGG21

A

ψ2xxqqqqqq

q1, 2

A

Barbara Konig Vorlesung “Modellierung nebenlaufiger Systeme” 252

Page 22: Modellierung nebenl au ger Systeme Sommersemester 2012 ... · L oschen von Objekten Variabler Topologie (Systemstruktur ver andert sich w ahrend der Laufzeit) Mobilit at (mobiler

Organisatorisches Einfuhrung Transitionssysteme Prozesskalkule Petrinetze Graphtransformation Google Go

Graphtransformation

Verkleben (Beispiel 3)

21 3ϕ1

ttiiiiiiiii ϕ2

**UUUUUUUUU

1A

2, 3

ψ1

((PPPPPP

1, 2 3B

ψ2

vvnnnnnn

A B

1, 2, 3

Barbara Konig Vorlesung “Modellierung nebenlaufiger Systeme” 253

Page 23: Modellierung nebenl au ger Systeme Sommersemester 2012 ... · L oschen von Objekten Variabler Topologie (Systemstruktur ver andert sich w ahrend der Laufzeit) Mobilit at (mobiler

Organisatorisches Einfuhrung Transitionssysteme Prozesskalkule Petrinetze Graphtransformation Google Go

Graphtransformation

Verkleben (Beispiel 4)

B1 2

ϕ1

vvmmmmmmmmmmmmmϕ2

((QQQQQQQQQQQQQ

A1 2

B

ψ1 ((QQQQQQQQQQQQQ

1 2B C

ψ2vvmmmmmmmmmmmmm

A1 2

B C

Barbara Konig Vorlesung “Modellierung nebenlaufiger Systeme” 254

Page 24: Modellierung nebenl au ger Systeme Sommersemester 2012 ... · L oschen von Objekten Variabler Topologie (Systemstruktur ver andert sich w ahrend der Laufzeit) Mobilit at (mobiler

Organisatorisches Einfuhrung Transitionssysteme Prozesskalkule Petrinetze Graphtransformation Google Go

Graphtransformation

Ein solches “Verklebe-Diagramm” hat folgende universelleEigenschaft:

Iϕ1

~~}}}}

}}}} ϕ2

AAA

AAAA

A

G1

ψ1

AA

AAAA

A

ψ′1

""

G2

ψ2

~~~~~~

~~~~

ψ′2

||

G1 +I G2

η

��

H

Es gilt ψ1 ◦ ϕ1 = ψ2 ◦ ϕ2. Undfur zwei Morphismenψ′1 : G1 → H, ψ′2 : G2 → H mitψ′1 ◦ ϕ1 = ψ′2 ◦ ϕ2 gibt es eineneindeutigen Morphismusη : G1 +I G2 → H mitη ◦ ψ1 = ψ′1 und η ◦ ψ2 = ψ′2.

Diagramme mit dieser Eigenschaft nennt man Pushouts. Dabei istG1 +I G2 bis auf Isomorphie eindeutig festgelegt.

Barbara Konig Vorlesung “Modellierung nebenlaufiger Systeme” 255

Page 25: Modellierung nebenl au ger Systeme Sommersemester 2012 ... · L oschen von Objekten Variabler Topologie (Systemstruktur ver andert sich w ahrend der Laufzeit) Mobilit at (mobiler

Organisatorisches Einfuhrung Transitionssysteme Prozesskalkule Petrinetze Graphtransformation Google Go

Graphtransformation

Graphtransformationsregel (Definition)

Eine (Graphtransformations-)Regel besteht aus drei Graphen

L, I ,R und zwei Graphmorphismen LϕL← I

ϕR→ R.

Beispiel:

HL

F2

1

21ϕLooϕR // WL

1

2

Barbara Konig Vorlesung “Modellierung nebenlaufiger Systeme” 256

Page 26: Modellierung nebenl au ger Systeme Sommersemester 2012 ... · L oschen von Objekten Variabler Topologie (Systemstruktur ver andert sich w ahrend der Laufzeit) Mobilit at (mobiler

Organisatorisches Einfuhrung Transitionssysteme Prozesskalkule Petrinetze Graphtransformation Google Go

Graphtransformation

Eine Graphtransformation kann durch zwei Verklebungen einesKontextgraphen mit der linken bzw. rechten Seite beschriebenwerden.

Graphtransformation (Definition)

Sei r = (LϕL← I

ϕR→ R) eine Regel. Man sagt, ein Graph G wird zuH transformiert (in Zeichen: G

r⇒ H), wenn es einen Graphen C(den sogenannten Kontext) und einen Graphmorphismus ψ : I → Cgibt mit:

G ∼= L +ϕL,ψ C H ∼= R +ϕR ,ψ C

Barbara Konig Vorlesung “Modellierung nebenlaufiger Systeme” 257

Page 27: Modellierung nebenl au ger Systeme Sommersemester 2012 ... · L oschen von Objekten Variabler Topologie (Systemstruktur ver andert sich w ahrend der Laufzeit) Mobilit at (mobiler

Organisatorisches Einfuhrung Transitionssysteme Prozesskalkule Petrinetze Graphtransformation Google Go

Graphtransformation

Wenn man alle Graphmorphismen betrachtet, dann kann eineGraphersetzung diagrammatisch wie folgt beschrieben werden:

L

m

��

IϕLoo

ϕR //

ψ��

R

��

G Coo // H

Bemerkungen:

Aus obigem Diagramm folgt der Name desGraphtransformations-Ansatzes: Double-Pushout-Ansatz(kurz: DPO).

Den Morphismus m nennt man dabei Match der linken Seitein dem Graphen G .

Barbara Konig Vorlesung “Modellierung nebenlaufiger Systeme” 258

Page 28: Modellierung nebenl au ger Systeme Sommersemester 2012 ... · L oschen von Objekten Variabler Topologie (Systemstruktur ver andert sich w ahrend der Laufzeit) Mobilit at (mobiler

Organisatorisches Einfuhrung Transitionssysteme Prozesskalkule Petrinetze Graphtransformation Google Go

Graphtransformation

Beispieldiagramm, das eine Graphtransformation beschreibt:

HL

F2

1

m

��

21ϕLooϕR //

ψ

��

WL

1

2

��

F

HL HR

F2

1

HR

F1

2

oo // HR

F

WL

1

2

Barbara Konig Vorlesung “Modellierung nebenlaufiger Systeme” 259

Page 29: Modellierung nebenl au ger Systeme Sommersemester 2012 ... · L oschen von Objekten Variabler Topologie (Systemstruktur ver andert sich w ahrend der Laufzeit) Mobilit at (mobiler

Organisatorisches Einfuhrung Transitionssysteme Prozesskalkule Petrinetze Graphtransformation Google Go

Graphtransformation

Anschaulich passiert bei einer Graphtransformation folgendes:

Um den Kontext C zu erhalten, werden zunachst alle Bilderder linken Seite, die sich nicht im Interface befinden, aus Gentfernt.

Dann wird die rechte Seite zu C hinzugefugt und uber dasInterface verklebt, woraus der resultierende Graph H entsteht.

Barbara Konig Vorlesung “Modellierung nebenlaufiger Systeme” 260

Page 30: Modellierung nebenl au ger Systeme Sommersemester 2012 ... · L oschen von Objekten Variabler Topologie (Systemstruktur ver andert sich w ahrend der Laufzeit) Mobilit at (mobiler

Organisatorisches Einfuhrung Transitionssysteme Prozesskalkule Petrinetze Graphtransformation Google Go

Graphtransformation

Graphtransformationssystem (Definition)

Sei Λ eine Menge von Labels. Ein Graphtransformationssystem istein Tupel G = (G0,R), wobei

G0 ein beliebiger Hypergraph ist, der sogenannte initialeGraph oder Startgraph, und

R eine Menge von Graphtransformationsregeln ist.

Dabei tragen alle Kanten Labels aus der Menge Λ.

Barbara Konig Vorlesung “Modellierung nebenlaufiger Systeme” 261

Page 31: Modellierung nebenl au ger Systeme Sommersemester 2012 ... · L oschen von Objekten Variabler Topologie (Systemstruktur ver andert sich w ahrend der Laufzeit) Mobilit at (mobiler

Organisatorisches Einfuhrung Transitionssysteme Prozesskalkule Petrinetze Graphtransformation Google Go

Graphtransformation

Frage: Unter welchen Bedingungen gibt es den Kontext C?

Problem: in manchen Fallen gibt es keinen passenden Kontext zueiner Regel L← I → R und einem Match m : L→ G .

Nicht-Existenz des Kontexts C (1. Fall)

Loschen eines Knotens ohne Loschen der angrenzenden Kante.

1A

m

��

1ϕLoo

��A1

B ?oo

Barbara Konig Vorlesung “Modellierung nebenlaufiger Systeme” 262

Page 32: Modellierung nebenl au ger Systeme Sommersemester 2012 ... · L oschen von Objekten Variabler Topologie (Systemstruktur ver andert sich w ahrend der Laufzeit) Mobilit at (mobiler

Organisatorisches Einfuhrung Transitionssysteme Prozesskalkule Petrinetze Graphtransformation Google Go

Graphtransformation

Nicht-Existenz des Kontexts C (2. Fall)

Verschmelzen zweier Elemente der linken Seite, die im Interfacenicht vorhanden sind.

A

A

1 2

m

��

21ϕLoo

��

A1 2

?oo

Barbara Konig Vorlesung “Modellierung nebenlaufiger Systeme” 263

Page 33: Modellierung nebenl au ger Systeme Sommersemester 2012 ... · L oschen von Objekten Variabler Topologie (Systemstruktur ver andert sich w ahrend der Laufzeit) Mobilit at (mobiler

Organisatorisches Einfuhrung Transitionssysteme Prozesskalkule Petrinetze Graphtransformation Google Go

Graphtransformation

Aber: Kontext existiert, wenn nur Elemente des Interfacesverschmolzen werden.

A1 2

m

��

21ϕLoo

��1, 2

A

1, 2oo

Barbara Konig Vorlesung “Modellierung nebenlaufiger Systeme” 264

Page 34: Modellierung nebenl au ger Systeme Sommersemester 2012 ... · L oschen von Objekten Variabler Topologie (Systemstruktur ver andert sich w ahrend der Laufzeit) Mobilit at (mobiler

Organisatorisches Einfuhrung Transitionssysteme Prozesskalkule Petrinetze Graphtransformation Google Go

Graphtransformation

Existenz des Kontexts (Satz)

Sei LϕL← I

ϕR→ R eine Graphtransformationsregel und m : L→ G einMatch. Dann existiert ein Kontext C und ein Morphismusψ : I → C , so dass G ∼= L +ϕL,ψ C (und m entsteht durch dieVerklebung), genau dann, wenn folgendes gilt:

Fur jeden Knoten v aus L, dessen Bild m(v) an eine Kante eangrenzt, die sich nicht im Bild von m befindet, gibt es einenKnoten v ′ in I mit ϕL(v ′) = v .

Falls fur zwei Elemente x , y (wobei x , y Knoten oder Kantenin L sein konnen) m(x) = m(y) gilt, dann gibt es x ′, y ′ in Imit ϕL(x ′) = x , ϕL(y ′) = y .

Die beiden obigen Bedingungen nennt man Gluing Conditions.

Barbara Konig Vorlesung “Modellierung nebenlaufiger Systeme” 265

Page 35: Modellierung nebenl au ger Systeme Sommersemester 2012 ... · L oschen von Objekten Variabler Topologie (Systemstruktur ver andert sich w ahrend der Laufzeit) Mobilit at (mobiler

Organisatorisches Einfuhrung Transitionssysteme Prozesskalkule Petrinetze Graphtransformation Google Go

Graphtransformation

Bemerkungen:

Den Kontext, der ein Verklebediagramm vervollstandigt,nennt man – da er einen Pushout komplementiert – auchPushout Complement.

Falls der Kontext nicht existiert, ist imDouble-Pushout-Ansatz auch keinGraphtransformationsschritt moglich.

Es gibt auch andere Graphtransformationsansatze, wiebeispielsweise den Single-Pushout-Ansatz, bei dem beimLoschen eines Knotens grundsatzlich alle angrenzendenKanten mitgeloscht werden.

Barbara Konig Vorlesung “Modellierung nebenlaufiger Systeme” 266

Page 36: Modellierung nebenl au ger Systeme Sommersemester 2012 ... · L oschen von Objekten Variabler Topologie (Systemstruktur ver andert sich w ahrend der Laufzeit) Mobilit at (mobiler

Organisatorisches Einfuhrung Transitionssysteme Prozesskalkule Petrinetze Graphtransformation Google Go

Negative Anwendungsbedingungen

Negative Anwendungsbedingung (Definition)

Sei r = (LϕL← I

ϕR→ R) eine Graphtransformationsregel. Einenegative Anwendungsbedingung fur r ist ein Graph N mit einemMorphismus n : L→ N.

Intuition: Es wird verlangt, dass N nicht in der Umgebung von Lvorkommt, wenn die Regel auf einen Graph G angewandt wird.

Barbara Konig Vorlesung “Modellierung nebenlaufiger Systeme” 267

Page 37: Modellierung nebenl au ger Systeme Sommersemester 2012 ... · L oschen von Objekten Variabler Topologie (Systemstruktur ver andert sich w ahrend der Laufzeit) Mobilit at (mobiler

Organisatorisches Einfuhrung Transitionssysteme Prozesskalkule Petrinetze Graphtransformation Google Go

Negative Anwendungsbedingungen

Match erfullt negative Anwendungsbedingung (Definition)

Sei r = (LϕL← I

ϕR→ R) eine Regel, n : L→ G eine negativeAnwendungsbedingung und m : L→ G ein Match.Wir sagen, dass m die negative Anwendungsbedingung erfullt,wenn es keinen injektiven Morphismus p : N → G gibt mitp ◦ n = m.

N

p��

L

m

��

noo IϕLoo

ϕR // R

G

Barbara Konig Vorlesung “Modellierung nebenlaufiger Systeme” 268

Page 38: Modellierung nebenl au ger Systeme Sommersemester 2012 ... · L oschen von Objekten Variabler Topologie (Systemstruktur ver andert sich w ahrend der Laufzeit) Mobilit at (mobiler

Organisatorisches Einfuhrung Transitionssysteme Prozesskalkule Petrinetze Graphtransformation Google Go

Negative Anwendungsbedingungen

Beispiel: Bilden der transitiven Hulle eines (gerichteten) Graphen

Idee: Zwei Knoten, die indirekt uber einen dritten Knotenverbunden sind, direkt mit einer Kante verbinden. Dies soll abernur dann geschehen, wenn diese Verbindung nicht bereits existiert.

Barbara Konig Vorlesung “Modellierung nebenlaufiger Systeme” 269

Page 39: Modellierung nebenl au ger Systeme Sommersemester 2012 ... · L oschen von Objekten Variabler Topologie (Systemstruktur ver andert sich w ahrend der Laufzeit) Mobilit at (mobiler

Organisatorisches Einfuhrung Transitionssysteme Prozesskalkule Petrinetze Graphtransformation Google Go

Negative Anwendungsbedingungen

Bilden der transitiven Hulle

AA AA A

A

A

R

A

IL

A

A

N

Diese Regel soll so lange wie moglich angewandt werden. Sobalddie Regel nicht mehr angewandt werden kann, ist die transitiveHulle gefunden.

Barbara Konig Vorlesung “Modellierung nebenlaufiger Systeme” 270

Page 40: Modellierung nebenl au ger Systeme Sommersemester 2012 ... · L oschen von Objekten Variabler Topologie (Systemstruktur ver andert sich w ahrend der Laufzeit) Mobilit at (mobiler

Organisatorisches Einfuhrung Transitionssysteme Prozesskalkule Petrinetze Graphtransformation Google Go

Graphtransformation und Petrinetze

Petrinetze konnen auf einfache Art und Weise inGraphtransformation kodiert werden:

Jede Stelle wird zu einem Label desGraphtransformationssystems.

Jede Transition wird zu einer Regel.

Eine Markierung wird als Menge von Kanten der Stelligkeit 0dargestellt, die mit den entsprechenden Labels markiert sind.

Graphen bestehen nur aus Kanten, ohne irgendwelche Knoten.

Barbara Konig Vorlesung “Modellierung nebenlaufiger Systeme” 271

Page 41: Modellierung nebenl au ger Systeme Sommersemester 2012 ... · L oschen von Objekten Variabler Topologie (Systemstruktur ver andert sich w ahrend der Laufzeit) Mobilit at (mobiler

Organisatorisches Einfuhrung Transitionssysteme Prozesskalkule Petrinetze Graphtransformation Google Go

Graphtransformation und Petrinetze

Kodierung: Petrinetz → Graphtransformation

Sei N = (S ,T , •(), ()•,m0) ein Petrinetz.Wir verwenden Λ = S als Labelmenge. Das dazugehorigeGraphtransformationssystem ist G = (G0,R) mit:

G0 enthalt keine Knoten und fur jedes s ∈ Λ gibt es m0(s)Kanten, die mit s gelabelt sind. Alle Kanten haben dieStelligkeit 0. (Analog kann jeder Markierung m ein Graph Gm

zugeordnet werden.)

Jeder Transition t ∈ T wird eine Regel rt = (L← I → R)zugeordnet mit: L = G•t , I = ∅ (leerer Graph), R = Gt• .

Barbara Konig Vorlesung “Modellierung nebenlaufiger Systeme” 272

Page 42: Modellierung nebenl au ger Systeme Sommersemester 2012 ... · L oschen von Objekten Variabler Topologie (Systemstruktur ver andert sich w ahrend der Laufzeit) Mobilit at (mobiler

Organisatorisches Einfuhrung Transitionssysteme Prozesskalkule Petrinetze Graphtransformation Google Go

Graphtransformation und Petrinetze

Beispiel fur die Kodierung:

Petrinetzs2s1

s3

s4

t1

t2t3

ZugeordnetesGraphtransformationssystem

s2s1

s2s1

s3

s3 s1 s4

Initialer Graph:

rt1:

rt2:

rt3:

s2s3

Barbara Konig Vorlesung “Modellierung nebenlaufiger Systeme” 273

Page 43: Modellierung nebenl au ger Systeme Sommersemester 2012 ... · L oschen von Objekten Variabler Topologie (Systemstruktur ver andert sich w ahrend der Laufzeit) Mobilit at (mobiler

Organisatorisches Einfuhrung Transitionssysteme Prozesskalkule Petrinetze Graphtransformation Google Go

Graphtransformation und Petrinetze

Die Korrektheit der Kodierung kann folgendermaßen formuliertwerden:

Korrektheit der Kodierung (Satz)

Sei N ein Petrinetz und G = (G0,R) das dazugehorigeGraphtransformationssystem. Es gilt:

Falls m[t〉m′ fur zwei Markierungen m,m′ gilt, dann gilt

Gmrt⇒ Gm′ , wobei rt ∈ R.

Sei G ein Graph, der von G0 aus erreichbar ist, und es gelteG

rt⇒ G ′ fur ein rt ∈ R. Dann gibt es erreichbareMarkierungen m,m′ mit Gm

∼= G , Gm′∼= G ′ und m[t〉m′.

Barbara Konig Vorlesung “Modellierung nebenlaufiger Systeme” 274

Page 44: Modellierung nebenl au ger Systeme Sommersemester 2012 ... · L oschen von Objekten Variabler Topologie (Systemstruktur ver andert sich w ahrend der Laufzeit) Mobilit at (mobiler

Organisatorisches Einfuhrung Transitionssysteme Prozesskalkule Petrinetze Graphtransformation Google Go

Modelltransformation von Petrinetzen

In manchen Fallen ist es auch nutzlich, Petrinetze direkt alsGraphen zu reprasentieren, insbesondere wenn man deren Strukturandern will.

Folgende Regeln beschreiben Modelltransformationen aufPetrinetzen, die die Struktur eines Netzes verandern. Man kannjedoch zeigen, dass das entstehende Netz noch “im wesentlichen”das gleiche Verhalten hat wie das ursprungliche (insbesondere imBezug auf Verklemmungen, Sicherheit, Beschranktheit).

Barbara Konig Vorlesung “Modellierung nebenlaufiger Systeme” 275

Page 45: Modellierung nebenl au ger Systeme Sommersemester 2012 ... · L oschen von Objekten Variabler Topologie (Systemstruktur ver andert sich w ahrend der Laufzeit) Mobilit at (mobiler

Organisatorisches Einfuhrung Transitionssysteme Prozesskalkule Petrinetze Graphtransformation Google Go

Modelltransformation von Petrinetzen

[Regeln aus Tadao Murata: “Petri Nets: Properties, Analysis andApplications”]

Barbara Konig Vorlesung “Modellierung nebenlaufiger Systeme” 276

Page 46: Modellierung nebenl au ger Systeme Sommersemester 2012 ... · L oschen von Objekten Variabler Topologie (Systemstruktur ver andert sich w ahrend der Laufzeit) Mobilit at (mobiler

Organisatorisches Einfuhrung Transitionssysteme Prozesskalkule Petrinetze Graphtransformation Google Go

Modelltransformation von Petrinetzen

Barbara Konig Vorlesung “Modellierung nebenlaufiger Systeme” 277

Page 47: Modellierung nebenl au ger Systeme Sommersemester 2012 ... · L oschen von Objekten Variabler Topologie (Systemstruktur ver andert sich w ahrend der Laufzeit) Mobilit at (mobiler

Organisatorisches Einfuhrung Transitionssysteme Prozesskalkule Petrinetze Graphtransformation Google Go

Modelltransformation von Petrinetzen

Barbara Konig Vorlesung “Modellierung nebenlaufiger Systeme” 278

Page 48: Modellierung nebenl au ger Systeme Sommersemester 2012 ... · L oschen von Objekten Variabler Topologie (Systemstruktur ver andert sich w ahrend der Laufzeit) Mobilit at (mobiler

Organisatorisches Einfuhrung Transitionssysteme Prozesskalkule Petrinetze Graphtransformation Google Go

Modelltransformation von Petrinetzen

Barbara Konig Vorlesung “Modellierung nebenlaufiger Systeme” 279

Page 49: Modellierung nebenl au ger Systeme Sommersemester 2012 ... · L oschen von Objekten Variabler Topologie (Systemstruktur ver andert sich w ahrend der Laufzeit) Mobilit at (mobiler

Organisatorisches Einfuhrung Transitionssysteme Prozesskalkule Petrinetze Graphtransformation Google Go

Modelltransformation von Petrinetzen

Aufgabe:

Festlegung einer Reprasentation von Petrinetzen als Graphen

Beschreiben der obigen Regeln alsGraphtransformationsregeln.Vorsicht: die Regeln haben fast alle negativeAnwendungsbedingungen, d.h., es wird die Abwesenheitbestimmter eingehender oder ausgehender Verbindungengefordert.

Bemerkung: Graphtransformationen werden haufig fur sogenannteModelltransformationen eingesetzt, d.h., die Umformung vongraphischen Spezifikation, oder die Transformation einergraphischen Spezifikation in eine andere. Ein wichtigesAnwendungsgebiet ist die Transformation von UML-Diagrammen.

Barbara Konig Vorlesung “Modellierung nebenlaufiger Systeme” 280

Page 50: Modellierung nebenl au ger Systeme Sommersemester 2012 ... · L oschen von Objekten Variabler Topologie (Systemstruktur ver andert sich w ahrend der Laufzeit) Mobilit at (mobiler

Organisatorisches Einfuhrung Transitionssysteme Prozesskalkule Petrinetze Graphtransformation Google Go

Modelltransformation von Petrinetzen

Idee zur Kodierung der Struktur von Petrinetzen:

Sowohl Stellen als auch Transitionen werden als Knotendargestellt. Zur Unterscheidung wird eine einstelligeHyperkante hinzugefugt, die entweder mit S oder Tbeschriftet wird.

Marken werden ebenfalls mit einer einstelligen Kantedargestellt, die mit M markiert ist und mit der entsprechendenStelle verbunden ist.

Verbindungen zwischen Stellen und Transitionen (oderumgekehrt) werden durch zweistellige A-Kanten dargestellt.

Barbara Konig Vorlesung “Modellierung nebenlaufiger Systeme” 281

Page 51: Modellierung nebenl au ger Systeme Sommersemester 2012 ... · L oschen von Objekten Variabler Topologie (Systemstruktur ver andert sich w ahrend der Laufzeit) Mobilit at (mobiler

Organisatorisches Einfuhrung Transitionssysteme Prozesskalkule Petrinetze Graphtransformation Google Go

Modelltransformation von Petrinetzen

Beispiel: Kodierung eines Netzes als Graph

SS

Petrinetz

T

A

AA

SM

Kodierung als Graph

Barbara Konig Vorlesung “Modellierung nebenlaufiger Systeme” 282

Page 52: Modellierung nebenl au ger Systeme Sommersemester 2012 ... · L oschen von Objekten Variabler Topologie (Systemstruktur ver andert sich w ahrend der Laufzeit) Mobilit at (mobiler

Organisatorisches Einfuhrung Transitionssysteme Prozesskalkule Petrinetze Graphtransformation Google Go

Graphtransformation und CCS

CCS-Prozesse konnen mit Hilfe von Graphtransformationsregelnsimuliert werden (nach [Gadducci]). Wir beschranken uns hier aufProzesse ohne Konstanten, Summen, Umbenennungen undτ -Prafixe.

Ideen:

Jeder CCS-Prozess wird durch einen Graphen dargestellt. Dabeiwird

sowohl die Termstruktur durch eine Baumstruktur im Graphendargestellt,

als auch die Kommunikationsmoglichkeiten zwischenProzessen (aufgrund gemeinsamer (Aktions-)Labels)reprasentiert.

Es gibt zwei Arten von Knoten:

schwarze Knoten (•) fur die Termstruktur

weiße Knoten (◦), die (Aktions-)Labels reprasentieren

Barbara Konig Vorlesung “Modellierung nebenlaufiger Systeme” 283

Page 53: Modellierung nebenl au ger Systeme Sommersemester 2012 ... · L oschen von Objekten Variabler Topologie (Systemstruktur ver andert sich w ahrend der Laufzeit) Mobilit at (mobiler

Organisatorisches Einfuhrung Transitionssysteme Prozesskalkule Petrinetze Graphtransformation Google Go

Graphtransformation und CCS

Es gibt nur folgende drei Kanten-Labels:

in: Reprasentation von Eingabe-Prafixen

Dreistellige Kante, deren Knoten folgende Bedeutung haben:

zugeordnetes (Aktions-)Label (weißer Knoten ◦)Vorganger und Nachfolger in der Termstruktur (schwarzeKnoten •)

out: Reprasentation von Ausgabe-PrafixenBedeutung der Knoten wie bei in

go: wird an die Wurzel der Termstruktur gehangt, um zuverhindern, dass Ersetzungen unterhalb von Prafixen passieren

Einstellige Kante, die nur mit einem schwarzen Knoten •verbunden ist

Barbara Konig Vorlesung “Modellierung nebenlaufiger Systeme” 284

Page 54: Modellierung nebenl au ger Systeme Sommersemester 2012 ... · L oschen von Objekten Variabler Topologie (Systemstruktur ver andert sich w ahrend der Laufzeit) Mobilit at (mobiler

Organisatorisches Einfuhrung Transitionssysteme Prozesskalkule Petrinetze Graphtransformation Google Go

Graphtransformation und CCS

Um zu bestimmen, wie viele (externe) weiße Knoten bei derKodierung eines Prozesses P enstehen sollen, mussen wir zunachstdie Menge der frei vorkommenden (Aktions-)Labels bestimmen.

Frei vorkommende Aktions-Labels

Sei L eine Labelmenge und P ein Prozess, dessen Aktionen undKoaktionen aus Labels aus L gebildet werden. Ein Label a ∈ Lkommt frei in P vor, wenn es in einem Ein- oder Ausgabe-Prafixauftaucht, das sich nicht unterhalb von einer Verschattung von abefindet. Umbenennungen werden bercksichtigt.

Beispiele:

P = a.Q1 | b.Q2 a, b kommen in P frei vor.

P = (a.Q1 | b.Q2)\{b} nur a kommt in P frei vor.

P = (a.b.c .Q)\{b} a, c kommen in P frei vor.

P = (a.Q1)\{a} | a.Q2 a kommt in P frei vor.

Barbara Konig Vorlesung “Modellierung nebenlaufiger Systeme” 285

Page 55: Modellierung nebenl au ger Systeme Sommersemester 2012 ... · L oschen von Objekten Variabler Topologie (Systemstruktur ver andert sich w ahrend der Laufzeit) Mobilit at (mobiler

Organisatorisches Einfuhrung Transitionssysteme Prozesskalkule Petrinetze Graphtransformation Google Go

Graphtransformation und CCS

Frei vorkommende Aktions-Labels (Induktive Definition)

Die Menge free(P) der in P frei vorkommenden Aktions-Labelswird folgendermaßen definiert:

free(0) = ∅free(a.P) = {a} ∪ free(P)

free(a.P) = {a} ∪ free(P)

free(τ.P) = free(P)

free(P | Q) = free(P) ∪ free(Q)

free(P\L) = free(P)\Lfree(P[f ]) = {f (a) | a ∈ free(P)}free(P + Q) = free(P) ∪ free(Q)

free(A) = free(P), falls A := P.

Barbara Konig Vorlesung “Modellierung nebenlaufiger Systeme” 286

Page 56: Modellierung nebenl au ger Systeme Sommersemester 2012 ... · L oschen von Objekten Variabler Topologie (Systemstruktur ver andert sich w ahrend der Laufzeit) Mobilit at (mobiler

Organisatorisches Einfuhrung Transitionssysteme Prozesskalkule Petrinetze Graphtransformation Google Go

Graphtransformation und CCS

Wir definieren [[P]]w , d.h., die Kodierung eines CCS-Prozesses P ineinem Graph. Dabei ist w ∈ L∗ ein Wort, das mindestens alle in Pfrei vorkommenden (Aktions-)Labels enthalt, so dass aber keinLabel mehrfach vorkommt. Mit w [i ] bezeichnen wir das i-teZeichen von w . Außerdem sei n = |w | die Lange von w .

Dabei soll [[P]]w ein Graph sein, der n + 1 ausgezeichnete Knotenhat: n weiße Knoten ◦ (einen fur jedes Aktions-Label) und einenschwarzen Knoten • (fur die Wurzel der Termstruktur).

Schema:

n1 n+1. . .

Barbara Konig Vorlesung “Modellierung nebenlaufiger Systeme” 287

Page 57: Modellierung nebenl au ger Systeme Sommersemester 2012 ... · L oschen von Objekten Variabler Topologie (Systemstruktur ver andert sich w ahrend der Laufzeit) Mobilit at (mobiler

Organisatorisches Einfuhrung Transitionssysteme Prozesskalkule Petrinetze Graphtransformation Google Go

Graphtransformation und CCS

Inaktiver Prozess

[[0]]w =n1 n+1

. . .

Verschattung

[[P\{a}]]w =

n1 n+1. . .

[[P ]]wa

[[P]]wa hat n + 2 ausgezeichnete Knoten, von denen der vorletzte,d.h., der Knoten, der a entspricht, aus der Menge derausgezeichneten Knoten entfernt wird.

Barbara Konig Vorlesung “Modellierung nebenlaufiger Systeme” 288

Page 58: Modellierung nebenl au ger Systeme Sommersemester 2012 ... · L oschen von Objekten Variabler Topologie (Systemstruktur ver andert sich w ahrend der Laufzeit) Mobilit at (mobiler

Organisatorisches Einfuhrung Transitionssysteme Prozesskalkule Petrinetze Graphtransformation Google Go

Graphtransformation und CCS

Parallele Komposition

[[P | Q]]w =

1

...

n+1

n[[P ]]w [[Q]]w

Barbara Konig Vorlesung “Modellierung nebenlaufiger Systeme” 289

Page 59: Modellierung nebenl au ger Systeme Sommersemester 2012 ... · L oschen von Objekten Variabler Topologie (Systemstruktur ver andert sich w ahrend der Laufzeit) Mobilit at (mobiler

Organisatorisches Einfuhrung Transitionssysteme Prozesskalkule Petrinetze Graphtransformation Google Go

Graphtransformation und CCS

Eingabe-Prafix

[[a.P]]w =n1 . . .

i

in

n+1

[[P ]]w

wobei w [i ] = a.

Barbara Konig Vorlesung “Modellierung nebenlaufiger Systeme” 290

Page 60: Modellierung nebenl au ger Systeme Sommersemester 2012 ... · L oschen von Objekten Variabler Topologie (Systemstruktur ver andert sich w ahrend der Laufzeit) Mobilit at (mobiler

Organisatorisches Einfuhrung Transitionssysteme Prozesskalkule Petrinetze Graphtransformation Google Go

Graphtransformation und CCS

Ausgabe-Prafix

[[a.P]]w =n1 . . .

i

n+1

out

[[P ]]w

wobei w [i ] = a.

Barbara Konig Vorlesung “Modellierung nebenlaufiger Systeme” 291

Page 61: Modellierung nebenl au ger Systeme Sommersemester 2012 ... · L oschen von Objekten Variabler Topologie (Systemstruktur ver andert sich w ahrend der Laufzeit) Mobilit at (mobiler

Organisatorisches Einfuhrung Transitionssysteme Prozesskalkule Petrinetze Graphtransformation Google Go

Graphtransformation und CCS

Nun bestimmen wir {[P]}w (die endgultige Kodierung), die aus[[P]]w durch Hinzufugen einer go-Kante entsteht.

Hinzufugen einer go-Kante

{[P]}w =n1 n+1

. . . go

[[P ]]w

Barbara Konig Vorlesung “Modellierung nebenlaufiger Systeme” 292

Page 62: Modellierung nebenl au ger Systeme Sommersemester 2012 ... · L oschen von Objekten Variabler Topologie (Systemstruktur ver andert sich w ahrend der Laufzeit) Mobilit at (mobiler

Organisatorisches Einfuhrung Transitionssysteme Prozesskalkule Petrinetze Graphtransformation Google Go

Graphtransformation und CCS

Beispiel: Kodierung des CCS-Prozesses ((a.b.0 | b.0) | a.0)\{b}

in

in

1 2

out out

ba

go

Barbara Konig Vorlesung “Modellierung nebenlaufiger Systeme” 293

Page 63: Modellierung nebenl au ger Systeme Sommersemester 2012 ... · L oschen von Objekten Variabler Topologie (Systemstruktur ver andert sich w ahrend der Laufzeit) Mobilit at (mobiler

Organisatorisches Einfuhrung Transitionssysteme Prozesskalkule Petrinetze Graphtransformation Google Go

Graphtransformation und CCS

Wir wollen nun zeigen, dass zwei Prozesse strukturell kongruentsind, genau dann, wenn ihre Kodierungen isomorph sind. Dasstimmt allerdings in dieser Form nicht ganz, wir mussen sowohlden Begriff der strukturellen Kongruenz, als auch den Begriff derIsomorphie etwas anpassen.

Isomorphie von Graphen mit ausgezeichneten Knoten (Definition)

Seien G , H zwei Graphen, wobei G die Sequenz v [1] . . . v [n + 1]und H die Sequenz w [1] . . .w [n + 1] von ausgezeichneten Knotenhat.Die Graphen mit ausgezeichneten Knoten sind isomorph, wenn eseinen bijektiven Morphismus ϕ : G → H gibt mit: ϕ(v [i ]) = w [i ]fur alle i ∈ {1, . . . , n + 1}.

Barbara Konig Vorlesung “Modellierung nebenlaufiger Systeme” 294

Page 64: Modellierung nebenl au ger Systeme Sommersemester 2012 ... · L oschen von Objekten Variabler Topologie (Systemstruktur ver andert sich w ahrend der Laufzeit) Mobilit at (mobiler

Organisatorisches Einfuhrung Transitionssysteme Prozesskalkule Petrinetze Graphtransformation Google Go

Graphtransformation und CCS

Erweiterte Strukturelle Kongruenz (Definition)

Die erweiterte strukturelle Kongruenz auf CCS-Prozessen (inZeichen: P ≡Q) ist die kleinste Relation, die sich mit Hilfe derGesetze fur die strukturelle Kongruenz und mit Hilfe folgenderGesetze herleiten laßt:

(a.P)\{b} ≡ a.(P\{b}) falls a 6= b, a 6= b.

(P\L)\L′ ≡P\(L ∪ L′)

(P | Q)\{a} ≡P | (Q\{a}) falls a 6∈ free(P).

0\L ≡ 0

Außerdem konnen verschattete Labels umbenannt werden. (ZumBeispiel: (a.b.0)\{a} ≡ (c .b.0)\{c})

Barbara Konig Vorlesung “Modellierung nebenlaufiger Systeme” 295

Page 65: Modellierung nebenl au ger Systeme Sommersemester 2012 ... · L oschen von Objekten Variabler Topologie (Systemstruktur ver andert sich w ahrend der Laufzeit) Mobilit at (mobiler

Organisatorisches Einfuhrung Transitionssysteme Prozesskalkule Petrinetze Graphtransformation Google Go

Graphtransformation und CCS

Isomorphie und Strukturelle Kongruenz (Satz)

Gegeben seien zwei CCS-Prozesse P,Q und ein Wort w , das alle inP,Q frei vorkommenden Aktions-Labels enthalt. Es gilt, dass{[P]}w und {[Q]}w als Graphen mit ausgezeichneten Knotenisomorph sind, genau dann, wenn P ≡Q.

Barbara Konig Vorlesung “Modellierung nebenlaufiger Systeme” 296

Page 66: Modellierung nebenl au ger Systeme Sommersemester 2012 ... · L oschen von Objekten Variabler Topologie (Systemstruktur ver andert sich w ahrend der Laufzeit) Mobilit at (mobiler

Organisatorisches Einfuhrung Transitionssysteme Prozesskalkule Petrinetze Graphtransformation Google Go

Graphtransformation und CCS

Nun mussen wir nur noch die operationelle Semantik von CCSbeschreiben. Es reicht eine einzige Regel:

Operationelle Semantik von CCS als Graphtransformationsregel

3

1 2go

1 2

43

out go2, 3, 4

4

in1go

Barbara Konig Vorlesung “Modellierung nebenlaufiger Systeme” 297

Page 67: Modellierung nebenl au ger Systeme Sommersemester 2012 ... · L oschen von Objekten Variabler Topologie (Systemstruktur ver andert sich w ahrend der Laufzeit) Mobilit at (mobiler

Organisatorisches Einfuhrung Transitionssysteme Prozesskalkule Petrinetze Graphtransformation Google Go

Graphtransformation und CCS

Intuition hinter der Transformationsregel:

Die beiden Prafixe mussen zu dem gleichen Aktions-Labelgehoren. Das wird dadurch sichergestellt, dass sie uber einengemeinsamen weißen Knoten verbunden sind.

Durch die Regelanwendung werden durch Verschmelzen derKnoten 2, 3, 4 die unterhalb der Prafixe liegenden Terme“nach oben befordert”.

Die Regelanwendung ist nur moglich in Anwesenheit einergo-Kante, das heißt, die Prafixe mussen sich an der Wurzelder Termstruktur und nicht unterhalb eines Prafixes befinden.Die go-Kante ist im Interface und wird erhalten.

Barbara Konig Vorlesung “Modellierung nebenlaufiger Systeme” 298

Page 68: Modellierung nebenl au ger Systeme Sommersemester 2012 ... · L oschen von Objekten Variabler Topologie (Systemstruktur ver andert sich w ahrend der Laufzeit) Mobilit at (mobiler

Organisatorisches Einfuhrung Transitionssysteme Prozesskalkule Petrinetze Graphtransformation Google Go

Graphtransformation und CCS

Mit der oben angegebenen Transformationsregel konnen nunτ -Schritte simuliert werden (Reduktionssemantik):

Korrektheit der Kodierung (Satz)

Sei P ein CCS-Prozess, w eine Sequenz der in P freivorkommenden (Aktions-)Labels und r die oben angegebene Regel.Dann gilt:

Pτ→ Q impliziert {[P]}w

r⇒ {[Q]}w .

{[P]}wr⇒ G fur einen Graphen G impliziert die Existenz eines

CCS-Prozesses Q mit {[Q]}w ∼= G und Pτ→ Q.

Barbara Konig Vorlesung “Modellierung nebenlaufiger Systeme” 299

Page 69: Modellierung nebenl au ger Systeme Sommersemester 2012 ... · L oschen von Objekten Variabler Topologie (Systemstruktur ver andert sich w ahrend der Laufzeit) Mobilit at (mobiler

Organisatorisches Einfuhrung Transitionssysteme Prozesskalkule Petrinetze Graphtransformation Google Go

Graphtransformation und CCS

Bemerkungen:

Es ist auch moglich, CCS-Prozesse mit Summe,Umbenennungen, Konstanten und τ -Prafixe zu kodieren, dazumussen jedoch noch weitere Arten von Hyperkanten undKnoten eingefuhrt werden.

Ebenso ware es moglich, “echte” Interaktion mit derUmgebung zu modellieren, d.h., Ubergange der Form P

a→ Qmit a 6= τ zu simulieren.

Barbara Konig Vorlesung “Modellierung nebenlaufiger Systeme” 300

Page 70: Modellierung nebenl au ger Systeme Sommersemester 2012 ... · L oschen von Objekten Variabler Topologie (Systemstruktur ver andert sich w ahrend der Laufzeit) Mobilit at (mobiler

Organisatorisches Einfuhrung Transitionssysteme Prozesskalkule Petrinetze Graphtransformation Google Go

Graphtransformation und CCS

Auf Basis der Graphtransformations-Semantik ist es einfach,Erweiterungen von CCS zu implementieren. Beispielsweise konnenLabels als Kanalnamen aufgefasst werden und bei einerKommunikation ein weiterer Kanalname als Nachrichteninhaltubermittelt werden.

Das ermoglicht es, die Kanalverbindungen dynamisch wahrend derLaufzeit zu modifizieren (vgl. π-Kalkul). Dieser Effekt wird auchals (schwache) Mobilitat bezeichnet.

Barbara Konig Vorlesung “Modellierung nebenlaufiger Systeme” 301

Page 71: Modellierung nebenl au ger Systeme Sommersemester 2012 ... · L oschen von Objekten Variabler Topologie (Systemstruktur ver andert sich w ahrend der Laufzeit) Mobilit at (mobiler

Organisatorisches Einfuhrung Transitionssysteme Prozesskalkule Petrinetze Graphtransformation Google Go

Graphtransformation und CCS

Ubermittlung von Kanalnamen als Graphtransformationsregel

in

43

go

go

3

1 2

4

2, 3, 4go

5 6

5, 6

out

21 5ba

6x

1

Entsprechung im π-Kalkul

a〈b〉.P | a(x).Qτ→ P | Q[x/b]

Dabei gilt x als gebunden, d.h., es kommt nicht frei im Prozess vor.

Barbara Konig Vorlesung “Modellierung nebenlaufiger Systeme” 302

Page 72: Modellierung nebenl au ger Systeme Sommersemester 2012 ... · L oschen von Objekten Variabler Topologie (Systemstruktur ver andert sich w ahrend der Laufzeit) Mobilit at (mobiler

Organisatorisches Einfuhrung Transitionssysteme Prozesskalkule Petrinetze Graphtransformation Google Go

Ausblick

Was gibt es sonst noch im Zusammenhang mitGraphtransformation?

Entfaltungen (ahnlich wie bei Petrinetzen)

Graphgrammatiken (zur Erzeugung von Graphsprachen)

Zugrundeliegende mathematische Theorie: Kategorientheorie

Zahlreiche Anwendungen, Modellierung großer realer Systeme

Viele Werkzeuge (Agg, Progres, Groove, Augur, . . . )

. . .

Barbara Konig Vorlesung “Modellierung nebenlaufiger Systeme” 303