Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 20 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
20
Dung lượng
247,11 KB
Nội dung
212 5 Eigenschaftspr ¨ ufung Mengen 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 =0 q erf ¨ ullen. Das sind dieje- nigen Zust ¨ ande, von denen aus ein Pfad ˜s existiert, der einen Zustand in S q erreicht und der auf dem Pfad nur Zust ¨ ande aus S p enth ¨ 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, S p , S q ) { S N := ∅; DO S R := S N ; S A := {s ∈ S |∃s ∈ S N : s δ =0 −→ s ∈ R}; S N := S q ∪ (S p ∩ S A ); UNTIL (S N = S R ) RETURN S N ; } 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 S p 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, S p ) { S N := S; DO S R := S N ; S A := {s ∈ S |∃s ∈ S N : s δ =0 −→ s ∈ R}; S N := S p ∩ S A ; UNTIL (S N = S R ) RETURN S N ; } Mit Hilfe der Funktionen COMPUTE EU =0 und COMPUTE EG =0 lassen 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, S p , S q , l, u) { w := u − l + 1; i := 0; IF ((w ≤ 0) ∨ (u ≤ 0)) RETURN F; 5.4 Pr ¨ ufung nichtfunktionaler Eigenschaften 213 FOR (j := 1; j ≤ min{w, δ max }; j := j + 1) S A := COMPUTE EU =0 (M,S,{s ∈ S |∃s ∈ S : s δ ≥ j −→ s }); S I [ j] := COMPUTE EU =0 (M,S p ,S q ∩ S A ); FOR (j := w + 1; j ≤ δ max ; j := j + 1) S I [ j] := ∅; S I [ δ max + 1] := ∅; S N := COMPUTE EU =0 (M,S p ,S q ); S R := S N ; FOR (i := 1;i ≤ u; i := i + 1) FOR (j := 1; j ≤ δ max ; j := j + 1) S A := {s ∈ S |∃s ∈ S R : s δ = j −→ s }; S I [ j] := S I [ j + 1]∪ COMPUTE EU =0 (S p ,S q ∩ S A ); S R := S I [1]; IF (i ≤ w) S R := S R ∪ S N ; RETURN S R ; } 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 S I [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 .Dieminimale Latenz zwischen einer Zu- standsmenge S S ⊆ S und einer Zustandsmenge S E ⊆ S ist diejenige minimale Latenz Λ min := Λ ( ˜s),f ¨ ur die es einen Pfad ˜s := s 0 δ 0 −→ ··· δ n−1 −→ s n mit (s 0 ∈ S S ) ∧ (s n ∈ S E ) gibt. Dabei ist Λ ( ˜s) als ∑ n−1 i:=0 δ i definiert. Die minimale Latenz Λ min ist ∞, falls kein solcher Pfad existiert. Sie ist null, falls S S ∩ S E = ∅ gilt. Die Berechnung der minimalen Latenz kann dann wie folgt durchgef ¨ uhrt werden: 214 5 Eigenschaftspr ¨ ufung TTS MINIMAL LATENCY(M, S S , S E ) { n := 0; S I [n] := COMPUTE EF =0 (M,S E ); S D [n] := S I [n]; REPEAT IF (S S ∩ S D [n] = ∅) RETURN n; n := n + 1; S A := n δ :=0 {s ∈ S |∃s ∈ S D [n − δ ] : s δ −→ s ∈ R}; S D [n] := COMPUTE EU =0 (M,¬S I [n − 1], ¬S I [n − 1] ∩S A ); S I [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 S E 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 S I [i] in h ¨ ochstens i Zeiteinhei- ten einen Zustand in S E erreichen kann. Formel (5.14) besagt, dass man aus einem Zustand in S D [i] in genau i Zeiteinheiten einen Zustand in S E erreichen kann. Die Funktion TTS MINIMAL LATENCY gibt die Latenz n zur ¨ uck, sobald S S ∩ S D [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 S I [n]=S I [n − δ max ] f ¨ ur ein n ≥ δ max ist, so bedeutet dies nach Formel (5.13), dass kein Pfad aus S S zu S E 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,s 0 ,C,inv, f ) (siehe Definition 2.2.15 auf Sei- te 49), mit Zustandsmenge S, als Verhaltensmodell verwendet, so muss f ¨ ur die Er- reichbarkeitsanalyse noch die Teilmenge S R ⊆ S zu erreichender Zust ¨ ande gegeben sein. Das Erreichbarkeitsproblem besteht dann darin, zu bestimmen, ob mindestens einer der Zust ¨ ande in S R innerhalb vorgegebener Zeitschranken erreichbar ist. Um dieses Problem zu l ¨ osen muss zun ¨ achst der Zustandsraum eines zeitbehafte- ten Automaten in Form einer TTS definiert werden: Gegeben sei ein zeitbehafteter Automat (I,S,s 0 ,C,inv, f ), mit dem Eingabealphabet I, der Zustandsmenge S, dem 5.4 Pr ¨ ufung nichtfunktionaler Eigenschaften 215 Anfangszustand s 0 , 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 b 0 ∧ b 1 ···∧b n . Dabei haben die b i die Form c ∼ γ ,mitc ∈ 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 Q M 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, ν ) δ ∈T −→ (s, ν ) 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,R −→ s , wobei R die Menge der zur ¨ uck zu setzenden Zeitvariablen darstellt. Die aktualisierte Zeitstruktur ergibt sich zu: ν (c) := 0f ¨ ur c ∈R ν (c) sonst Der Anfangszustand ist gegeben durch q 0 :=(s 0 , ν 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 q 0 besteht f ¨ ur T = R ≥0 aus unendlich vielen Zust ¨ anden Q M und 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 δ ∈T −→ q i∈I −→ q durch einen einzelnen Zustands ¨ ubergang q i =⇒ q ersetzt. Hierdurch entsteht eine TTS M mit einer zu M identischen Zustandsmenge Q M ,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 M definiert. Eine ¨ Aquivalenzrelation ist stabil, wenn ∀q ∼ p : (q i =⇒ q ) ⇔∃p : (p i =⇒ p ) ∧ (q ∼ p ) gilt. 216 5 Eigenschaftspr ¨ ufung Sei (I,S,s 0 ,C,inv, f ) ein zeitbehafteter Automat und ∼ eine stabile ¨ Aquivalenz- relation der Zustandsmenge Q M . Seien weiterhin Q M,1 und Q M,2 zwei ¨ 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 i =⇒ q . 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,k ist Anfangs- zustand von der TTS M, wenn q 0 ∈ Q M,k ist. Die Markierung der Zustands ¨ uberg ¨ ange sind die Symbole i ∈ I und M enth ¨ alt einen Zustands ¨ ubergang von ¨ Aquivalenzklas- se Q M,1 zu ¨ Aquivalenzklasse Q M,2 , wenn ein Zustand q ∈ Q M,1 und ein Zustand q ∈ Q M,2 existiert, f ¨ ur den M einen ¨ Ubergang q i =⇒ q 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 S R nicht auf der markierten TTS M gel ¨ ost werden kann. Eine ¨ Aquivalenzrelation ∼ auf Q M heißt auch S R -sensitiv, wenn f ¨ ur (s, ν ) ∼ (s , ν ) entweder s,s ∈ S R oder s,s ∈ S\S R gilt. Dies ist in dem folgenden Lemma beschrieben [7]. Lemma 5.4.1. Sei (I, S,s 0 ,C,inv, f ) ein zeitbehafteter Automat und ∼ eine ¨ Aquiva- lenzrelation der Zustandsmenge Q M . Sei weiterhin S R ⊆ S, so dass die Relation ∼ sowohl stabil als auch S R -sensitiv ist, dann ist ein Zustand in S R genau dann erreich- bar, wenn eine ¨ Aquivalenzklasse Q M,k in der ¨ Aquivalenzrelation ∼ existiert, so dass Q M,k in der TTS M erreichbar ist und Q M,k einen Zustand aus S R enth ¨ alt. Was somit noch ben ¨ otigt wird, um f ¨ ur eine gegebene Zeitanforderung eine endli- che TTS zu erzeugen, ist eine stabile und S R -sensitive ¨ Aquivalenzrelation, welche die Zustandsmenge Q M beschr ¨ ankt. Da die zu erreichenden Zust ¨ ande in S R w ¨ 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 ¨ ankungen B(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 ≥0 f ¨ 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: Definition 5.4.3 (Regionen- ¨ Aquivalenz). Seien ν und ν zwei Bewertungen der 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))) 5.4 Pr ¨ ufung nichtfunktionaler Eigenschaften 217 2. ∀c 1 ,c 2 ∈ C : (( ν (c 1 ) ≤ γ max (c 1 )) ∧ ( ν (c 2 ) ≤ γ max (c 2 ))) ⇒ (({ ν (c 1 )}≤{ ν (c 2 )}) ⇔ ({ ν (c 1 )}≤{ ν (c 2 )})) 3. ∀c ∈ C : ( ν (c) ≤ γ max (c)) ⇒ (({ ν (c)} = 0) ⇔ ({ ν (c)} = 0)) Eine Zeitregion f ¨ ur einen zeitbehafteten Automaten (I, S, s 0 ,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 c 1 und c 2 . Es gilt γ max (c 1 )=2 und γ max (c 2 )=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 < c 1 = c 2 < 1]) und acht offene Regionen (z. B. [0 < c 1 < c 2 < 1]). c 2 0 1 c 1 12 Abb. 5.25. Zeitregionen f ¨ ur zwei Zeitvariablen c 1 und c 2 [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 in B(C) des zeitbehafteten Automaten und ν ∼ = ν ist, so gilt ν |= β , genau dann, wenn ν |= β . Damit gilt: [ ν ] |= β ⇔∀ ˜ ν ∈ [ ν ] : ˜ ν |= β Regionen- ¨ Aquivalenz kann auf die Zustandsmenge Q M erweitert werden, indem f ¨ ur (q, ν ),(q , ν ) ∈ Q M gilt: (q, ν ) ∼ = (q , ν ) ⇔ ((q = q ) ∧ ( ν ∼ = ν )). Ein zentrales Ergebnis hierbei ist, dass die Regionen- ¨ Aquivalenz ∼ = eine stabile ¨ Aquivalenzrelation auf Q M ist. 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. 218 5 Eigenschaftspr ¨ ufung Beispiel 5.4.3. Gegeben sei der zeitbehaftete Automat in Abb. 5.26. Das Eingabeal- phabet ist I := {i 0 ,i 1 ,i 2 ,i 3 } und es gibt zwei Zeitvariablen c 0 und c 1 mit γ max (c 0 )= γ max (c 1 )=1. Die Zeitbeschr ¨ ankungen in dem Automaten sorgen daf ¨ ur, dass der Zu- stands ¨ ubergang von s 2 nach s 3 niemals auftreten kann. Der resultierende Regionen- automat ist in Abb. 5.27 dargestellt. Dabei sind nur die von (s 0 ,[0,0]) erreichbaren Regionen dargestellt. Die einzige erreichbare Zeitregion mit Zustand s 2 erf ¨ ullt die Zeitbedingung [c 1 = 1,c 0 > 1]. Diese Zeitregion hat keine wegf ¨ uhrenden ¨ Uberg ¨ ange. s 0 s 1 s 3 i 0 ,c 0 > 0, {c 1 } s 2 i 2 ,c 1 > 0 ∧ c 0 < 1, ∅ i 1 ,c 1 = 1, ∅ i 2 ,c 0 < 1, ∅ i 3 ,c 0 > 1, ∅ i 0 ,c 1 < 1, {c 1 } Abb. 5.26. Zeitbehafteter Automat [7] i 0 i 0 i 0 i 1 i 1 i 1 i 3 i 3 i 3 i 2 i 0 i 3 i 3 i 3 i 3 i 0 i 0 i 0 i 3 i 3 s 0 ,[c 0 = c 1 = 0] s 1 ,[0 = c 1 < c 0 < 1] s 1 ,[c 1 = 0,c 0 = 1] s 1 ,[c 1 = 0,c 0 > 1] s 2 ,[1 = c 1 < c 0 ] s 3 ,[c 0 > 1,c 1 > 1]s 3 ,[1 = c 1 < c 0 ]s 3 ,[0 < c 1 < 1 < c 0 ]s 3 ,[0 < c 1 < c 0 < 1] Abb. 5.27. Regionenautomat zu dem zeitbehafteten Automaten aus Abb. 5.26 [7] Zonen Der Regionenautomat in Abb. 5.27 startet im Zustand (s 0 ,[c 1 = c 1 = 0]). Von die- sem Anfangszustand aus sind drei Folgezust ¨ ande erreichbar: (s 1 ,[c 1 = 0 < c 0 < 1]), 5.4 Pr ¨ ufung nichtfunktionaler Eigenschaften 219 (s 1 ,[c 1 = 0,c 0 = 1]) und (s 1 ,[c 1 = 0,c 0 > 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 Teilmenge R⊆C der Zeitvariablen und eine Zeitzone [ ν ] beschreibt [ ν ]| R:=0 diejenigen 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 β ,i,R −→ s . 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 (s 0 , ν 0 ) mit ∀c ∈ C : ν 0 (c) := 0. F ¨ ur jeden Zustand (s,[ ν ]) der markierten TTS wer- den f ¨ ur alle ¨ Uberg ¨ ange s β ,i,R −→ s 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. 220 5 Eigenschaftspr ¨ ufung i 3 s 1 ,[c 1 = 0, c 0 > 1]s 0 ,[c 0 = c 1 = 0] s 1 ,[0 = c 1 < c 0 i 0 i 2 i 0 s 3 ,[0 < c 1 < c 0 < 1] s 3 ,[c 1 > 0, c 0 > 1] i 3 i 0 i 1 s 2 ,[1 = c 1 < c 0 ] i 1 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,s 0 , Γ , f,V): • I ist das Eingabealphabet, • S ist eine endliche nichtleere Menge von Zust ¨ anden, • s 0 ∈ S ist der Anfangszustand, • Γ (s) ⊆ I ist die Menge zul ¨ assiger Eingaben im Zustand s, • f : S × I → Sistdie ¨ Ubergangsfunktion und •Vist eine Zeitstruktur. Die Zeitstruktur V := { ν 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 ≥0 und einer Funktion T : 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 Funktion T (i,k) gibt die Verz ¨ ogerungszeit des Ereignisses i beim k-ten Auftreten an. Im Folgenden gilt T = 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 := s 0 gesetzt, so- wie alle Ereignisz ¨ ahler initialisiert (∀i ∈ I : N (i) := 1). 5.4 Pr ¨ ufung nichtfunktionaler Eigenschaften 221 Zeit τ Zustand s Initialisierung L ¨ oschen abgelaufener Ereignisse Ereignisliste v k Aktualisierung der Zeit τ := τ a des Zustandes Aktualisierung s := f (s,i) τ τ τ s s s i a i 0 i 1 i 2 Entfernen von (i a , τ (i a )) τ (i a ) τ (i 0 ) τ (i 1 ) τ (i 2 ) Hinzuf ¨ ugen von Ereignisse (i k , τ + ν k ) Zeitsturktur V 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 i a := ˜ 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 i a 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. Fort f ¨ 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: (s 0 ;0, 0) 1,0 −→ (s 0 ;1, 0) i 0 −→ (s 1 ;1, 0) 1,5 −→ (s 1 ;2, 5) i 0 −→ (s 2 ;2, 5) 0,5 −→ [...]... selbstplanenden a Ausf¨ hrung ein ganzzahliges Vielfaches einer Iteration ist u Bestimmung des maximalen Durchsatzes Eine wichtige Eigenschaft datenflussdominanter Systeme, wie beispielsweise Systeme der digitalen Signalverarbeitung, Netzwerk-Controller und Multi-Media-Systeme, ist der Durchsatz, also diejenige Menge an Daten, die pro Zeiteinheit verarbeitet wird Somit unterliegt die Implementierung solcher . Durchsatzes Eine wichtige Eigenschaft datenflussdominanter Systeme, wie beispielsweise Sys- teme der digitalen Signalverarbeitung, Netzwerk-Controller und Multi-Media-Sys- teme, ist der Durchsatz,