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.
3.8 Bestimmung der Schranke k<br />
Das Problem was bisher umgangen wurde ist die Wahl der Schranke k. Ausgehend<br />
von dem verwendeten Beispiel M |= k Ef wird für ein vorgegebenes<br />
k überprüft, ob die Bedingung erfüllt ist. Würde dann bei diesem k der Fall<br />
M ̸|= k Ef auftreten, so wird der Wert von k inkrementell erhöht. Dies kann<br />
potentiell zum Halteproblem führen, was bedeutet, die Prozedur terminiert nie.<br />
Diese Aussage würde zutreffen, wenn k potentiell unendlich groß werden könnte.<br />
Dies ist aber nicht möglich. Um nun aber Aussagen treffen zu können, ob<br />
die Schlussfolgerung M ̸|= k Ef zutrifft, also ob k nicht in dem ihm möglichen<br />
Intervall liegt, müssen Eingrenzungen für k getroffen werden.<br />
Die Behauptung, dass k in einem Intervall liegt ist relativ intuitiv. Die zugrundeliegende<br />
Struktur ist ein endlicher Automat mit endlich vielen Zuständen. Da<br />
nur endlich viele besucht werden können, kommen ab einer bestimmten Schranke<br />
k keine neuen Zustände mehr in die betrachtete Menge hinzu und es kann mit<br />
der Erhöhung der Schranke gestoppt werden. Also gilt als grobe Nährung, wenn<br />
M |= Ef gilt, dann muss die Schranke k ≤|M| sein. Hierbei ist |M| die Anzahl<br />
der Zustände der Kripke-Struktur. Das Problem was sich hierbei ergeben würde<br />
wäre, dass der Zustandsraum nicht bekannt ist und so auch nicht die betrachtete<br />
Anzahl an Zuständen. Auf Grund der booleschen Kodierung der Zustände ist es<br />
aber möglich die Anzahl an Zuständen nach oben zu begrenzen. Die maximale<br />
Anzahl an Zuständen einer Struktur wäre demnach 2 n , wobei n die Anzahl der<br />
booleschen Variablen darstellt.<br />
Bei Modellierung größerer <strong>Systeme</strong> ist es offensichtlich, dass diese Grenze zu<br />
groß gewählt ist (32-bit Register).<br />
Definition Diameter Ein Diameter einer Kripke-Struktur M ist die minimale<br />
Anzahl d ∈ N mit folgender Eigenschaft: Für jede Sequenz von Zuständen<br />
s 0 , ..., s d+1 mit (s i ,s i+1 ) ∈ T für i ≤ d, existiert eine Sequenz von Zuständen<br />
t 0 , ..., t l mit l ≤ d, so dass t 0 = s 0 , t l = s d+1 und (t j ,t j+1 ) ∈ T für j ≤ l gilt.<br />
Ist also ein Zustand v von einem Zustand u erreichbar, dann ist v auch über<br />
einen Pfad der Länge kleiner d ausgehend von u erreichbar.<br />
Für eine Formel f := EFp wäre dann M |= EFp erfüllt, wenn ein k ≤ d<br />
existiert, mit M |= k EFp.<br />
Der Diameter d ist die minimale Anzahl an zu untersuchenden Zuständen, die<br />
folgende Formel erfüllt:<br />
d∧<br />
∀s 0 , ..., s d+1 .∃t 0 , ..., t d . T (s i ,s i+1 ) → (t 0 = s 0 ∧ d−1 ∧<br />
∨<br />
T (t i ,t i+1 ∧ d t i = s d+1 )<br />
i=0<br />
13<br />
i=0<br />
i=0<br />
s i = s d+1<br />
i=0<br />
Definition Rekurrenz-Diameter Hierunter versteht man die kleinste Zahl<br />
d ∈ N mit folgender Eigenschaft. Für jede Sequenz von Zuständen s 0 , ..., s d+1<br />
mit (s i ,s i+1 ) ∈ T für i ≤ d existiert ein j ≤ d, so dass s d+1 = s j gilt.<br />
Sei nun eine Formel f mit Rekurrenz-Diameter d gegeben dann gilt M |= Ef<br />
genau dann, wenn ein k ≤ d existiert, mit M |= k Ef.<br />
Der Rekurrenz-Diameter d ist die minimale Anzahl die folgende Formel erfüllt:<br />
∀s 0 , ..., s d+1 .<br />
d∧<br />
∨<br />
T (s i ,s i+1 ) → d<br />
i=0