42
Universität Augsburg Institut für Informatik Lehrstuhl für Softwaretechnik und Programmiersprachen Theoretische Informatik Prof. Dr. Walter Vogler Seminar Petrinetze, 9.5.2005 Jannis Hermanns Fighting State Explosion Automatische Berechnung eines Fortschrittsmaßes für die Sweep-Line- Methode

Universität Augsburg Institut für Informatik Lehrstuhl für Softwaretechnik und Programmiersprachen Theoretische Informatik Prof. Dr. Walter Vogler Jannis

Embed Size (px)

Citation preview

Page 1: Universität Augsburg Institut für Informatik Lehrstuhl für Softwaretechnik und Programmiersprachen Theoretische Informatik Prof. Dr. Walter Vogler Jannis

Universität AugsburgInstitut für InformatikLehrstuhl für Softwaretechnik und ProgrammiersprachenTheoretische InformatikProf. Dr. Walter Vogler

Seminar Petrinetze, 9.5.2005Jannis Hermanns

Fighting State Explosion

Automatische Berechnung eines

Fortschrittsmaßes für die Sweep-

Line-Methode

Page 2: Universität Augsburg Institut für Informatik Lehrstuhl für Softwaretechnik und Programmiersprachen Theoretische Informatik Prof. Dr. Walter Vogler Jannis

Universität AugsburgInstitut für InformatikLehrstuhl für Softwaretechnik und ProgrammiersprachenTheoretische InformatikProf. Dr. Walter Vogler

Seminar Petrinetze, 9.5.2005Jannis Hermanns

Quelle• Paper zu einem Vortrag von

Dr. habil. Karsten Schmidt im Rahmen der Konferenz „Tools and Algorithms for the Construction and Analysis of Systems“ (29.3.-2.4.2004) in Barcelona

• Originaltitel „Automated generation of a progress measure for the sweep-line method“

• Veröffentlicht in: LNCS 2988, Springer-Verlag 2004, S. 192-204.

Page 3: Universität Augsburg Institut für Informatik Lehrstuhl für Softwaretechnik und Programmiersprachen Theoretische Informatik Prof. Dr. Walter Vogler Jannis

Universität AugsburgInstitut für InformatikLehrstuhl für Softwaretechnik und ProgrammiersprachenTheoretische InformatikProf. Dr. Walter Vogler

Seminar Petrinetze, 9.5.2005Jannis Hermanns

Problem

• Effiziente Beantwortung von

Erreichbarkeitsfragen für beschränkte

Petrinetze

• 12 Speisende Philosophen: 60 Stellen, 48

Transitionen & beschränkt

• Aber: 531.440 erreichbare Zustände

Problem: State-Explosion!

Page 4: Universität Augsburg Institut für Informatik Lehrstuhl für Softwaretechnik und Programmiersprachen Theoretische Informatik Prof. Dr. Walter Vogler Jannis

Universität AugsburgInstitut für InformatikLehrstuhl für Softwaretechnik und ProgrammiersprachenTheoretische InformatikProf. Dr. Walter Vogler

Seminar Petrinetze, 9.5.2005Jannis Hermanns

Ziel

• Jeden erreichbaren Zustand

mindestens einmal betrachten

• Darauf verzichten, dabei den gesamten

Zustandsraum speichern zu müssen

Speicherplatz sparen!

Page 5: Universität Augsburg Institut für Informatik Lehrstuhl für Softwaretechnik und Programmiersprachen Theoretische Informatik Prof. Dr. Walter Vogler Jannis

Universität AugsburgInstitut für InformatikLehrstuhl für Softwaretechnik und ProgrammiersprachenTheoretische InformatikProf. Dr. Walter Vogler

Seminar Petrinetze, 9.5.2005Jannis Hermanns

Lösung

• Bestimmte Eigenschaften des Netzes kurz analysieren

• Während der Erforschung des Zustandsraumes bestimmte Zustände aussortieren

Immer nur einen Teil der erreichbaren Markierungen im Speicher haben!

Page 6: Universität Augsburg Institut für Informatik Lehrstuhl für Softwaretechnik und Programmiersprachen Theoretische Informatik Prof. Dr. Walter Vogler Jannis

Universität AugsburgInstitut für InformatikLehrstuhl für Softwaretechnik und ProgrammiersprachenTheoretische InformatikProf. Dr. Walter Vogler

