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

Digitale Hardware/ Software-Systeme- P12 docx

20 107 0
Tài liệu đã được kiểm tra trùng lặp

Đ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

Tiêu đề Digitale Hardware/Software-Systeme
Trường học Standard University
Chuyên ngành Digital Hardware/Software Systems
Thể loại Luận văn
Năm xuất bản 2023
Thành phố City Name
Định dạng
Số trang 20
Dung lượng 247,11 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

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 1

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=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 2

FOR ( 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 := Z0) 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) alsn −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 3

TTS 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 4

Anfangszustand 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 = R0aus 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 5

Sei(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 6

2 ∀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 7

Beispiel 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 9

s1,[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 = R0

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 10

Zeit τ

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

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