![Page 1: Universität Augsburg Institut für Informatik Lehrstuhl für Softwaretechnik und Programmiersprachen Theoretische Informatik Prof. Dr. Walter Vogler Jannis](https://reader034.vdocuments.pub/reader034/viewer/2022042515/55204d6749795902118bca5c/html5/thumbnails/1.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022042515/55204d6749795902118bca5c/html5/thumbnails/2.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022042515/55204d6749795902118bca5c/html5/thumbnails/3.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022042515/55204d6749795902118bca5c/html5/thumbnails/4.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022042515/55204d6749795902118bca5c/html5/thumbnails/5.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022042515/55204d6749795902118bca5c/html5/thumbnails/6.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022042515/55204d6749795902118bca5c/html5/thumbnails/7.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022042515/55204d6749795902118bca5c/html5/thumbnails/8.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022042515/55204d6749795902118bca5c/html5/thumbnails/9.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022042515/55204d6749795902118bca5c/html5/thumbnails/10.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022042515/55204d6749795902118bca5c/html5/thumbnails/11.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022042515/55204d6749795902118bca5c/html5/thumbnails/12.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022042515/55204d6749795902118bca5c/html5/thumbnails/13.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022042515/55204d6749795902118bca5c/html5/thumbnails/14.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022042515/55204d6749795902118bca5c/html5/thumbnails/15.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022042515/55204d6749795902118bca5c/html5/thumbnails/16.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022042515/55204d6749795902118bca5c/html5/thumbnails/17.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022042515/55204d6749795902118bca5c/html5/thumbnails/18.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022042515/55204d6749795902118bca5c/html5/thumbnails/19.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022042515/55204d6749795902118bca5c/html5/thumbnails/20.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022042515/55204d6749795902118bca5c/html5/thumbnails/21.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022042515/55204d6749795902118bca5c/html5/thumbnails/22.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022042515/55204d6749795902118bca5c/html5/thumbnails/23.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022042515/55204d6749795902118bca5c/html5/thumbnails/24.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022042515/55204d6749795902118bca5c/html5/thumbnails/25.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022042515/55204d6749795902118bca5c/html5/thumbnails/26.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022042515/55204d6749795902118bca5c/html5/thumbnails/27.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022042515/55204d6749795902118bca5c/html5/thumbnails/28.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022042515/55204d6749795902118bca5c/html5/thumbnails/29.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022042515/55204d6749795902118bca5c/html5/thumbnails/30.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022042515/55204d6749795902118bca5c/html5/thumbnails/31.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022042515/55204d6749795902118bca5c/html5/thumbnails/32.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022042515/55204d6749795902118bca5c/html5/thumbnails/33.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022042515/55204d6749795902118bca5c/html5/thumbnails/34.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022042515/55204d6749795902118bca5c/html5/thumbnails/35.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022042515/55204d6749795902118bca5c/html5/thumbnails/36.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022042515/55204d6749795902118bca5c/html5/thumbnails/37.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022042515/55204d6749795902118bca5c/html5/thumbnails/38.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022042515/55204d6749795902118bca5c/html5/thumbnails/39.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022042515/55204d6749795902118bca5c/html5/thumbnails/40.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022042515/55204d6749795902118bca5c/html5/thumbnails/41.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022042515/55204d6749795902118bca5c/html5/thumbnails/42.jpg)
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