Seminar Petrinetze, 9.5.2005Jannis Hermanns

Inhalt

1. Sweep-Line-Methode

2. Theorie: Monotones Fortschrittsmaß

3. Allgemeine Sweep-Line-Methode

4. Praxis: Inkrementelles Fortschrittsmaß

5. Geometrische Interpretation

6. Optimierungsmöglichkeiten

7. Kombination mit anderen Reduktionstechniken

Page 7: Universität Augsburg Institut für Informatik Lehrstuhl für Softwaretechnik und Programmiersprachen Theoretische Informatik Prof. Dr. Walter Vogler Jannis

Universität AugsburgInstitut für InformatikLehrstuhl für Softwaretechnik und ProgrammiersprachenTheoretische InformatikProf. Dr. Walter Vogler

Seminar Petrinetze, 9.5.2005Jannis Hermanns

1. Sweep-Line-Methode

• Unterteilung der Zustände in drei

Gruppen

1. Unbekannte Zustände

2. Gesehene Zustände (noch nicht fertig

abgearbeitet)

3. Komplett abgearbeitete Zustände

Page 8: Universität Augsburg Institut für Informatik Lehrstuhl für Softwaretechnik und Programmiersprachen Theoretische Informatik Prof. Dr. Walter Vogler Jannis

Universität AugsburgInstitut für InformatikLehrstuhl für Softwaretechnik und ProgrammiersprachenTheoretische InformatikProf. Dr. Walter Vogler

Seminar Petrinetze, 9.5.2005Jannis Hermanns

1. Sweep-Line-Methode

• Die zweite Gruppe wird als „Front“

bezeichnet

• Die dritte Gruppe soll möglichst klein

gehalten werden

• Darf man Zustände aus der dritten

Gruppe einfach löschen?

Page 9: Universität Augsburg Institut für Informatik Lehrstuhl für Softwaretechnik und Programmiersprachen Theoretische Informatik Prof. Dr. Walter Vogler Jannis

Universität AugsburgInstitut für InformatikLehrstuhl für Softwaretechnik und ProgrammiersprachenTheoretische InformatikProf. Dr. Walter Vogler

Seminar Petrinetze, 9.5.2005Jannis Hermanns

1. Sweep-Line-Methode

• Man darf Zustände, die nie wieder

vorkommen können, löschen

• Während der Erforschung des

Zustandsraumes Erreichbarkeitsfragen für

jeden Zustand beantworten

• Wie kann man entscheiden, welche Zustände

frühzeitig gelöscht werden dürfen

Page 10: Universität Augsburg Institut für Informatik Lehrstuhl für Softwaretechnik und Programmiersprachen Theoretische Informatik Prof. Dr. Walter Vogler Jannis

Universität AugsburgInstitut für InformatikLehrstuhl für Softwaretechnik und ProgrammiersprachenTheoretische InformatikProf. Dr. Walter Vogler

Seminar Petrinetze, 9.5.2005Jannis Hermanns

2. Monotones Fortschrittsmaß

• Ein Fortschrittsmaß ist eine Funktion

p:MN (N sei beliebige Menge mit

partieller Ordnung ≤)

• p(M) liefert den Fortschrittswert der

Markierung M

Page 11: Universität Augsburg Institut für Informatik Lehrstuhl für Softwaretechnik und Programmiersprachen Theoretische Informatik Prof. Dr. Walter Vogler Jannis

Universität AugsburgInstitut für InformatikLehrstuhl für Softwaretechnik und ProgrammiersprachenTheoretische InformatikProf. Dr. Walter Vogler

Seminar Petrinetze, 9.5.2005Jannis Hermanns

2. Monotones Fortschrittsmaß

