Im Folgenden wird lediglich die Funktion COMPUTE EU[l,u] n¨aher betrachtet, welche diejenigen Zust¨ande s ∈ S ermittelt, die Pr¨afix eines Pfades ˜s sind, der lediglich mit p markierte Z
Trang 1Mengen an Zust¨anden, in denen p bzw q gilt Die Funktion COMPUTE EU=0
be-rechnet die Zust¨ande, welche die TCTL-Formel E p U=0q erf¨ullen Das sind
dieje-nigen Zust¨ande, von denen aus ein Pfad ˜s existiert, der einen Zustand in Sqerreicht
und der auf dem Pfad nur Zust¨ande aus Spenth¨alt Zus¨atzlich muss die LatenzΛ dieses PfadesΛ(˜s) = 0 sein Somit kann die Funktion COMPUTE EU=0 wie folgt definiert werden:
COMPUTE EU=0(M, Sp, Sq) {
SN:= ∅;
DO
SR:= S N;
SA:= {s ∈ S | ∃s ∈ S N : s −→ sδ =0 ∈ R};
SN:= S q ∪ (S p ∩ S A);
UNTIL (SN = S R)
RETURN SN;
}
Die Funktion COMPUTE EG=0 berechnet die Zust¨ande, welche die TCTL-Formel EG=0 p erf¨ullen Das sind diejenigen Zust¨ande, die einen Pfad ˜ s besitzen, der lediglich Zust¨ande aus Sp beinhaltet und bei dem alle Zustands¨uberg¨ange die Zeitδ = 0 haben Mit anderen Worten: Es wird die Verfolgung eines Pfades
abge-brochen, sobald ein Zustands¨ubergang mitδ> 0 auftritt.
COMPUTE EG=0(M, Sp) {
SN:= S;
DO
SR:= S N;
SA:= {s ∈ S | ∃s ∈ S N : s −→ sδ =0 ∈ R};
SN:= S p ∩ S A;
UNTIL (SN = S R)
RETURN SN;
}
Mit Hilfe der Funktionen COMPUTE EU=0und COMPUTE EG=0lassen sich nun allgemeinere Zeitaspekte ¨uberpr¨ufen Diese lassen sich durch die Formeln
E p U [l,u] q und EG [l,u] p formulieren Dabei beschreiben [l,u] Zeitintervalle
in-nerhalb derer die Latenz liegen muss Im Folgenden wird lediglich die Funktion COMPUTE EU[l,u] n¨aher betrachtet, welche diejenigen Zust¨ande s ∈ S ermittelt, die
Pr¨afix eines Pfades ˜s sind, der lediglich mit p markierte Zust¨ande enth¨alt, und dessen letzter Zustand mit q markiert ist F¨ur die Latenz dieses Pfades ˜ s gilt l ≤Λ(˜s) ≤ u.
Die maximale Verz¨ogerungszeit eines Zustands¨ubergangs sei dabeiδmax
COMPUTE EU[l,u] (M, Sp, Sq, l, u) {
w : = u − l + 1;
i := 0;
IF ((w ≤ 0) ∨ (u ≤ 0))
RETURNF;
Trang 2FOR ( j : = 1; j ≤ min{w,δmax}; j := j + 1)
SA:= COMPUTE EU=0(M,S,{s ∈ S | ∃s ∈ S : s −→ sδ≥ j });
SI [ j] := COMPUTE EU=0(M,S p ,S q ∩ S A);
FOR ( j : = w + 1; j ≤δmax; j : = j + 1)
SI [ j] := ∅;
SI[δmax+ 1] := ∅;
SN:= COMPUTE EU=0(M,S p ,S q);
SR:= S N;
FOR (i : = 1;i ≤ u;i := i + 1)
FOR ( j : = 1; j ≤δmax; j : = j + 1)
SA:= {s ∈ S | ∃s ∈ S R : s δ= j
−→ s };
SI [ j] := S I [ j + 1] ∪ COMPUTE EU=0(S p ,S q ∩ S A);
SR:= S I[1];
IF (i ≤ w)
SR:= S R ∪ S N;
RETURN SR;
}
Zun¨achst wird die Gr¨oße w des betrachteten Intervall bestimmt Ist diese negativ
oder ist die obere Schranke negativ, wird die Funktionsberechnung mit einer
Feh-leranzeige beendet Anschließend erfolgt die Initialisierung der Mengen SI [k] mit
1≤ k ≤δmax+ 1 Dabei werden alle Mengen S I [k] mit k > w als leere Menge
initia-lisiert Nach jedem Schleifendurchlauf der ¨außeren FOREACH-Schleife gelten die folgenden Bedingungen:
s ∈ S I [ j] ⇔ ∃˜s = s 0
−→ ··· 0
−→ s −→ sδ ∧δ≥ j ∧ M, ˜s |=τE p U [i+ j − w ,i+ j −1]q
und
s ∈ S R ⇔ M,s |=τE p U [i+1 − w ,i] q Die zweite Bedingung garantiert, dass nach allen Schleifendurchl¨aufen (i = u) das
korrekte Ergebnis ermittelt wurde Der Beweis hierzu findet sich in [312]
Bestimmung minimaler Latenzen
F¨ur zeitbehaftete temporale Strukturen (engl Timed Temporal Structure, TTS) mit
exakten, diskreten Verz¨ogerungszeiten (T := Z≥0) l¨asst sich die minimale Latenz zwischen Zust¨anden bestimmen Dies bildet die Grundlage zur Bestimmung von
Antwortzeiten und Durchsatz Im Folgenden sei M : = (S,R,L) eine TTS nach
De-finition 2.5.2 auf Seite 89 mit exakten Verz¨ogerungszeiten Die maximale Verz¨oge-rungszeit eines Zustands¨ubergangs seiδmax Die minimale Latenz zwischen einer Zu-standsmenge SS ⊆ S und einer Zustandsmenge S E ⊆ S ist diejenige minimale Latenz
Λmin:=Λ(˜s), f¨ur die es einen Pfad ˜s := s0−→ ···δ 0 δ−→ s n −1 nmit(s0∈ S S ) ∧ (s n ∈ S E)
gibt Dabei istΛ(˜s) als∑n −1
i:=0δidefiniert Die minimale LatenzΛminist∞, falls kein
solcher Pfad existiert Sie ist null, falls SS ∩ S E = ∅ gilt.
Die Berechnung der minimalen Latenz kann dann wie folgt durchgef¨uhrt werden:
Trang 3TTS MINIMAL LATENCY(M, SS, SE){
n := 0;
SI [n] := COMPUTE EF=0(M,S E);
SD [n] := S I [n];
REPEAT
IF (SS ∩ S D [n] = ∅)
RETURN n;
n : = n + 1;
SA:=n
δ : =0{s ∈ S | ∃s ∈ S D [n −δ] : s −→ sδ ∈ R};
SD [n] := COMPUTE EU=0(M,¬S I [n − 1],¬S I [n − 1] ∩ S A);
SI [n] := S I [n − 1] ∪ S D [n];
UNTIL (n ≥δmax∧ S I [n] = S I [n −δmax])
RETURN∞;
}
Im Folgenden seien die Zust¨ande in SE mit p markiert, d h ∀s ∈ S E : L (s) = p.
Bei jedem Eintritt in die REPEAT-Schleife gelten die folgenden Eigenschaften:
0≤ i ≤ n ⇒ (s ∈ S I [i] ⇔ M,s |=τEF≤ i p) (5.13) und
0≤ i ≤ n ⇒ (s ∈ S D [i] ⇔ s ∈ (S I [i]\S I [i − 1])) (5.14)
Formel (5.13) besagt, dass man aus einem Zustand in SI [i] in h¨ochstens i
Zeiteinhei-ten einen Zustand in SEerreichen kann Formel (5.14) besagt, dass man aus einem
Zustand in SD [i] in genau i Zeiteinheiten einen Zustand in S Eerreichen kann
Die Funktion TTS MINIMAL LATENCY gibt die Latenz n zur¨uck, sobald SS ∩
SD [n] = ∅ gilt Mit anderen Worten: Sobald festgestellt wird, dass ein Zustand aus der
Startmenge einen Zustand in der Zielmenge in n Zeitschritten erreichen kann, wird
dieses als minimale Latenz ausgegeben Mit Formel (5.14) ist sichergestellt, dass es
auch keinen Pfad mit k¨urzerer Latenz gibt Wenn allerdings SI [n] = S I [n −δmax] f¨ur
ein n ≥δmaxist, so bedeutet dies nach Formel (5.13), dass kein Pfad aus SS zu SE
existiert Andernfalls m¨usste|S I [n]| > |S I [n −δmax]| sein.
5.4.2 Zeitbehaftete Automaten
Auch bei zeitbehafteten Automaten lassen sich viele Zeitanalyseprobleme als Er-reichbarkeitsproblem auf einer zeitbehafteten temporalen Struktur (TTS) definieren Wird ein zeitbehafteter Automat(I,S,s0,C,inv, f ) (siehe Definition 2.2.15 auf
Sei-te 49), mit Zustandsmenge S, als VerhalSei-tensmodell verwendet, so muss f¨ur die Er-reichbarkeitsanalyse noch die Teilmenge SR ⊆ S zu erreichender Zust¨ande gegeben
sein Das Erreichbarkeitsproblem besteht dann darin, zu bestimmen, ob mindestens
einer der Zust¨ande in SRinnerhalb vorgegebener Zeitschranken erreichbar ist
Um dieses Problem zu l¨osen muss zun¨achst der Zustandsraum eines
zeitbehafte-ten Automazeitbehafte-ten in Form einer TTS definiert werden: Gegeben sei ein zeitbehafteter Automat (I,S,s0,C,inv, f ), mit dem Eingabealphabet I, der Zustandsmenge S, dem
Trang 4Anfangszustand s0, der Menge der Zeitvariablen C, der Funktion inv : S → B(C),
die jedem Zustand s ∈ S eine Invarianteβ∈ B(C) zuweist, sowie der
¨Ubergangsre-lation f ⊆ S × B(C) × I × 2 C × S Die Beschr¨ankungenβ ∈ B(C) sind konjunktive
Formeln ¨uber atomare Beschr¨ankungen, also b0∧ b1··· ∧ b n Dabei haben die bidie
Form c ∼γ, mit c ∈ C,γ∈ Q und ∼∈ {≤,<,=,>,≥} Der momentane Wert einer
Zeitvariablen c ∈ C ergibt sich zuν(c) ∈ T mit T = R ≥0 Entsprechend beschreibt die Funktionνdie momentanen Werte aller Zeitvariablen
Der Zustandsraum ist durch eine markierte TTS M mit Zust¨anden QM be-schrieben, die ¨uber die Ausf¨uhrungssemantik zeitbehafteter Automaten (siehe Ab-schnitt 2.2.2) gegeben ist Die Zustands¨anderung aufgrund eines Zeitfortschritts
δ∈ T ist definiert mit:
(s,ν)−→ (s,δ∈T ν ) falls ∀c ∈ C,0 ≤δ ≤δ:ν(c) +δ |= inv(s)
Die neue Zeitstrukturνergibt sich zu∀c ∈C :ν (c) :=ν(c)+δ Eine
Zustands¨ande-rung aufgrund einer Eingabe i ∈ I ist definiert mit:
(s,ν) i ∈ I
−→ (s ,ν) fallsν|=β∧ν |= inv(s )
Der Zustands¨ubergang ist sβ,i,−→ s R , wobeiR die Menge der zur¨uck zu setzenden
Zeitvariablen darstellt Die aktualisierte Zeitstruktur ergibt sich zu:
ν (c) :=
0 f¨ur c ∈ R
ν(c) sonst
Der Anfangszustand ist gegeben durch q0:= (s0,ν0) mit ∀c ∈ C :ν0(c) := 0 Die
Markierungen der Zustands¨uberg¨ange sind dabei der Zeitfortschrittδ ∈ T bzw die
Eingabe i ∈ I.
Regionen
Die oben beschriebene zeitbehaftete temporale Struktur M mit Anfangszustand q0 besteht f¨urT = R≥0aus unendlich vielen Zust¨anden QMund unendlich vielen ¨
Uber-gangsbedingungen Somit ist M f¨ur die Anwendung von
TCTL-Modellpr¨ufungsver-fahren nicht geeignet Um zu einer endlichen Struktur zu gelangen, wird zun¨achst eine Abstraktion von der Zeit in den Zustands¨uberg¨angen vorgenommen, d h es
werden lediglich die Eingaben aus dem Eingabealphabet I betrachtet Eine solche
Abstraktion erh¨alt man, wenn man ¨Ubergangsfolgen der Form q −→ qδ∈T i ∈ I
−→ q durch einen einzelnen Zustands¨ubergang q =⇒ q i ersetzt Hierdurch entsteht eine TTS
M mit einer zu M identischen Zustandsmenge QM, d h M besitzt unendlich viele
Zust¨ande, allerdings nur noch endlich viele (|I|) Zustands¨ubergangsbedingungen.
Um die Anzahl der Zust¨ande ebenfalls zu beschr¨anken, wird eine stabile ¨ Aqui-valenzrelation∼ ¨uber die Zustandsmenge Q Mdefiniert Eine ¨Aquivalenzrelation ist stabil, wenn∀q ∼ p : (q i
=⇒ q ) ⇔ ∃p :(p i
=⇒ p ) ∧ (q ∼ p ) gilt
Trang 5Sei(I,S,s0,C,inv, f ) ein zeitbehafteter Automat und ∼ eine stabile
¨Aquivalenz-relation der Zustandsmenge QM Seien weiterhin QM ,1 und QM ,2zwei ¨ Aquivalenz-klassen aus der Relation∼, so gibt es genau dann einen Zustands¨ubergang q i
=⇒ q mit q ∈ Q M ,1 und q ∈ Q M ,2, wenn∀q ∈ Q M ,1:∃q ∈ Q M ,2 : q =⇒ q i Dies bedeutet,
dass bei der Erreichbarkeitsanalyse lediglich die ¨Aquivalenzklassen zu betrachten sind Dies kann durch die markierte TTS M beschrieben werden, deren Zust¨ande die
¨
Aquivalenzklassen aus der Relation∼ sind Eine ¨Aquivalenzklasse Q M ,kist Anfangs-zustand von der TTS M, wenn q0∈ Q M ,kist Die Markierung der Zustands¨uberg¨ange
sind die Symbole i ∈ I und M enth¨alt einen Zustands¨ubergang von ¨
Aquivalenzklas-se QM ,1 zu ¨Aquivalenzklasse QM ,2 , wenn ein Zustand q ∈ Q M ,1 und ein Zustand
q ∈ Q M ,2 existiert, f¨ur den M einen ¨ Ubergang q =⇒ q i besitzt.
Die obige Transformation von M zu M muss neben der Stabilit¨at der ¨ Aquiva-lenzrelation∼ auch garantieren, dass keine Zust¨ande aus S R mit Zust¨anden aus S \S R
zusammengefasst werden, da ansonsten das Erreichbarkeitsproblem f¨ur die Zust¨ande
in SRnicht auf der markierten TTS M gel¨ost werden kann Eine ¨Aquivalenzrelation
∼ auf Q M heißt auch SR-sensitiv, wenn f¨ur (s,ν) ∼ (s ,ν ) entweder s,s ∈ S Roder
s ,s ∈ S\S Rgilt Dies ist in dem folgenden Lemma beschrieben [7]
¨Aquiva-lenzrelation der Zustandsmenge QM Sei weiterhin SR ⊆ S, so dass die Relation ∼
sowohl stabil als auch SR-sensitiv ist, dann ist ein Zustand in SR genau dann erreich-bar, wenn eine ¨ Aquivalenzklasse QM ,k in der ¨ Aquivalenzrelation ∼ existiert, so dass
Q M ,k in der TTS M erreichbar ist und Q M ,k einen Zustand aus SR enth¨alt.
Was somit noch ben¨otigt wird, um f¨ur eine gegebene Zeitanforderung eine
endli-che TTS zu erzeugen, ist eine stabile und SR-sensitive ¨Aquivalenzrelation, welche die
Zustandsmenge QM beschr¨ankt Da die zu erreichenden Zust¨ande in SRw¨ahrend der
¨
Aquivalenzklassenbildung einfach zu ber¨ucksichtigen sind, wird hier lediglich die Konstruktion einer stabilen ¨Aquivalenzrelation f¨ur zeitbehaftete Automaten vorge-stellt Dabei ist zu beachten, dass die Zeitbeschr¨ankungenB(C) eines zeitbehafteten
Automaten diskret sind (γ ∈ Q, durch Multiplikation aller Zeitbeschr¨ankungen mit
dem kleinsten gemeinsamen Vielfachen aller Divisoren in den Zeitbeschr¨ankungen, erh¨alt man ganzzahlige Beschr¨ankungen)
Als n¨achstes werden die Zeitstrukturenν(c) ∈ R ≥0f¨ur alle Zeitvariablen c ∈ C
wie folgt aufgeteilt:ν(c) ist eine ganze Zahl, die sich durch Aufrunden ausν(c)
ergibt, w¨ahrend{ν(c)} den nicht ganzzahligen Rest beschreibt Weiterhin seiγmax(c)
die gr¨oßte Schranke f¨ur die Zeitvariable c ∈ C in einer Zeitbeschr¨ankungβ ∈ B(C)
bzw einer Invariante inv(s) eines Zustandes s Wie oben bereits erl¨autert istγmax(c)
ganzzahlig darstellbar Mit diesen Festlegungen l¨asst sich eine ¨Aquivalenzrelation
¨uber Zeitregionen definieren:
Zeitvariablen c ∈ C Die Regionen- ¨Aquivalenzν∼ν gilt, genau dann, wenn
al-le der folgenden Bedingungen erf¨ullt sind:
1 ∀c ∈ C : (ν(c) = ν ) ∨ ((ν(c) >γmax(c)) ∧ (ν (c) >γmax(c)))
Trang 62 ∀c1,c2∈ C : ((ν(c1) ≤γmax(c1)) ∧ (ν(c2) ≤γmax(c2))) ⇒
(({ν(c1)} ≤ {ν(c2)}) ⇔ ({ν (c1)} ≤ {ν (c2)}))
3 ∀c ∈ C : (ν(c) ≤γmax(c)) ⇒ (({ν(c)} = 0) ⇔ ({ν (c)} = 0))
Eine Zeitregion f¨ur einen zeitbehafteten Automaten (I,S,s0,C,inv, f ) ist eine
¨
Aquivalenzklasse von Zeitbewertungen aus der Regionen- ¨Aquivalenz ∼= Die
Zeit-region einer Zeitbewertungνwird im Folgenden mit[ν] bezeichnet Jede Zeitregion
kann dabei durch eine endliche Menge an Zeitbeschr¨ankungen charakterisiert wer-den
Beispiel 5.4.2 Betrachtet wird eine markierte zeitbehaftete temporale Struktur mit zwei Zeitvariablen c1und c2 Es giltγmax(c1) = 2 undγmax(c2) = 1 Die sich hieraus
ergebenden Zeitregionen sind in Abb 5.25 dargestellt Es gibt insgesamt 28 Zeit-regionen: Davon sind sechs Eckpunkte (z B [(0,1)]), 14 Liniensegment (z B [0 < c1= c2< 1]) und acht offene Regionen (z B [0 < c1< c2< 1]).
c2
0
1
c1
Abb 5.25 Zeitregionen f¨ur zwei Zeitvariablen c1und c2[7]
An diesem Beispiel kann man bereits erahnen, dass die Anzahl der Zeitregionen f¨ur endlich viele Zeitvariablen auch endlich ist Die maximale Anzahl m¨oglicher Zeitregionen ergibt sich zu|C|!·2 | C | ·∏c ∈ C (2·γmax(c)+2) (siehe z B [7]) Weiterhin
gilt: Wennβ eine Zeitbeschr¨ankung inB(C) des zeitbehafteten Automaten undν∼
νist, so giltν|=β, genau dann, wennν |=β Damit gilt:
[ν] |=β⇔ ∀ ˜ν∈ [ν] : ˜ν|=β Regionen- ¨Aquivalenz kann auf die Zustandsmenge QMerweitert werden, indem f¨ur(q,ν),(q ,ν ) ∈ Q Mgilt:(q,ν) ∼ = (q ,ν ) ⇔ ((q = q ) ∧ (ν∼ν)) Ein zentrales
Ergebnis hierbei ist, dass die Regionen- ¨Aquivalenz ∼= eine stabile ¨Aquivalenzrelation
auf QMist Somit kann die Regionen- ¨Aquivalenz verwendet werden, um eine TTS M mit endlicher Zustandsmenge Q M f¨ur einen zeitbehafteten Automaten zu konstruie-ren Die TTS M, die mittels der Regionen- ¨Aquivalenz konstruiert wurde, nennt man
Regionenautomat.
Trang 7Beispiel 5.4.3 Gegeben sei der zeitbehaftete Automat in Abb 5.26 Das Eingabeal-phabet ist I : = {i0,i1,i2,i3} und es gibt zwei Zeitvariablen c0und c1mitγmax(c0) = γmax(c1) = 1 Die Zeitbeschr¨ankungen in dem Automaten sorgen daf¨ur, dass der
Zu-stands¨ubergang von s2nach s3niemals auftreten kann Der resultierende Regionen-automat ist in Abb 5.27 dargestellt Dabei sind nur die von(s0,[0,0]) erreichbaren
Regionen dargestellt Die einzige erreichbare Zeitregion mit Zustand s2erf¨ullt die Zeitbedingung[c1= 1,c0> 1] Diese Zeitregion hat keine wegf¨uhrenden ¨Uberg¨ange.
i0,c0> 0, {c1}
s2
i2,c1> 0 ∧ c0< 1, ∅
i3,c0> 1, ∅
i0,c1< 1,{c1}
Abb 5.26 Zeitbehafteter Automat [7]
i0
i1
i1
i1
i3
i3
i3
i3
i3
i3
i3
i0
i0
i0
s0,[c0= c1 = 0]
s1,[0 = c1< c0 < 1] s1,[c1= 0,c0 = 1] s1,[c1= 0,c0> 1] s2,[1 = c1< c0]
s3,[c0> 1,c1 > 1]
s3,[1 = c1< c0]
s3,[0 < c1< 1 < c0]
s3,[0 < c1< c0 < 1]
Abb 5.27 Regionenautomat zu dem zeitbehafteten Automaten aus Abb 5.26 [7]
Zonen
Der Regionenautomat in Abb 5.27 startet im Zustand(s0,[c1= c1= 0]) Von
die-sem Anfangszustand aus sind drei Folgezust¨ande erreichbar:(s ,[c = 0 < c < 1]),
Trang 8(s1,[c1= 0,c0= 1]) und (s1,[c1= 0,c0> 1]) Um die Zustandsmenge des
Regio-nenautomaten weiter zu reduzieren, k¨onnten diese drei Zust¨ande zu einem Zustand zusammengefasst werden Eine solche konvexe Vereinigung von Zeitregionen wird
als Zeitzone bezeichnet Zeitzonen besitzen die folgenden Eigenschaften:
• Jede Zeitregion [ν] ist eine Zeitzone
• Seien [ν1] eine Zeitregion und [ν2] eine Zeitzone, dann ist entweder [ν1]
vollst¨an-dig in[ν2] enthalten oder deren Schnittmenge ist leer
• Die Schnittmenge zweier Zeitzonen ist ebenfalls eine Zeitzone.
• Jede Zeitbeschr¨ankung, die als Zeitschranke eines Zustands¨ubergangs oder in
einer Invariante inv(s) eines Zustands s verwendet wird, ist eine Zeitzone.
• Seien [ν1] und [ν2] zwei Zeitzonen Ist deren Vereinigungsmenge [ν1]∪[ν2]
kon-vex, so ist diese ebenfalls eine Zeitzone
Aus der letzten Eigenschaft folgt, dass sich die Zeitzonen aus der konvexen Vereini-gung der Zeitregionen ergeben F¨ur die Erreichbarkeitsanalyse basierend auf Zeitzo-nen werden die folgenden Operatoren definiert:
1 Der Schnitt zweier Zeitzonen[ν1] und [ν2] wird als [ν1] ∧ [ν2] geschrieben
2 Sei[ν] eine Zeitzone, dann bezeichnet [ν]↑die Zeitbewertungenν+δf¨urν∈ [ν]
und δ ∈ R ≥0 Somit beschreibt [ν]↑ diejenigen Zeitbewertungen, die sich aus
den Zeitbewertungen in[ν] durch einen Zeitfortschrittδ ergeben
3 F¨ur eine TeilmengeR ⊆ C der Zeitvariablen und eine Zeitzone [ν] beschreibt [ν]| R: =0diejenigen Zeitbewertungenν, die sich ausν∈ [ν] wie folgt berechnen
lassen:
ν (c) :=
0 falls c ∈ R
ν(c) sonst
Eine Zone ist ein Paar (s,[ν]) mit Zustand s ∈ S und Zeitzone [ν] Basierend auf
Zonen l¨asst sich ein markiertes TTS konstruieren: Gegeben sei eine Zone (s,[ν])
und ein Zustands¨ubergang sβ−→ s ,i, R Sei succ([ν],β,i,R) die Menge an
Zeitbe-wertungen ν, so dass f¨ur ein ν∈ [ν] der Zustand (s ,ν ) von (s,ν) durch
Zeit-fortschritt und Durchf¨uhrung von sβ,i,R
−→ s erreicht werden kann Somit beschreibt
(s ,succ([ν],β,i,R)) die Nachfolger der Zone (s,[ν]) unter diesem
Zustands¨uber-gang Die Funktionen succ l¨asst sich wie folgt berechnen:
succ([ν],β,i,R) :=([ν] ∧ inv(s)) ↑ ∧ inv(s) ∧β
R: =0 Damit kann die markierte TTS konstruiert werden: Der Anfangszustand ist
(s0,ν0) mit ∀c ∈ C :ν0(c) := 0 F¨ur jeden Zustand (s,[ν]) der markierten TTS
wer-den f¨ur alle ¨Uberg¨ange sβ−→ s ,i, R die Folgezust¨ande(s ,succ([ν],β,i,R)) bestimmt
und mit ¨Uberg¨angen(s,[ν]) i
−→ (s ,succ([ν],β,i,R)) verbunden Die resultierende
markierte TTS wird als Zonenautomat bezeichnet.
Beispiel 5.4.4 Betrachtet wird der Regionenautomat in Abb 5.27 Der
entspre-chende Zonenautomat ist in Abb 5.28 dargestellt Man sieht, dass die Anzahl der Zust¨ande geringer ist als im Fall des Regionenautomaten
Trang 9s1,[c1= 0,c0> 1]
s0,[c0= c1 = 0]
s1,[0 = c1< c0
i0
i2
i0
s3,[0 < c1< c0< 1] s3,[c1> 0,c0> 1]
i3
i0
i1
s2,[1 = c1< c0 ] i1
Abb 5.28 Zonenautomat zu dem zeitbehafteten Automaten aus Abb 5.26
Simulation zeitbehafteter Automaten
Zeitbehaftete Automaten, bei denen die Zeitbeschr¨ankungen zu exakten Verz¨oge-rungszeiten f¨uhren, k¨onnen auch in folgernder Form definiert werden:
Definition 5.4.4 (Zeitbehafteter Automat) Ein zeitbehafteter Automat ist ein
6-Tupel (I,S,s0,Γ, f ,V):
• I ist das Eingabealphabet,
• S ist eine endliche nichtleere Menge von Zust¨anden,
• s0∈ S ist der Anfangszustand,
• Γ(s) ⊆ I ist die Menge zul¨assiger Eingaben im Zustand s,
• f : S × I → S ist die ¨Ubergangsfunktion und
• V ist eine Zeitstruktur.
Die ZeitstrukturV := {νi | i ∈ I} besteht aus Zeitsequenzenνi:= νi ,1 ,νi ,2 , mit
νi ,k ∈ T.
Der Zustand eines zeitbehafteten Automaten mit exakten Verz¨ogerungszeiten ist gegeben durch(s,N ,T ) mit Zustand s ∈ S, einer Funktion N : I → Z ≥0und einer FunktionT : I × N → T Die Funktion N repr¨asentiert die sog Ereignisz¨ahler, die
f¨ur jedes Ereignis i ∈ I angeben, zum wievielten Mal dieses bei der n¨achsten
Aktivie-rung auftritt Die FunktionT (i,k) gibt die Verz¨ogerungszeit des Ereignisses i beim
k-ten Auftreten an Im Folgenden giltT = R≥0
Die Semantik zeitbehafteter Automaten wird am einfachsten anhand der Simula-tion dieser Modelle erl¨autert: Ereignisse, die in der Zukunft auftreten, werden in
ei-ner geordneten Liste L verwaltet Jedem Ereignis i ist eine Zeitvariableτ(i) mit Wert
gr¨oßer oder gleich 0 zugeordnet Die Zeitvariablen werden w¨ahrend der Simulation dekrementiert Erreicht eine der Zeitvariablen den Wert 0, so tritt das entsprechende Ereignis auf Das Setzen der Zeitvariablen wird durch die FunktionΓ(s) (Menge
der in Zustand s zul¨assigen Ereignisse) gesteuert Diese Zusammenh¨ange sind in
Abb 5.29 zusammengefasst
Die Simulation erfolgt im Wesentlichen in sechs Schritten:
1 Initialisierung: W¨ahrend der Initialisierung wird die Ereignisliste initialisiert (L : = {}), die Anfangszeit τ:= 0 und der Anfangszustand s := s0gesetzt, so-wie alle Ereignisz¨ahler initialisiert (∀i ∈ I : N (i) := 1).
Trang 10Zeit τ
Zustand s
Initialisierung
L¨oschen
abgelaufener
Ereignisse
Ereignisliste
v k
Aktualisierung der Zeit
τ:= τa
des Zustandes
Aktualisierung
s := f (s,i)
τ
s
i a
i0
i1
i2
Entfernen von(ia ,τ(ia))
τ(ia)
τ(i0 )
τ(i1 )
τ(i2 )
Hinzuf¨ugen von Ereignisse
(ik ,τ+ νk)
ZeitsturkturV
Abb 5.29 Die Ereignisplanung bei der Simulation zeitbehafteter Automaten [87]
2 Hinzuf¨ugen von Ereignissen: Alle Ereignisse, die noch nicht in der Liste L ent-halten sind, werden dieser hinzugef¨ugt (L : = L∪{(i k ,τ+νk , N (i k)) | i k ∈ L}) und
die entsprechenden Ereignisz¨ahler inkrementiert (N (i k ) := N (i k) + 1)
3 Beendigung der Simulation: Wenn L = {}, dann ist die Simulation beendet.
4 Bestimmung des aktuellen Ereignisses: Zun¨achst wird der n¨achste zu
simulie-rende Zeitpunktτ:= min{τ(i k ) | (i k ,τ(i k )) ∈ L} und ein zugeh¨origes Ereignis
ia:= ˜i, wobei ˜i∈ {i k |τ(i k) =τ} gilt, bestimmt Die Auswahl des aktuellen
Er-eignisses erfolgt nichtdeterministisch Nun muss allerdings ¨uberpr¨uft werden, ob
das Ereignis ia zul¨assig im augenblicklichen Zustand s ist:
• Falls i a ∈Γ(s) ist, dann wird zu 5 gesprungen.
• Falls i a ∈Γ(s) ist, dann wird der Eintrag (i a ,τ(i a )) aus L gel¨oscht (L :=
L \{(i a ,τ(i a )}), ein neuer Eintrag f¨ur dieses Ereignis erzeugt (L := L ∪ {(i a ,τ+νa , N (i a))}) und der zugeh¨orige Ereignisz¨ahler erh¨oht (N (i a) :=
N (i a) + 1) Anschließend erfolgt der R¨ucksprung zu 4
5 Durchf¨uhrung des Zustands¨ubergangs: Der Folgezustand ergibt sich aus s :=
f (s,i a)
6 Entfernen der abgelaufenen Ereignisse: Die neue Ereignisliste ergibt sich zu
L : = L\{(i k ,τ(i k )) |τ(i k) =τ}.
7 Fortf¨uhrung der Simulation: R¨ucksprung zu 2.
Beispiel 5.4.5 Gegeben ist der zeitbehaftete Automat in Abb 5.30a) mit den
darge-stellten Zeitstrukturen, dessen Simulation in Abb 5.30b) zu sehen ist Die simulierte Sequenz lautet:(s0; 0,0) −→ (s1,0 0; 1,0) i0
−→ (s1; 1,0) −→ (s1,5 1; 2,5) i0
−→ (s2; 2,5) −→0,5