Verifikation reaktiver Systeme - Universität Kaiserslautern
Verifikation reaktiver Systeme - Universität Kaiserslautern
Verifikation reaktiver Systeme - Universität Kaiserslautern
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
1.3 Automatenformeln<br />
Sei A =(Σ,S, I, R) ein Semiautomat. Da sowohl das Alphabet Σ, alsauch<br />
die Menge der Zustände S endlich ist, können sie jeweils durch eine endliche<br />
Menge von aussagenlogischen Variablen kodiert werden. Sei also Σ =2 VΣ mit<br />
V Σ = {i 0 ,...i n }.AnalogseiS =2 VS mit V S = {q 0 ,...q m }. Damit sind Zustände<br />
Teilmengen von V S und Buchstaben Teilmengen von V Σ . Man kann solche Teilmengen<br />
einer Menge V von aussagenlogischen Variablen als Belegung interpretieren,<br />
die alle in der Menge vorkommenden Variablen mit TRUE und alle nicht<br />
vorkommenden Variablen mit FALSE belegt. Damit lassen sich Mengen solcher<br />
Teilmengen, also z. B. die Menge I der Initialzustände, durch eine aussagenlogische<br />
Formel ϕ kodieren, indem die Menge der Belegungen betrachtet wird, die<br />
ϕ erfüllen.<br />
Beispiel 3. Sei A =(Σ,S, I, R) der Semiautomat aus Beispiel 1, also der Semiautomat<br />
mit:<br />
– Σ = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}<br />
– S = {s 0 ,s 1 ,s 2 }<br />
– I = {s 0 }<br />
– R = {(s i ,j,s k ) | i + j ≡ k mod 3}<br />
Dann lassen sich die 10 Buchstaben von Σ durch 4 aussagenlogische Variablen<br />
i 0 ,i 1 ,i 2 und i 3 kodieren. Dabei soll die Binärdarstellung der Ziffern verwendet<br />
werden. Z. B. entspricht 6 der Menge {i 1 ,i 2 } oder 9 der Menge {i 0 ,i 3 }.Die3<br />
Zustände von A lassen sich durch 2 Variablen q 0 und q 1 kodieren. s 0 werde durch<br />
∅, s 1 durch {q 0 } und s 2 durch {q 1 } kodiert. Mit diesen Setzungen wird I durch<br />
die Formel ¬q 0 ¬q 1 kodiert.<br />
Es fällt auf, dass durch die Kodierung zusätzliche Buchstaben (10, 11 ...15)<br />
und zusätzliche Zustände ({q 0 ,q 1 }) entstehen. Betrachtet man jedoch nur Wörter<br />
über dem ursprünglichen Alphabet und garantiert durch die Transitionsrelation,<br />
dass keine zusätzlichen Durchläufe existieren, so führt dies zu keinen Problemen.<br />
Auch die Transitionsrelation lässt sich durch eine aussagenlogische Formel ϕ<br />
kodieren. Dazu wird für jede Zustandsvariable q eine neue Variable eingeführt,<br />
die in Anlehnung an Schreibweisen aus der Temporallogik mit Xq bezeichnet<br />
wird. Für zwei Zustände s 1 ,s 2 ⊆ V S und einen Buchstaben σ ⊆ V Σ gelte<br />
(s 1 ,σ,s 2 ) ∈Rgenau dann, wenn ϕ von der mit der Variablenmenge s 1 ∪σ∪{Xq |<br />
q ∈ s 2 } assoziierten Belegung erfüllt wird.<br />
Beispiel 4. Sei A =(Σ,S, I, R) der Semiautomat aus Beispiel 3 mit den Kodierungen<br />
V Σ = {i 0 ,i 1 ,i 2 ,i 3 }, S = {q 0 ,q 1 } und ϕ I = ¬q 0 ¬q 1 .Umauchdie<br />
Transitionsrelation R durch eine Formel ϕ R zu kodieren, sollen zunächst die<br />
Mengen der Buchstaben kodiert werden, mit denen die Transitionen beschriftet<br />
sind (siehe Abb. 2).<br />
– {0, 3, 6, 9} wird kodiert durch ϕ 0 = ¬i 0 ¬i 1 ¬i 2 ¬i 3 ∨ i 0 i 1 ¬i 2 ¬i 3 ∨¬i 0 i 1 i 2 ¬i 3 ∨<br />
i 0 ¬i 1 ¬i 2 i 3<br />
163