13.04.2013 Aufrufe

Blatt 3 (PDF) - Universität Kassel

Blatt 3 (PDF) - Universität Kassel

Blatt 3 (PDF) - Universität Kassel

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

<strong>Universität</strong> <strong>Kassel</strong> SS 2010<br />

FB Elektrotechnik/Informatik<br />

FG Formale Methoden und Verifikation<br />

Prof. Dr. M. Lange 20.5.10<br />

Übungen zur Vorlesung<br />

Grundlagen der Programmsicherheit<br />

<strong>Blatt</strong> 3<br />

Aufgabe 8: Betrachte die folgenden drei Transitionssysteme.<br />

p, q<br />

s1<br />

s3<br />

s5<br />

T1<br />

p p, q<br />

s2<br />

p, q<br />

s4<br />

s6<br />

t1<br />

t3<br />

T2<br />

p p, q<br />

p p, q<br />

p, q<br />

t2<br />

t4<br />

t5 t6 u5 u6<br />

a) Entscheide zu jedem Paar dieser Transitionssysteme, ob sie bisimilar sind oder nicht. Gib im Fall, dass<br />

sie es sind, jeweils eine Bisimulation zwischen ihnen an.<br />

b) Berechne für jedes dieser Transitionssysteme den Bisimulationsquotienten.<br />

Aufgabe 9: Wir betrachten ein System, welches aus drei parallelen Komponenten P1,P2,Q besteht. Diese<br />

sehen wie folgt aus.<br />

s3<br />

¯ b<br />

ā<br />

a<br />

s0<br />

s1<br />

s2<br />

b<br />

ā<br />

P1<br />

key1<br />

acc1<br />

¯ b<br />

ā<br />

s4<br />

t3<br />

b<br />

t0<br />

t1<br />

t2<br />

¯ b<br />

a<br />

¯ b ā<br />

ā<br />

P2<br />

key2<br />

acc2<br />

¯ b<br />

t4<br />

p, q<br />

u0<br />

u2<br />

p, q<br />

ā<br />

a<br />

ā<br />

a<br />

u1<br />

u3<br />

b ¯b b<br />

Q<br />

u1<br />

u3<br />

T3<br />

¯ b<br />

q<br />

u2<br />

p, q<br />

u4


a) Gib das Transitionsystem T an, welches aus der parallelen Komposition dieser drei Komponenten<br />

entsteht. Zur Erinnerung: Ist eine x-Transition in einer Komponente möglich, so ist diese auch im<br />

Produkt möglich, wobei die anderen Komponenten ihren Zustand nicht ändern. Sind in zwei Komponente<br />

jeweils eine x- und eine ¯x-Transition möglich, so können diese im Produkt zu einer τ-Transition<br />

verschmelzen. Die dritte Komponente bleibt davon unberührt.<br />

b) Betrachte nun die Invariante ϕ1 = “niemals gilt acc1 und acc2 und q”. Zeige mithilfe des Algorithmus<br />

aus der Vorlesung zur Verifikation von Invarianten, dass T |= ϕ1 gilt.<br />

c) Der Grund dafür, dass die Invariante aus (b) nicht erüllt ist, ist der, dass P1 und P2 einfach einzeln<br />

ihre Schritte zu s2 bzw. t2 machen können, ohne sich mit der dritten Komponente Q, die eigentlich als<br />

Controller fungieren soll, zu synchronisieren.<br />

Lässt sich eine Safety-Eigenschaft finden, die anhand von Auftreten von key1 und key2 besagt, dass<br />

es niemals möglich ist, dass beide Pi in den jeweiligen Zustand, in dem acci gilt, gelangen und die<br />

dahinführenden Transitionen aber mit der Controller-Komponente Q synchronisiert wurden? Wenn ja,<br />

dann gib solch eine Eigenschaft ϕ3 sowie den NFA, der die dazugehörigen schlechten Präfixe erkennt,<br />

an.<br />

d) Betrachte nun die Liveness-Eigenschaft ϕ2 = “irgendwann einmal gilt acc1 und q und nicht key2”.<br />

Erkläre, warum T |= ϕ2 gilt.<br />

e) Lassen sich geeignete Fairness-Constraints F finden, so dass T |=F ϕ2 gilt? Schränken diese die<br />

modellierten Läufe auf sinnvolle oder weniger sinnvolle Weise ein?

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!