• Folgt aus M[tM‘, dass p(M) ≤ p(M‘) so heißt

das Fortschrittsmaß monoton

• Jedes Feuern einer Transition bedeutet einen

Fortschritt des Systems (bzw. keinen

Rückschritt)

• Antwort auf die Frage, welche Zustände

frühzeitig gelöscht werden dürfen

Page 12: Universität Augsburg Institut für Informatik Lehrstuhl für Softwaretechnik und Programmiersprachen Theoretische Informatik Prof. Dr. Walter Vogler Jannis

Universität AugsburgInstitut für InformatikLehrstuhl für Softwaretechnik und ProgrammiersprachenTheoretische InformatikProf. Dr. Walter Vogler

Seminar Petrinetze, 9.5.2005Jannis Hermanns

2. Monotones Fortschrittsmaß

• Ziel der S-L-M: Speicherplatz sparen

• S-L-M benutzt ein Fortschrittsmaß, um Zustände während der Erforschung des Zustandsraumes löschen zu können

• Welche Zustände dürfen gelöscht werden?

Page 13: Universität Augsburg Institut für Informatik Lehrstuhl für Softwaretechnik und Programmiersprachen Theoretische Informatik Prof. Dr. Walter Vogler Jannis

Universität AugsburgInstitut für InformatikLehrstuhl für Softwaretechnik und ProgrammiersprachenTheoretische InformatikProf. Dr. Walter Vogler

Seminar Petrinetze, 9.5.2005Jannis Hermanns

2. Monotones Fortschrittsmaß

• Start: Front besteht nur

aus MN

• Alle aktivierten

Transitionen werden

geschaltet und die

erreichten Zustände zur

Front hinzugefügt

• MN verlässt die Front

Page 14: Universität Augsburg Institut für Informatik Lehrstuhl für Softwaretechnik und Programmiersprachen Theoretische Informatik Prof. Dr. Walter Vogler Jannis

Universität AugsburgInstitut für InformatikLehrstuhl für Softwaretechnik und ProgrammiersprachenTheoretische InformatikProf. Dr. Walter Vogler

Seminar Petrinetze, 9.5.2005Jannis Hermanns

2. Monotones Fortschrittsmaß

• Front besteht aus

unmittelbaren

Folgezuständen von MN

• MN ist (in) „komplett

erforscht“

• Entscheidung: MN

löschen, oder noch

nicht?

Page 15: Universität Augsburg Institut für Informatik Lehrstuhl für Softwaretechnik und Programmiersprachen Theoretische Informatik Prof. Dr. Walter Vogler Jannis

Universität AugsburgInstitut für InformatikLehrstuhl für Softwaretechnik und ProgrammiersprachenTheoretische InformatikProf. Dr. Walter Vogler

Seminar Petrinetze, 9.5.2005Jannis Hermanns

2. Monotones Fortschrittsmaß

• Warum MN nicht einfach

löschen?

Page 16: Universität Augsburg Institut für Informatik Lehrstuhl für Softwaretechnik und Programmiersprachen Theoretische Informatik Prof. Dr. Walter Vogler Jannis

Universität AugsburgInstitut für InformatikLehrstuhl für Softwaretechnik und ProgrammiersprachenTheoretische InformatikProf. Dr. Walter Vogler

Seminar Petrinetze, 9.5.2005Jannis Hermanns

2. Monotones Fortschrittsmaß

• Warum MN nicht einfach

löschen?

• MN könnte auf einem

Kreis liegen,

• Algorithmus würde in

Endlosschleife geraten!

• Wann darf MN gelöscht

werden?

Page 17: Universität Augsburg Institut für Informatik Lehrstuhl für Softwaretechnik und Programmiersprachen Theoretische Informatik Prof. Dr. Walter Vogler Jannis

Universität AugsburgInstitut für InformatikLehrstuhl für Softwaretechnik und ProgrammiersprachenTheoretische InformatikProf. Dr. Walter Vogler

Seminar Petrinetze, 9.5.2005Jannis Hermanns

2. Monotones Fortschrittsmaß

• Regel: Aus „komplett

erforscht“ dürfen alle

die Zustände gelöscht

werden, deren

Fortschrittswert kleiner

ist als der minimale in

der Front

• Sie kommen nie mehr

vor

Page 18: Universität Augsburg Institut für Informatik Lehrstuhl für Softwaretechnik und Programmiersprachen Theoretische Informatik Prof. Dr. Walter Vogler Jannis

Universität AugsburgInstitut für InformatikLehrstuhl für Softwaretechnik und ProgrammiersprachenTheoretische InformatikProf. Dr. Walter Vogler

Seminar Petrinetze, 9.5.2005Jannis Hermanns

2. Monotones Fortschrittsmaß

• Ein monotones Fortschrittsmaß ermöglicht erst das Anwenden der Sweep-Line-Methode

• Dieser Ansatz hat nur begrenzte Reichweite

• Was passiert bei Kreisen im Erreichbarkeitsgraphen?

• Hier besteht Verbesserungsbedarf!

Page 19: Universität Augsburg Institut für Informatik Lehrstuhl für Softwaretechnik und Programmiersprachen Theoretische Informatik Prof. Dr. Walter Vogler Jannis

Universität AugsburgInstitut für InformatikLehrstuhl für Softwaretechnik und ProgrammiersprachenTheoretische InformatikProf. Dr. Walter Vogler

Seminar Petrinetze, 9.5.2005Jannis Hermanns

3. Allgemeine Sweep-Line-Methode

• Verallgemeinerung der klassischen Sweep-Line-Methode:Forderung der Monotonie an das Fortschrittsmaß wird fallen gelassen

• System kann „zurückfallen“, d.h. der Fortschrittswert wird durch das Feuern einer Transition verringert. Problem!

Page 20: Universität Augsburg Institut für Informatik Lehrstuhl für Softwaretechnik und Programmiersprachen Theoretische Informatik Prof. Dr. Walter Vogler Jannis

Universität AugsburgInstitut für InformatikLehrstuhl für Softwaretechnik und ProgrammiersprachenTheoretische InformatikProf. Dr. Walter Vogler

Seminar Petrinetze, 9.5.2005Jannis Hermanns

3. Allgemeine Sweep-Line-Methode

• Zwei Markierungen M und M‘ mit M[tM‘ und p(M)>p(M‘) bilden eine Rückschrittskante

• Problem: Algorithmus weiß nicht, ob er M‘ schon untersucht hat

• Lösung: Markierungen wie M‘ werden als persistent markiert.

Page 21: Universität Augsburg Institut für Informatik Lehrstuhl für Softwaretechnik und Programmiersprachen Theoretische Informatik Prof. Dr. Walter Vogler Jannis

Universität AugsburgInstitut für InformatikLehrstuhl für Softwaretechnik und ProgrammiersprachenTheoretische InformatikProf. Dr. Walter Vogler

Seminar Petrinetze, 9.5.2005Jannis Hermanns

3. Allgemeine Sweep-Line-Methode

• Bei Entdeckung einer

Rückschrittskante wird

die erreichte Markierung

sofort aus der Front

entfernt und als

persistent markiert

• Mit dem Rest der

Markierungen wird wie

gewohnt verfahren

Page 22: Universität Augsburg Institut für Informatik Lehrstuhl für Softwaretechnik und Programmiersprachen Theoretische Informatik Prof. Dr. Walter Vogler Jannis

Universität AugsburgInstitut für InformatikLehrstuhl für Softwaretechnik und ProgrammiersprachenTheoretische InformatikProf. Dr. Walter Vogler

Seminar Petrinetze, 9.5.2005Jannis Hermanns

3. Allgemeine Sweep-Line-Methode

• Nachdem alle Zustände erforscht worden sind, bleibt eine Menge von als persistent markierten Zuständen

• Diese werden als Front für eine weiteren Durchgang der S-L-M benutzt

• So können zwar weitere Durchgänge nötig werden, aber es wird schließlich jede Markierung mindestens einmal besucht

Page 23: Universität Augsburg Institut für Informatik Lehrstuhl für Softwaretechnik und Programmiersprachen Theoretische Informatik Prof. Dr. Walter Vogler Jannis

Universität AugsburgInstitut für InformatikLehrstuhl für Softwaretechnik und ProgrammiersprachenTheoretische InformatikProf. Dr. Walter Vogler

Seminar Petrinetze, 9.5.2005Jannis Hermanns

3. Allgemeine Sweep-Line-Methode

• Warum terminiert der Algorithmus?

• Sweep-Line-Methode funktioniert nur

mit beschränkten Petrinetzen

• Wurde ein Zustand einmal als persistent

markiert, wird er nicht mehr gelöscht

Page 24: Universität Augsburg Institut für Informatik Lehrstuhl für Softwaretechnik und Programmiersprachen Theoretische Informatik Prof. Dr. Walter Vogler Jannis

Universität AugsburgInstitut für InformatikLehrstuhl für Softwaretechnik und ProgrammiersprachenTheoretische InformatikProf. Dr. Walter Vogler

Seminar Petrinetze, 9.5.2005Jannis Hermanns

3. Allgemeine Sweep-Line-Methode

• Jeder neue Durchgang benötigt eine „frische“ persistente Markierung

• Der Vorrat an Markierungen ist begrenzt

Algorithmus besucht jede erreichbare Markierung mindestens ein Mal und terminiert

Page 25: Universität Augsburg Institut für Informatik Lehrstuhl für Softwaretechnik und Programmiersprachen Theoretische Informatik Prof. Dr. Walter Vogler Jannis

Universität AugsburgInstitut für InformatikLehrstuhl für Softwaretechnik und ProgrammiersprachenTheoretische InformatikProf. Dr. Walter Vogler

Seminar Petrinetze, 9.5.2005Jannis Hermanns

4. Inkrementelles Fortschrittsmaß

• Fortschrittsmaß soll sich einfach und schnell berechnen lassen

• Idee: inkrementelles Fortschrittsmaß, bestehend aus:

– Fortschrittswert der Anfangsmarkierung MN

– Abstandsfunktion für Transitionen o:TQ

– Für alle M[tM‘ gilt p(M‘)=p(M)+o(t)

Page 26: Universität Augsburg Institut für Informatik Lehrstuhl für Softwaretechnik und Programmiersprachen Theoretische Informatik Prof. Dr. Walter Vogler Jannis

Universität AugsburgInstitut für InformatikLehrstuhl für Softwaretechnik und ProgrammiersprachenTheoretische InformatikProf. Dr. Walter Vogler

Seminar Petrinetze, 9.5.2005Jannis Hermanns

4. Inkrementelles Fortschrittsmaß

• Ist einfach und schnell in der Handhabung,

aber wie gewinnt man es?

Fortschrittswert der Anfangsmarkierung

beliebig, Abstände der Transitionen dürfen

jedoch nicht willkürlich gewählt werden

• Problem: Jeder Markierung muss genau ein

Fortschrittswert zugeordnet werden

Page 27: Universität Augsburg Institut für Informatik Lehrstuhl für Softwaretechnik und Programmiersprachen Theoretische Informatik Prof. Dr. Walter Vogler Jannis

Universität AugsburgInstitut für InformatikLehrstuhl für Softwaretechnik und ProgrammiersprachenTheoretische InformatikProf. Dr. Walter Vogler

Seminar Petrinetze, 9.5.2005Jannis Hermanns

4. Inkrementelles Fortschrittsmaß

• Lässt sich eine Markierung durch zwei verschiedene Schaltfolgen erzeugen, müssen die Summen der Abstände beider Schaltfolgen gleich sein

• Sei M[wM‘ und M[w‘M‘ undparikh(w)parikh(w‘) sowie w=t1...tn und w‘=tn+1...tm

• Dann ist mindestens eine Transition in {t1,...,tm}

linear abhängig von den restlichen

Page 28: Universität Augsburg Institut für Informatik Lehrstuhl für Softwaretechnik und Programmiersprachen Theoretische Informatik Prof. Dr. Walter Vogler Jannis

Universität AugsburgInstitut für InformatikLehrstuhl für Softwaretechnik und ProgrammiersprachenTheoretische InformatikProf. Dr. Walter Vogler

Seminar Petrinetze, 9.5.2005Jannis Hermanns

4. Inkrementelles Fortschrittsmaß

• Diese lineare Abhängigkeit ist zentrale Eigenschaft der automatischen Berechnung eines Fortschrittsmaßes:1. Bestimmung einer maximale Teilmenge U von

linear unabhängigen Transitionen

2. Definieren der Abstände der Transitionen in U

3. Berechnung der Abstände der restlichen Transitionen

Page 29: Universität Augsburg Institut für Informatik Lehrstuhl für Softwaretechnik und Programmiersprachen Theoretische Informatik Prof. Dr. Walter Vogler Jannis

Universität AugsburgInstitut für InformatikLehrstuhl für Softwaretechnik und ProgrammiersprachenTheoretische InformatikProf. Dr. Walter Vogler

Seminar Petrinetze, 9.5.2005Jannis Hermanns

4. Inkrementelles Fortschrittsmaß

• Transitionen in U sind

linear unabhängig, ihre

Abstände deshalb

beliebig wählbar

• Abstände der restlichen

Transitionen lassen sich

jetzt leicht berechnen!

Page 30: Universität Augsburg Institut für Informatik Lehrstuhl für Softwaretechnik und Programmiersprachen Theoretische Informatik Prof. Dr. Walter Vogler Jannis

Universität AugsburgInstitut für InformatikLehrstuhl für Softwaretechnik und ProgrammiersprachenTheoretische InformatikProf. Dr. Walter Vogler

Seminar Petrinetze, 9.5.2005Jannis Hermanns

4. Inkrementelles Fortschrittsmaß

• Wir wissen: alle tU

sind linear abhängig

von t1,...,tnU

• Also gilt:

∆t= 1∆t1+...+n∆tn

• Als Abstand für t ergibt

sich

o(t)= 1o(t1)+...+ no(∆tn)

Page 31: Universität Augsburg Institut für Informatik Lehrstuhl für Softwaretechnik und Programmiersprachen Theoretische Informatik Prof. Dr. Walter Vogler Jannis

Universität AugsburgInstitut für InformatikLehrstuhl für Softwaretechnik und ProgrammiersprachenTheoretische InformatikProf. Dr. Walter Vogler

Seminar Petrinetze, 9.5.2005Jannis Hermanns

4. Inkrementelles Fortschrittsmaß

• Dieses Fortschrittsmaß ist leicht zu

berechnen und einfach zu handhaben

• Allerdings ist die Berechnung in zwei

Punkten nicht deterministisch:

1. Wahl von U

2. Wahl der Abstände der Transitionen in U

Page 32: Universität Augsburg Institut für Informatik Lehrstuhl für Softwaretechnik und Programmiersprachen Theoretische Informatik Prof. Dr. Walter Vogler Jannis

Universität AugsburgInstitut für InformatikLehrstuhl für Softwaretechnik und ProgrammiersprachenTheoretische InformatikProf. Dr. Walter Vogler

Seminar Petrinetze, 9.5.2005Jannis Hermanns

4. Inkrementelles Fortschrittsmaß

• Negative Abstände sind schlecht

• Jeder Zustand, der durch eine Transition mit negativem Abstand erreicht wird, muss gespeichert werden

• Je mehr Transitionen mit negativem Abstand, desto geringer die Speicherplatzersparnis

Page 33: Universität Augsburg Institut für Informatik Lehrstuhl für Softwaretechnik und Programmiersprachen Theoretische Informatik Prof. Dr. Walter Vogler Jannis

Universität AugsburgInstitut für InformatikLehrstuhl für Softwaretechnik und ProgrammiersprachenTheoretische InformatikProf. Dr. Walter Vogler

Seminar Petrinetze, 9.5.2005Jannis Hermanns

5. Geometrische Interpretation

• Für n linear unabhängige Transitionen lässt sich das Fortschrittsmaß als n-dimensionales Koordinatensystem verstehen

• Jeder erreichbare Markierung entspricht einem Punkt

• ∆t wird als Vektor betrachtet: M[tM‘ wird verstanden als die Verschiebung des Punktes M durch den Vektor t auf den Punkt M‘

Page 34: Universität Augsburg Institut für Informatik Lehrstuhl für Softwaretechnik und Programmiersprachen Theoretische Informatik Prof. Dr. Walter Vogler Jannis

Universität AugsburgInstitut für InformatikLehrstuhl für Softwaretechnik und ProgrammiersprachenTheoretische InformatikProf. Dr. Walter Vogler

Seminar Petrinetze, 9.5.2005Jannis Hermanns

5. Geometrische Interpretation

Page 35: Universität Augsburg Institut für Informatik Lehrstuhl für Softwaretechnik und Programmiersprachen Theoretische Informatik Prof. Dr. Walter Vogler Jannis

Universität AugsburgInstitut für InformatikLehrstuhl für Softwaretechnik und ProgrammiersprachenTheoretische InformatikProf. Dr. Walter Vogler

Seminar Petrinetze, 9.5.2005Jannis Hermanns

6. Optimierungsmöglichkeiten

• Vorgehensweise zur automatischen Berechnung von p() ist in zwei Punkten nicht deterministisch:

1. Wahl von U

2. Abstände von Transitionen in U

• Kann man so die Qualität von p() beeinflussen?

Page 36: Universität Augsburg Institut für Informatik Lehrstuhl für Softwaretechnik und Programmiersprachen Theoretische Informatik Prof. Dr. Walter Vogler Jannis

Universität AugsburgInstitut für InformatikLehrstuhl für Softwaretechnik und ProgrammiersprachenTheoretische InformatikProf. Dr. Walter Vogler

Seminar Petrinetze, 9.5.2005Jannis Hermanns

6. Optimierungsmöglichkeiten

Page 37: Universität Augsburg Institut für Informatik Lehrstuhl für Softwaretechnik und Programmiersprachen Theoretische Informatik Prof. Dr. Walter Vogler Jannis

Universität AugsburgInstitut für InformatikLehrstuhl für Softwaretechnik und ProgrammiersprachenTheoretische InformatikProf. Dr. Walter Vogler

Seminar Petrinetze, 9.5.2005Jannis Hermanns

6. Optimierungsmöglichkeiten

Page 38: Universität Augsburg Institut für Informatik Lehrstuhl für Softwaretechnik und Programmiersprachen Theoretische Informatik Prof. Dr. Walter Vogler Jannis

Universität AugsburgInstitut für InformatikLehrstuhl für Softwaretechnik und ProgrammiersprachenTheoretische InformatikProf. Dr. Walter Vogler

Seminar Petrinetze, 9.5.2005Jannis Hermanns

6. Optimierungsmöglichkeiten

Page 39: Universität Augsburg Institut für Informatik Lehrstuhl für Softwaretechnik und Programmiersprachen Theoretische Informatik Prof. Dr. Walter Vogler Jannis

Universität AugsburgInstitut für InformatikLehrstuhl für Softwaretechnik und ProgrammiersprachenTheoretische InformatikProf. Dr. Walter Vogler

Seminar Petrinetze, 9.5.2005Jannis Hermanns

6. Optimierungsmöglichkeiten

• U sollte so gewählt werden, dass möglichst

viele Transitionen einen kleinen positiven,

möglichst wenige einen großen negativen

Abstand erhalten

• Beides konnte aber noch nicht als lineares

Optimierungsproblem formuliert werden

• Future research!

Page 40: Universität Augsburg Institut für Informatik Lehrstuhl für Softwaretechnik und Programmiersprachen Theoretische Informatik Prof. Dr. Walter Vogler Jannis

Universität AugsburgInstitut für InformatikLehrstuhl für Softwaretechnik und ProgrammiersprachenTheoretische InformatikProf. Dr. Walter Vogler

Seminar Petrinetze, 9.5.2005Jannis Hermanns

7. Kombination mit anderen Reduktionstechniken

• Nicht mit allen Reduktionstechniken für

Zustandsräume kompatibel

• Tiefensuche macht Anwenden der S-L-

M sinnlos (warum?)

• Besonders effektiv im Zusammenspiel

mit „Partial-Order-Reduction“

Page 41: Universität Augsburg Institut für Informatik Lehrstuhl für Softwaretechnik und Programmiersprachen Theoretische Informatik Prof. Dr. Walter Vogler Jannis

Universität AugsburgInstitut für InformatikLehrstuhl für Softwaretechnik und ProgrammiersprachenTheoretische InformatikProf. Dr. Walter Vogler

Seminar Petrinetze, 9.5.2005Jannis Hermanns

7. Kombination mit anderen Reduktionstechniken

PH5 PH10 PH12

Kompletter Zustandsraum

Zustände 242 59048 531440

Gefeuerte Transitionen 805 393650 4251516

Zeit (Sekunden) 0,1 5,8 71,0

Sweep-Line Methode

Anzahl Iterationen 3 3 3

Max. Anzahl von Zuständen 183 54122 502378

Anzahl persistenter Zustände 169 53299 497969

Gefeuerte Transitionen 1544 720428 7710664

Zeit (Sekunden) 0,1 24,3 277,8

„Partial-Order“-reduzierter Zustandsraum

Zustände 272

Gefeuerte Transitionen 370

Zeit (Sekunden) 0,5

Sweep-Line Methode kombiniert Partial-Order-Reduction

Anzahl Iterationen 3

Page 42: Universität Augsburg Institut für Informatik Lehrstuhl für Softwaretechnik und Programmiersprachen Theoretische Informatik Prof. Dr. Walter Vogler Jannis

Universität AugsburgInstitut für InformatikLehrstuhl für Softwaretechnik und ProgrammiersprachenTheoretische InformatikProf. Dr. Walter Vogler

Seminar Petrinetze, 9.5.2005Jannis Hermanns

Vielen Dank für eure Aufmerksamkeit