1. Trang chủ
  2. » Công Nghệ Thông Tin

Digitale Hardware/ Software-Systeme- P12 docx

20 107 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

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,

Ngày đăng: 03/07/2014, 08:20