1 Computergestützte Verifikation 3.5.2002. 2 Model Checking für finite state systems...
Transcript of 1 Computergestützte Verifikation 3.5.2002. 2 Model Checking für finite state systems...
![Page 1: 1 Computergestützte Verifikation 3.5.2002. 2 Model Checking für finite state systems explizit:symbolisch: 3.1: Tiefensuche 3.2: LTL-Model Checking 3.3:](https://reader033.fdocuments.us/reader033/viewer/2022051515/55204d6449795902118b9f76/html5/thumbnails/1.jpg)
1
Computergestützte Verifikation
3.5.2002
![Page 2: 1 Computergestützte Verifikation 3.5.2002. 2 Model Checking für finite state systems explizit:symbolisch: 3.1: Tiefensuche 3.2: LTL-Model Checking 3.3:](https://reader033.fdocuments.us/reader033/viewer/2022051515/55204d6449795902118b9f76/html5/thumbnails/2.jpg)
2
Model Checking für finite state systems
explizit: symbolisch:
3.1: Tiefensuche
3.2: LTL-Model Checking
3.3: CTL-Model Checking
3.5: Reduktion durch Symmetrie3.6: Partial Order Reduction
3.7: Tools
4.1: BDD-basiertes CTL-Model Checking
4.2: SAT-basiertes Model Checking
4.3: Tools
3.4: Fairness
Kapitel 3 Kapitel 4
![Page 3: 1 Computergestützte Verifikation 3.5.2002. 2 Model Checking für finite state systems explizit:symbolisch: 3.1: Tiefensuche 3.2: LTL-Model Checking 3.3:](https://reader033.fdocuments.us/reader033/viewer/2022051515/55204d6449795902118b9f76/html5/thumbnails/3.jpg)
3
Fazit 3.1 – 3.4
Explizites Model Checking basiert im wesentlichen auf Tiefensuche
Die Algorithmen sind extrem leichtgewichtig, arbeitenaber auf riesigen Graphen
wichtigstes Mittel zur Leistungssteigerung ist Verkleinerung des Transitionssystems
Dies ist Gegenstand der nächsten 2 Abschnitte
![Page 4: 1 Computergestützte Verifikation 3.5.2002. 2 Model Checking für finite state systems explizit:symbolisch: 3.1: Tiefensuche 3.2: LTL-Model Checking 3.3:](https://reader033.fdocuments.us/reader033/viewer/2022051515/55204d6449795902118b9f76/html5/thumbnails/4.jpg)
4
3.5 Symmetrie
Grundgedanke: symmetrisch strukturierte Systeme haben symmetrisches Verhalten
Quellen für Symmetrie:a) regelmäßig strukturierte Datentypenb) replizierte Komponenten im Gesamtsystem
Wenn Verhalten bei s bekannt und s’ symmetrisch zu s,braucht Verhalten bei s’ nicht mehr untersucht werden
technisch: Äquivalenzrelation; Quotienten-Transitionssystem
![Page 5: 1 Computergestützte Verifikation 3.5.2002. 2 Model Checking für finite state systems explizit:symbolisch: 3.1: Tiefensuche 3.2: LTL-Model Checking 3.3:](https://reader033.fdocuments.us/reader033/viewer/2022051515/55204d6449795902118b9f76/html5/thumbnails/5.jpg)
5
Agenda
1. Formale Definition: symmetrisches Verhalten
2. Konstruktion des Quotientensystems
3. Welche Eigenschaften bleiben erhalten?
4. Erkennung von Datenstruktursymmetrie
5. Erkennung von Komponentensymmetrie
![Page 6: 1 Computergestützte Verifikation 3.5.2002. 2 Model Checking für finite state systems explizit:symbolisch: 3.1: Tiefensuche 3.2: LTL-Model Checking 3.3:](https://reader033.fdocuments.us/reader033/viewer/2022051515/55204d6449795902118b9f76/html5/thumbnails/6.jpg)
6
3.5.1 Symmetrisches Verhalten
Basis: Transitionssystem
heißt Symmetrie, wenn: - ist Bijektion S S - s –e s’ gdw. ex. e’: (s) –e’(s’)-s I gdw. (s) I
mit Induktion:s0 s1 s2 ... Pfad in einem Transitionssystem (s0) (s1) (s2) ... ebenfalls
-Id ist immer Symmetrie-Wenn Symmetrie, so auch -1
-Wenn 1 und 2 Symmetrien, so auch 1 o 2
TS: Menge allerSymmetrien von TS
[TS,o] istGruppe
![Page 7: 1 Computergestützte Verifikation 3.5.2002. 2 Model Checking für finite state systems explizit:symbolisch: 3.1: Tiefensuche 3.2: LTL-Model Checking 3.3:](https://reader033.fdocuments.us/reader033/viewer/2022051515/55204d6449795902118b9f76/html5/thumbnails/7.jpg)
7
Zustandsäquivalenz
Analyse der Struktur liefert i.d.R. nicht alle Symmetrien,aber immer eine bzgl. Inversion und Komposition ab-geschlossene Menge von Symmetrien
ab jetzt betrachten wir immer eine beliebige Untergruppe TS
s ~ s’ gdw. es ex. mit (s) = s’
~ ist Äquivalenzrelation
![Page 8: 1 Computergestützte Verifikation 3.5.2002. 2 Model Checking für finite state systems explizit:symbolisch: 3.1: Tiefensuche 3.2: LTL-Model Checking 3.3:](https://reader033.fdocuments.us/reader033/viewer/2022051515/55204d6449795902118b9f76/html5/thumbnails/8.jpg)
8
3.5.2 reduziertes Transitionssystem
TS= [S/~ , E, I/~,*]
E = { [ [s],[s’] ] | ex. s [s], ex. s’ [s’] : [s,s’] E}
Größe des reduzierten Systems:
| S/~ | | S | / | |
| | kann exponentiell in der Zahl der Elemente einessymm. Datentyps bzw. exponentiell in der Anzahl derreplizierten Kompnenten sein
![Page 9: 1 Computergestützte Verifikation 3.5.2002. 2 Model Checking für finite state systems explizit:symbolisch: 3.1: Tiefensuche 3.2: LTL-Model Checking 3.3:](https://reader033.fdocuments.us/reader033/viewer/2022051515/55204d6449795902118b9f76/html5/thumbnails/9.jpg)
9
Beispiel 1
(i,i,1)
(r,i,1) (i,r,1)
(r,r,1)(c,i,0) (i,c,0)
(c,r,0) (r,c,0)
g1
= { Id, } ([x,y,z]) = [y,x,z]
![Page 10: 1 Computergestützte Verifikation 3.5.2002. 2 Model Checking für finite state systems explizit:symbolisch: 3.1: Tiefensuche 3.2: LTL-Model Checking 3.3:](https://reader033.fdocuments.us/reader033/viewer/2022051515/55204d6449795902118b9f76/html5/thumbnails/10.jpg)
10
Beispiel 1
(i,i,1)
(r,i,1)
(r,r,1)(c,i,0)
(c,r,0)
= { Id, } ([x,y,z]) = [y,x,z]
![Page 11: 1 Computergestützte Verifikation 3.5.2002. 2 Model Checking für finite state systems explizit:symbolisch: 3.1: Tiefensuche 3.2: LTL-Model Checking 3.3:](https://reader033.fdocuments.us/reader033/viewer/2022051515/55204d6449795902118b9f76/html5/thumbnails/11.jpg)
11
Beispiel 2
init(x) {0,1,2} x := (x + 1) mod 3
0
12
= {Id, 1, 2} 1(0) = 1, 1(1) = 2, 1(2) = 0 2(0) = 2, 2(1) = 0, 2(2) = 1
0
![Page 12: 1 Computergestützte Verifikation 3.5.2002. 2 Model Checking für finite state systems explizit:symbolisch: 3.1: Tiefensuche 3.2: LTL-Model Checking 3.3:](https://reader033.fdocuments.us/reader033/viewer/2022051515/55204d6449795902118b9f76/html5/thumbnails/12.jpg)
12
Konstruktion des red. TS
S := E := ø; dfs(i)
dfs(s)S := S {s};FOR ALL s’: [s,s’] E DO
IF es kann mit (s’) S gefunden werden THEN
E := E {[s, (s’) ]}; ELSE
E := E {[s, s’ ]}; dfs(s’);
ENDEND
approximativeLösungen
Das “Orbit-Problem”
![Page 13: 1 Computergestützte Verifikation 3.5.2002. 2 Model Checking für finite state systems explizit:symbolisch: 3.1: Tiefensuche 3.2: LTL-Model Checking 3.3:](https://reader033.fdocuments.us/reader033/viewer/2022051515/55204d6449795902118b9f76/html5/thumbnails/13.jpg)
13
3.5.3 Welche Eigenschaften bleiben erhalten?
Eigentlich: Wie muß ich wählen, damit gegebene Formelerhalten bleibt?
Brauchen: TS gdw. TS/~
![Page 14: 1 Computergestützte Verifikation 3.5.2002. 2 Model Checking für finite state systems explizit:symbolisch: 3.1: Tiefensuche 3.2: LTL-Model Checking 3.3:](https://reader033.fdocuments.us/reader033/viewer/2022051515/55204d6449795902118b9f76/html5/thumbnails/14.jpg)
14
Symmetrische Propositionen
Hinreichend: Jede elementare Zustandsaussageist insensitiv bzgl. , d.h wenn s , so (s) für alle
Satz: wenn alle verwendeten Zustandsaussagen insensitivbzgl. Symmetrie sind, dann gilt jede CTL*-Formel in TS/~gdw. sie in TS gilt.
Bsp: G (pc1 “critical” pc2 “critical”)
“atomar”
![Page 15: 1 Computergestützte Verifikation 3.5.2002. 2 Model Checking für finite state systems explizit:symbolisch: 3.1: Tiefensuche 3.2: LTL-Model Checking 3.3:](https://reader033.fdocuments.us/reader033/viewer/2022051515/55204d6449795902118b9f76/html5/thumbnails/15.jpg)
15
Symmetrische Propositionen
“alle elementaren Zustandsaussagen sind symmetrisch”kann dahingehend aufgeweicht werden, daß man diedurch die Assoziativität und Kommutativität von und, oder,, und eingeführte Symmetrie mit beachtet.
Tools: Symmetriegruppe wird so weit eingeschränkt, daßSymmetrie gesichert ist
![Page 16: 1 Computergestützte Verifikation 3.5.2002. 2 Model Checking für finite state systems explizit:symbolisch: 3.1: Tiefensuche 3.2: LTL-Model Checking 3.3:](https://reader033.fdocuments.us/reader033/viewer/2022051515/55204d6449795902118b9f76/html5/thumbnails/16.jpg)
16
3.5.4 Symmetrie in DatentypenFall 1: Skalare Datentypen
-Menge D von Werten- nur = , in Guards - := (Zuweisung)- als Indexmenge von (einfachen) Arrays anderer Datentypen- Schleifen der Form FOR ALL x D DO ... - choose(x)- keine Konstanten
Seien x1 , ... , xn alle Variablen eines skalaren Datentyps D, eine Belegung dieser Variablen mit Werten, und eine Permutation auf D.
Setzen zu einer Symmetrie fort
![Page 17: 1 Computergestützte Verifikation 3.5.2002. 2 Model Checking für finite state systems explizit:symbolisch: 3.1: Tiefensuche 3.2: LTL-Model Checking 3.3:](https://reader033.fdocuments.us/reader033/viewer/2022051515/55204d6449795902118b9f76/html5/thumbnails/17.jpg)
17
Symmetrie in Datentypen
(s) : (s)(x) = (s(x)), falls x vom Typ D (s)(x[(i)]) = s(x[i]) , falls x array mit D als Indexmenge (s)(x) = s(x), sonst
Beispiel: D = {1,2,3,4} : 1 2 2 4 3 3 4 1
s: x1 = 1 x2 = 3 x3 = “hallo” x4[1] = A x4[2] = B x4[3] = C x4[4] = C
(s): x1 = 2 x2 = 3 x3 = “hallo” x4[1] = C x4[2] = A x4[3] = C x4[4] = B
![Page 18: 1 Computergestützte Verifikation 3.5.2002. 2 Model Checking für finite state systems explizit:symbolisch: 3.1: Tiefensuche 3.2: LTL-Model Checking 3.3:](https://reader033.fdocuments.us/reader033/viewer/2022051515/55204d6449795902118b9f76/html5/thumbnails/18.jpg)
18
Nachweis der Symmetrieeigenschaft
1. Alle Terme anderer Datentypen liefern in s und (s) die gleichen Werte
Beispiel: D = {1,2,3,4} : 1 2 2 4 3 3 4 1
s: x1 = 1 x2 = 3 x3 = “hallo” x4[1] = A x4[2] = B x4[3] = C x4[4] = C
(s): x1 = 2 x2 = 3 x3 = “hallo” x4[1] = C x4[2] = A x4[3] = C x4[4] = B
x3 x4[x1]
2. Wenn ein Term in s den Wert d D liefert, so liefert er in (s) den Wert (d) x1 x2
3. Ausdrücke sind wahr in s gdw. in (s) x1 = x2 x4[x1] A
4. Zuweisungen erhalten Eigenschaften 1-3
Also: Wenn s s’, so (s) (s’)
![Page 19: 1 Computergestützte Verifikation 3.5.2002. 2 Model Checking für finite state systems explizit:symbolisch: 3.1: Tiefensuche 3.2: LTL-Model Checking 3.3:](https://reader033.fdocuments.us/reader033/viewer/2022051515/55204d6449795902118b9f76/html5/thumbnails/19.jpg)
19
Das Orbit-Problem
geg.: Zustand s, Zustandsmenge S, Symmetriegruppe Frage: gibt es ein mit (s) S ?
Lösung (meistens): kanonische Repräsentanten
= ein speziell ausgezeichneter, leicht berechenbarer Vertreter der eigenen Äquivalenzklasse
-in S werden nur kanonische Repräsentanten gespeichert- Orbitproblem reduziert sich zu: canrep(s) S?
![Page 20: 1 Computergestützte Verifikation 3.5.2002. 2 Model Checking für finite state systems explizit:symbolisch: 3.1: Tiefensuche 3.2: LTL-Model Checking 3.3:](https://reader033.fdocuments.us/reader033/viewer/2022051515/55204d6449795902118b9f76/html5/thumbnails/20.jpg)
20
Implementation von canrep aufskalaren Datentypen
Kanonischer Repräsentant = lexikographisch kleinster Vertreter seiner Klasse
x1 = 1 x2 = 3 x3 = “hallo” x4[1] = A x4[2] = B x4[3] = C x4[4] = C
x1 = 2 x2 = 3 x3 = “hallo” x4[1] = C x4[2] = A x4[3] = C x4[4] = B
<
x1 = 11 1x2 = 23 2x3 = “hallo”
x4[1] = Ax4[2] = Cx4[3] = B
2 34 4
x4[4] = C
x1 = 1 2 1x2 = 2 3 2x3 = “hallo”x4[1] = Ax4[2] = Cx4[3] = B
4 31 4
x4[4] = C Sortieren
![Page 21: 1 Computergestützte Verifikation 3.5.2002. 2 Model Checking für finite state systems explizit:symbolisch: 3.1: Tiefensuche 3.2: LTL-Model Checking 3.3:](https://reader033.fdocuments.us/reader033/viewer/2022051515/55204d6449795902118b9f76/html5/thumbnails/21.jpg)
21
Symmetrie in Datentypen
Fall 2: wie skalare Datentypen, mit zusätzlichen Operationen INCR(x) und DECR(x), die wie Addition/Subtraktion von 1 modulo n funktioniert
Nur Rotationen (= Permutationen der Form ai a(i+k) mod n)generieren Symmetrien.
andere Permutationen liefern potenziell unverträgliche Wertefür Terme der Form INCR(x)
Beispiel: s: x1 = 2 : 1 2 2 1 3 3 4 4
(s): x1 = 1
INCR(x1) = 3 INCR(x1) = 2 (3)
![Page 22: 1 Computergestützte Verifikation 3.5.2002. 2 Model Checking für finite state systems explizit:symbolisch: 3.1: Tiefensuche 3.2: LTL-Model Checking 3.3:](https://reader033.fdocuments.us/reader033/viewer/2022051515/55204d6449795902118b9f76/html5/thumbnails/22.jpg)
22
Letzte Folie zu Symmetrie in Datentypen
prinzipiell könnte man die Liste der Datentypen erweitern
Tools nutzen meist nur skalare Typen
Methode der kanonischen Repräsentanten ist effizient
Der Nutzer ist dafür verantwortlich, die Datentypen geeignet zu wählen und damit die Symmetrie dem Toolzu vermitteln
Man kann auch mehrere Skalar- und Rotationstypengleichzeitig handhaben
![Page 23: 1 Computergestützte Verifikation 3.5.2002. 2 Model Checking für finite state systems explizit:symbolisch: 3.1: Tiefensuche 3.2: LTL-Model Checking 3.3:](https://reader033.fdocuments.us/reader033/viewer/2022051515/55204d6449795902118b9f76/html5/thumbnails/23.jpg)
23
3.5.5 Komponentensymmetrie
Basis: System, das aus mehreren identischen Komponenten P1, ...., Pn besteht
d.h. Variablen sind global oder lokal (d.h. mit einer Instanz pro Komponente)
Jede lokale Aktion kann gleichwertig für eine beliebige Komponente ausgeführt werden a[P]
Nichtlokale Aktionen betreffen ggf. mehrere Komponenten(z.B. Senden von Nachrichten) a[P,P’]
Nichtlokale Aktionen müssen nicht notwendigerweisefür alle Paare/Tripel ... von Komponenten ausführbar sein(z.B. Senden nur zwischen Komponenten, die durch einenNachrichtenkanal verbunden sind)
![Page 24: 1 Computergestützte Verifikation 3.5.2002. 2 Model Checking für finite state systems explizit:symbolisch: 3.1: Tiefensuche 3.2: LTL-Model Checking 3.3:](https://reader033.fdocuments.us/reader033/viewer/2022051515/55204d6449795902118b9f76/html5/thumbnails/24.jpg)
24
Komponentensymmetrie
Symmetrie wird realisiert durch Permutieren der lokalenZustände zwischen den Komponenten
Die nichtlokalen Aktionen definieren die Kommunikationsstrukturdes Gesamtsystems
Die Kommunikationsstruktur kann als beschrifteter Graphabstrahiert werden (Knoten = Komponenten, Kanten mitAktionstyp beschriftet)
pc = “idle”x = 2
pc = “req”x = 3
pc = “idle”x = 5
pc = “idle”x = 5
pc = “idle”x = 2
pc = “req”x = 3
![Page 25: 1 Computergestützte Verifikation 3.5.2002. 2 Model Checking für finite state systems explizit:symbolisch: 3.1: Tiefensuche 3.2: LTL-Model Checking 3.3:](https://reader033.fdocuments.us/reader033/viewer/2022051515/55204d6449795902118b9f76/html5/thumbnails/25.jpg)
25
Formalisierung
Betrachten Permutationen : {P1,....,Pn} {P1,....,Pn}
(s): (s)(x) = s(x) (x global) (s)((P).x) = s(P.x) (x lokal)
Beschrifteter Graph: [V,E,c] E V x V, c: V E D
Damit wirklich das Verhalten symmetrisch wird, darf der lokaleZustand nur dann von P nach P’ verschoben werden, wennin P’ äquivalente nichtlokale Aktionen zu denen in Pmöglich sind
D.h., der Kommunikationsgraph muß erfüllen:
Wenn [v,v’] E, so [(v),(v’)] E und c([v,v’]) = c([(v),(v’)])
![Page 26: 1 Computergestützte Verifikation 3.5.2002. 2 Model Checking für finite state systems explizit:symbolisch: 3.1: Tiefensuche 3.2: LTL-Model Checking 3.3:](https://reader033.fdocuments.us/reader033/viewer/2022051515/55204d6449795902118b9f76/html5/thumbnails/26.jpg)
26
Graphautomorphismen
Eine Permutation s: V V heißt Graphautomorphismus,falls für alle v,v’ aus V gilt:1. c(v) = c((v))2. Wenn [v,v’] E, so [(v),(v’)] E und c([v,v’]) = c([(v),(v’)])
Graphautomorphismen des Kommunikationsgraphen induzierenSymmetrien eines Komponentensystems
Hinter allen Symmetrieansätzen stecken Graphautomorphismen,z.B. auch hinter Datentypsymmetrie:
1
2
4
3=
=
=
=
1
2
4
3=
=
=
=
incr
incrincr
incr
![Page 27: 1 Computergestützte Verifikation 3.5.2002. 2 Model Checking für finite state systems explizit:symbolisch: 3.1: Tiefensuche 3.2: LTL-Model Checking 3.3:](https://reader033.fdocuments.us/reader033/viewer/2022051515/55204d6449795902118b9f76/html5/thumbnails/27.jpg)
27
Graphautomorphismen als Grundlagefür Symmetrie
So gut wie alle Zusammenhänge lassen sich als Graphdarstellen
Wenn der Graph alle für das Systemverhalten relevantenInformationen enthält, dann lassen sich die Systemsymmetriengenau aus den Graphautomorphismen ableiten
Ab jetzt: betrachten Graphautomorphismen unabhängig vonihrer Herkunft
![Page 28: 1 Computergestützte Verifikation 3.5.2002. 2 Model Checking für finite state systems explizit:symbolisch: 3.1: Tiefensuche 3.2: LTL-Model Checking 3.3:](https://reader033.fdocuments.us/reader033/viewer/2022051515/55204d6449795902118b9f76/html5/thumbnails/28.jpg)
28
Komplexität des Automorphismenproblems
eng verwandt: Graphisomorphie NP
NPV
P
?
?Ein Graph kann exponentiellviele Automorphismen haben
![Page 29: 1 Computergestützte Verifikation 3.5.2002. 2 Model Checking für finite state systems explizit:symbolisch: 3.1: Tiefensuche 3.2: LTL-Model Checking 3.3:](https://reader033.fdocuments.us/reader033/viewer/2022051515/55204d6449795902118b9f76/html5/thumbnails/29.jpg)
29
Weiteres Vorgehen
1. ein bißchen Gruppentheorie, mit dem Ziel:
2. ein polynomiell großes Erzeugendensystem
3. Berechnung des Erzeugendensystems
4. Lösung des Orbit-Problems
![Page 30: 1 Computergestützte Verifikation 3.5.2002. 2 Model Checking für finite state systems explizit:symbolisch: 3.1: Tiefensuche 3.2: LTL-Model Checking 3.3:](https://reader033.fdocuments.us/reader033/viewer/2022051515/55204d6449795902118b9f76/html5/thumbnails/30.jpg)
30
Gruppentheorie
[G,o] ist Gruppe, wenn o assoziative Operation auf G ist,es ein neutrales Element e gibt, und jedes Element g ein Inverses g-1 hat.
Beispiele:
Menge der Graphautomorphismen mit Hintereinander-ausführung.
Menge der ganzen Zahlen mit Addition
Menge der positiven rationalen Zahlen mit Multiplikation
![Page 31: 1 Computergestützte Verifikation 3.5.2002. 2 Model Checking für finite state systems explizit:symbolisch: 3.1: Tiefensuche 3.2: LTL-Model Checking 3.3:](https://reader033.fdocuments.us/reader033/viewer/2022051515/55204d6449795902118b9f76/html5/thumbnails/31.jpg)
31
Untergruppen
U G heißt Untergruppe, wenn o nicht aus U herausführtund [U,o] Gruppe ist.
Beispiele: {Id}
Die durch k teilbaren ganzen Zahlen (k > 0) mit + diejenigen rationalen Zahlen, wo Zähler und Nenner Zweierpotenzen sind, mit Multiplikation
![Page 32: 1 Computergestützte Verifikation 3.5.2002. 2 Model Checking für finite state systems explizit:symbolisch: 3.1: Tiefensuche 3.2: LTL-Model Checking 3.3:](https://reader033.fdocuments.us/reader033/viewer/2022051515/55204d6449795902118b9f76/html5/thumbnails/32.jpg)
32
Orbits
Jede Untergruppe U definiert eine Äquivalenzrelation auf G:
g ~U g’ gdw. g o g’-1 U
reflexiv: g o g-1 = e U
symmetrisch: Sei g o g’-1 = u U g’ o g-1 = (g o g’-1)-1 = u-1 U
transitiv: Sei g o g’-1 = u U und g’ o g’’-1 = u’ U g o g’’-1 = g o (g’-1 o g’) o g’’-1
= (g o g’-1) o (g’ o g’’-1) = u o u’ U
Klassen heißen Orbits Bsp: Restklassen modulo kx y mod k gdw. k | x - y
![Page 33: 1 Computergestützte Verifikation 3.5.2002. 2 Model Checking für finite state systems explizit:symbolisch: 3.1: Tiefensuche 3.2: LTL-Model Checking 3.3:](https://reader033.fdocuments.us/reader033/viewer/2022051515/55204d6449795902118b9f76/html5/thumbnails/33.jpg)
33
Orbits endlicher Gruppen
Alle Orbits haben gleich viele Elemente, nämlich |U|
Sei g G und Og der Orbit, in dem g liegt.Og = { g o u | u U}
(Ein Erzeugendensystem für) U + pro Orbit ein (beliebiges!) Element bilden zusammen ein Erzeugendensystem für G
Erzeugung ist in einem gewissen Sinne eindeutig:für jedes g’ Og gibt es genau ein u U mit g’ = g o u
![Page 34: 1 Computergestützte Verifikation 3.5.2002. 2 Model Checking für finite state systems explizit:symbolisch: 3.1: Tiefensuche 3.2: LTL-Model Checking 3.3:](https://reader033.fdocuments.us/reader033/viewer/2022051515/55204d6449795902118b9f76/html5/thumbnails/34.jpg)
34
Konzept für Erzeugendensystem
U1U2
U3 U1 U2 U3 ... Un = {e}
Eindeutige Darstellung:Jedes Element g von G besitzt genau eine Darstellungder Formg = g1 o g2 o... o gn mit gi aus einem der vonUi in U(i-1) generierten Orbit
![Page 35: 1 Computergestützte Verifikation 3.5.2002. 2 Model Checking für finite state systems explizit:symbolisch: 3.1: Tiefensuche 3.2: LTL-Model Checking 3.3:](https://reader033.fdocuments.us/reader033/viewer/2022051515/55204d6449795902118b9f76/html5/thumbnails/35.jpg)
35
Übung 1
Sei D = { a,b,c,d,e } ein skalarer Datentyp
Bestimme den kanonischen Repräsentanten von
s: x1 = “bla” x2[a] = 5 x2[b] = 3 x2[c] = 3 x2[d] = 4 x2[e] = 3 x3 = c x4 = b
![Page 36: 1 Computergestützte Verifikation 3.5.2002. 2 Model Checking für finite state systems explizit:symbolisch: 3.1: Tiefensuche 3.2: LTL-Model Checking 3.3:](https://reader033.fdocuments.us/reader033/viewer/2022051515/55204d6449795902118b9f76/html5/thumbnails/36.jpg)
36
Übung 2
Konstruiere das symmetrisch reduzierte Transitionssystemzu folgendem Programm
y1,y2: scalarset {1,2} pc1,pc2: {a,b,c} z: array {1,2} of boolean
pc1 = a choose(y1),pc1 := bpc1 = b y2 := y1, pc1 := cpc1 = c pc2 = c pc1 := a, pc2 := apc2 = a pc1 = c pc2 := bpc2 = b z[y2] := true, pc2 := c
init(z) := [false,false] init(pc1) = a init(pc2) = a
![Page 37: 1 Computergestützte Verifikation 3.5.2002. 2 Model Checking für finite state systems explizit:symbolisch: 3.1: Tiefensuche 3.2: LTL-Model Checking 3.3:](https://reader033.fdocuments.us/reader033/viewer/2022051515/55204d6449795902118b9f76/html5/thumbnails/37.jpg)
37
Übung 3
Bestimme alle Automorphismen des folgenden Graphen: