1 / 36

Základy systémov reálneho času Te ória časových konečných automatov

Základy systémov reálneho času Te ória časových konečných automatov. Real Time Systems. Control Theory. Computer Science. sensors. Task. Task. actuators. Task. Plant Continuous, Discrete. Controller Program Discrete. Eg.:. Transport Control Avionic simulators

Download Presentation

Základy systémov reálneho času Te ória časových konečných automatov

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Základy systémov reálneho časuTeória časových konečných automatov

  2. Real Time Systems Control Theory Computer Science sensors Task Task actuators Task Plant Continuous, Discrete Controller Program Discrete Eg.: Transport Control Avionic simulators Robots control Cruise Control Production Lines Real Time System A system where correctness not only depends on the logical order of events but also on their timing!! Real Time System A system where correctness not only depends on the logical order of events but also on their timing!!

  3. Prechodové systémy Definícia Prechodový systém je štvorica S = (Q, Q0, , ) kde Q je množina stavov Q0 Q je množina počiatočných stavov  je množina udalostí   Q    Q je množina prechodov Systém štartuje z počiatočného stavu q0  Q0 Prechod (q,a,q’) označujeme akoq a q’ Stav q je dosiahnuteľný stav prechodového systému ak je dosiahnuteľný z niektorého počiatočného stavu to znamená že existuje 1nq0q1 2q2 3q3… n q

  4. Zložený systém sa tvorí ako súčin navzájom interagujúcich systémov • Nech S1 = (Q1, Q10, 1, 1) • S2 = (Q2, Q20, 2, 2) • S1||S2 = (Q1  Q2, Q10  Q20, 1 2 ,) • kde (q1,q2) a(q1’,q2’) ak • a 1  2 a q1 1a q1’ a q2 2a q2’ • a 1 \ 2 a q1 1a q1’ a q2’ = q2 • a 2 \ 1 a q2 2a q2’ a q1’= q1 • Operátor || sa tiež nazýva aj operátor paralelnej kompozície

  5. a b s s’ q q’ b c a (s,q) (s’,q) c c b a (s,q’) (s’,q’)

  6. Prechodový systém s časovým ohraničením Aby sme vyjadrili vlastnosti systému v závislosti od časových ohraničení uvažujme konečný graf rozšírený o konečný počet časových premenných. Vrcholy grafu budeme volať pozície a hrany grafu prechody. Čas môže plynúť len v pozíciách pretože prechody sú okamžité. Časové premenné môžu byť položené rovné nule pre ľubovolný prechod. V každom okamžiku hodnota časovej premennej určuje uplynutí čas od jej posledného vynulovania. Každému prechodu môžeme priradiť ohraničenie nejakej časovej premennej a požadovať, že prechod sa môže uskutočniť len ak hodnota časovej premennej spĺňa toto ohraničenie. Každej pozícii priradíme ohraničenie pre ľubovolnú časovú premennú, ktoré budeme volať invariant a požadovať, že čas v danom stave môže plynúť len pokiaľ je invariant splnený.

  7. x ohraničenie vynulovanie t Časová premenná x je po častiach spojitá funkcia času t

  8. Definíciakonečného časového automatu: Nech X je množina časových premenných a (X) je množina časových ohraničení definovaná gramatikou: kde xX a c je reálna konštanta Časový automat A je šestica (L, L0, , X, I, E) kde L je konečná množina pozícií L0 L je množina počiatočných pozícií  je konečná množina udalostí X je konečná množina časových premenných I je zobrazenie, ktoré priradí každej pozícii nejaké časové ohraničenie z (X) E  L    2X  (X)  L je množina prechodov. e =( s, a , , , s’) E reprezentuje prechod z pozície s do pozície s’ v dôsledku vzniku udalosti a.je časové ohraničenie pre časové premenné z X, ktoré špecifikuje kedy je prechod možný a   X určuje, ktoré časové premenné budú s prechodom vynulované.

  9. a, x:=0 s s’ x1, b Obr.1 d, y>2 b,y:=0 a,x:=0 c s0 s1 s2 s3 c Obr.2.

  10. Sémantika časového automatu je definovaná pomocou prechodového • systému SA, ktorý je k automatu pridružený. • Stav q prechodového systému SA je dvojica (s,), kde s je pozícia A • a  je hodnota časovej premennej x, ktorá spĺňa invariant I(s). • Stavy SA označujeme QA. • Stav (s, ) je počiatočný ak s je počiatočná pozícia A a (x) = 0 pre • všetky x. • Existujú dva typy prechodov SA: • Stav sa zmení uplynutím času o časový inkrement  0: • (s, )  (s, + ) ak pre všetky 0  ’ ,  + ’ spĺňa invariant I(s). • Stav sa zmení v dôsledku vzniku udalosti a : • (s, ) a (s’, [:=0]), akspĺňa časové ohraničenie . Pre SA z Obr.2 s množinou udalostí {a,b,c,d} a stavovým priestorom {s0,s1,s2,s3}  R2 niektoré prechody sú: (s0,0,0) 1.2(s0,1.2,1.2) a(s1,0,1.2) 0.7(s1,0.7,1.9) b(s2,0.7,0) 0.1(s2,0.8,0.1) 0.1(s2,0.9,0.2)

  11. Trajektóriou prechodového systému SA nazývame nekonečnú postupnosť stavov a prechodov: r = q0 l0q1 l1q2l2q3… kde qi Q a li  (R+) Množinu trajektórií vychádzajúcich z q označme RA(q) a množinu všetkých trajektórií SA označme RA, kde Definícia Stav q’ je dosiahnuteľný z q ak patrí do niektorej z trajektórií vychádzajúcich z q. Vlastnosť: Pre prechodový systém platí časová aditívnosť: ak q q’ a q’ q’’ potom qq’’

  12. Timed Automata Alur & Dill 1990 Clocks:x, y Guard Boolean combination of integer bounds on clocks and clock-differences. n Reset Action performed on clocks Action used for synchronization x<=5 & y>3 State (location , x=v , y=u ) where v, u are in R a Transitions x := 0 a (n , x=2.4 , y=3.1415 ) (m , x=0 , y=3.1415 ) m e(1.1) (n , x=2.4 , y=3.1415 ) (n , x=3.5 , y=4.2415 )

  13. Timed AutomataInvariants n Clocks:x, y x<=5 Transitions x<=5 & y>3 e(3.2) Location Invariants (n , x=2.4 , y=3.1415 ) a e(1.1) (n , x=2.4 , y=3.1415 ) (n , x=3.5 , y=4.2415 ) x := 0 m y<=10 g4 g1 Invariants insure progress!! g3 g2

  14. Podmienky nutné pre uskutočniteľnosť prechodu: • Ak plynutím času v niektorom stave prestane platiť časový invariant potom musí byť umožnený niektorý prechod z tohto stavu. • Nemôže napríklad nastať : I(s0)= x<2 a (s0, a, x>2,{0}, s1) • Z každého dosiahnuteľného stavu automatu, by mala byť prípustná možnosť časovej divergencie (neobmedzeného narastania času). • Automaty splňujúce tieto podmienky sa volajú nonZeno. s0 a, x>2 x<2 s1

  15. Konštrukcia zložených automatov • Nech A1 = (L1, L10, 1, X1,I1, E1) • A2 = (L2, L20, 2, X2,I2, E2) • Predpokladajme že X1, X2 sú dizjunktné • potom A1||A2 = (L1 L2, L10 L20 , 1  2 , X1 X2 , I, E) • kde I(s1,s2)= I(s1) I(s2) • a prechody E sú definované: • pre a 1  2 (a je synchronizačná udalosť) • pre všetky ( s1, a , 1, 1, s1’) z E1 a ( s2, a , 2, 2, s2’) z E2 • E obsahuje ( (s1,s2), a , 1 2, 1  2, (s1’, s2’)) • 2. pre a 1 \ 2 pre všetky ( s, a , , , s’) z E1 a všetky t z L2 • E obsahuje ((s,t) a , , ,(s’,t)) • 3. pre a 2 \ 1 pre všetky ( s, a , , , s’) z E2 a všetky t z L1 • E obsahuje ((t,s) a , , ,(t,s’))

  16. a,x:=0 b,y:=0 s s’ x  2 q q’ y  2 x1,b y  1,c a, x:=0 (s,q) (s’,q) x 2 y 1, c y 1, c x  1,b,y:=0 a, x:=0 (s,q’) y 2 (s’,q’) x  2, y  2

  17. Train-gate example train gate approach!, x:=0 lower?, y:=0 s1 s0 t0 t1 x<5 y<1 y>1 up! x>2 in! exit! down! t3 out! s3 s2 t2 y<2 x<5 x<5 raise?, y:=0 controller approach?, z:=0 exit?,z:=0 u2 u1 u0 z<1 z<1 raise! z=1, lower! Obr.4.

  18. train||gait||controller Počet pozícií: 48 (nie všetky sú dosiahnuteľné) Počet udalostí: 8 {approach, in, out, exit, lower, down, raise, up} Počet čas. premenných: 3 {x,y,z} Invarianty pre dosiahnuteľné pozície: I(s1,u1,t0)= x<5 z<1 I(s1,u0,t1)= x<5 y<1 I(s1,u0,t2)= x<5 I(s2,u0,t2)= x<5 I(s3,u0,t2)= x<5 I(s0,u2,t2)= z<1 I(s0,u0,t3)= y <2 Prechody: ((s0,u0,t0), approach,0, {x,z}, (s1,u1,t0)) ((s1,u1,t0), lower,z=1, {y}, (s1,u0,t1)) ((s1,u0,t1), down,0, {0}, (s1,u0,t2)) ((s1,u0,t2), in, x>2 , {0}, (s2,u0,t2)) ((s2,u0,t2), out,0, {0}, (s3,u0,t2)) ((s3,u0,t2), exit,0, {z}, (s0,u2,t2)) ((s0,u2,t2), raise,0, {y}, (s0,u0,t3)) ((s0,u0,t3), up, y>1, {0}, (s0,u0,t0))

  19. Analýza dosiahnutelnosti stavu Definícia Pozícia s časového automatu je dosiahnuteľná z počiatočnej pozície s0 ak stav q = (s, ) prechodového systému SA je dosiahnuteľný z počiatočného stavu q0 = (s0, 0). Problém dosiahnuteľnosti cieľovej množiny LF L automatu A je určiť či sú pozície z LF dosiahnuteľné alebo nie. Verifikácia bezpečnosti systémov reálneho času môže byť potom formulovaná ako úloha určenia dosiahnuteľnosti neželateľných pozícií automatu. Napríklad v príklade z Obr. 4 (Train|Gate|Controller (TGC)) otázka bezpečnosti systému si vyžaduje, že vždy keď je vlak medzi závorami tie musia byť spustené. To znamená, že každý dosiahnuteľný stav TGC, ktorý obsahuje pozíciu s2 musí obsahovať aj pozíciu t2.

  20. Z časovej analýzy grafu prechodového systému STGC zistíme, že stav (s2,u0,t2) je dosiahnuteľný. Signál approach nemôže byť okamžite nasledovaný signálom in pretože v stave (s1,u1,t0) časové premenné x a z majú rovnakú hodnotu 0 a teda udalosť lower s ohraničením z=1 určite predchádza udalosť in s ohraničením x> 2. Stav (s2,u0,t2) patrí do trajektórii: (s0,u0,t0) approach(s1,u1,t0) lower(s1,u0,t1) down(s1,u0,t2) in(s2,u0,t2) out(s3,u0,t2) exit(s0,u2,t2) raise(s0,u0,t3) up(s0,u0,t0) Časová analýza sa pre zložité systémy, ktorých prechodový systém SA je nekonečný (časové premenné nadobúdajú hodnoty z R+ ) nedá algoritmizovať a preto je nutné pri riešení problému dosiahnuteľnosti stavu nájsť konečnú reprezentáciu časového automatu.

  21. Zónový automat Časová zóna je množina hodnôt časových premenných vyjadrená konjunkciou ohraničení časových premenných a ich diferencií. Časová zóna je generovaná gramatikou: • Vlastnosti časových zón: • Časová zóna je konvexná množina v k-rozmernom priestore, kde k je počet časových premenných. • Každé ohraničenie v invariante pozície a ohraničenie časových premenných v prechode automatu je časová zóna. • Ak zjednotenie dvoch časových zón je konvexné potom je to časová zóna. • Prienik dvoch časových zón je časová zóna.

  22. Zones Operations with zones Delay: Projection: Conjunction:

  23. Význam operácii nad zónami: • Delay (plynutie času): • Pre časovú zónu ,  označuje množinu interpretácií časových premenných  d, d R získanú plynutím času pre časové premenné tvoriace časovú zónu.   je zóna. • Projection (projekcia): • Pre podmnožinu {} časových premenných časovej zóny {} znamená množinu interpretácií časových premenných • [:=0]. {} je zóna. • Conjunction (konjunkcia): • Prienik dvoch časových zón  a  je opäť zóna

  24. Zóna je dvojica (s, ) pozostávajúca z pozícii s a časovej zóny . • Vytvoríme prechodový systém, ktorého stavmi sú zóny nasledovne: • Nech je nasledujúca zóna succ(, e) pre prechod automatu • e  E, e =( s, a ,  , , s’) definovaná krokmi: • Urobí sa prienik  s invariantom pozície s • Na výsledok sa aplikuje operáciu delay • Urobí sa prienik výsledku s invariantom pozície s • Urobí sa prienik výsledku s ohraničením  prechodu e • Vynulujú sa všetky časové premenné z množiny  • Množina succ(, e) interpretácií časových premenných je časová zóna. • Definícia • Zónový automat Z(A) je prechodový systém, ktorého stavy sú zóny. • Pre každú počiatočnú pozíciu s časového automatu A je (s,[X:=0]) • počiatočným stavom Z(A) a pre každý prechod e =( s, a ,  , , s’) • časového automatu A a každú časovú zónu , • ez= ((s, ), a,(s’,succ(,e))) je prechod Z(A).

  25. Zone automaton (s,j) (s,j) clock zone location a zones (s’,j’) j’= succ(j,e)=(((jI(s))) I(s) y)[{l}:=0]

  26. y y x x ZonesFrom infinite to finite Symbolic state (set) (n, ) State (n, x=3.2, y=2.5) Zone: conjunction of x-y<=n, x<=>n

  27. 1<=x, 1<=y -2<=x-y<=3 y x y y y 3<x, 1<=y -2<=x-y<=3 x x x 3<x, y=0 Symbolic Transitions 1<=x<=4 1<=y<=3 y delays to n x x>3 conjuncts to a y:=0 projects to m Thus (n,1<=x<=4,1<=y<=3) =a => (m,3<x, y=0)

  28. Algoritmus dosiahnutelnosti stavu automatu A Definícia Pozícia s časového automatu A je dosiahnuteľná z počiatočnej pozície s0 ak stav (zóna) q = (s, ) prechodového systému Z(A) je dosiahnuteľný z počiatočného stavu (zóny) q0 = (s0, 0). Teda existuje postupnosť prechodov ez1, ez2,...,ezn prechodového systému Z(A) taká, že q0ez1q1 ez2q2 ... eznq. Algoritmus Tvorí sa postupnosť množín zón Z0Z1 ... taká, že Z0 = q0 Zi+1 = Zi  Suc( Zi) kde Suc( Zi)= {q|  qiZi, qiezq}. Tvrdenie Pre s, s0 L, q  Reach(q0) iff q  i0Zi

  29. s2 x<1, c y:=1,b y>0<1, c x>0, a s0 s1 s3 x>1,d y:=0 y<1, a, y:=0 Časový automat s0 x=y=0 b s2 1=y<x s1 y=0,x>1 b a a c s3 y>0, x>1 d s1 0=y<x s3 0<y<x<1 d a Zónový automat- dosiahnuteľná časť

  30. Zóny zpredchádzajúceho príkladu 1=y<x y 1 y>0, x>1 0<y<x<1 1 x y=0,x>1 0=y<x

  31. Reprezentácia časových zón Diferenčné matice ohraničení Časová zóna pre k- časových premenných je reprezentovaná (k+1)(k+1) rozmernou maticou D. Prvky matice D sa určia nasledovne: Pre každé i, di0 je horná hranica xi a d0i je dolná hranica xi Pre každú dvojicu i, j,dij určuje hornú hranicu diferencie xi-xj Symbol  sa udáva v prípade keď horná hranica je nie daná. Ostrá a neostrá nerovnosť sa určujú číslicami 1 a 0 ako druhým prvkom v dvojici (dij, 1) alebo (dij, 0). Pr. Časová zóna

  32. môže byť reprezentovaná maticou: Reprezentácia ale nie je jednoznačná. Uvedené ohraničenia môžu byť „sprísnené“, napr. keďže x1<2, tak x1-x2<2, ďalej suma diferencií xi-xj a xj- kl je horná hranica diferencie xi-xl, týmzískame nasledovnú ekvivalentnú maticu:

  33. Kanonické matice Matica D je splniteľná ak reprezentuje neprázdnu časovú zónu. Ak D je nesplniteľná matica potom existuje postupnosť indexov 0 i1, i2,...ij k takých, že di1,i2 +di2,i3+...+dij,i1< (0,1) Pričom (i,j)< (i’,j’) iff ak i< i’ alebo i= i’ a j< j’ a (i,j)+(i’,j’)= (i+ i’, jj’) Matica je kanonická iff Každá splniteľná matica má ekvivalentnú kanonickú maticu. Dve kanonické matice D a D’ sú ekvivalentné iff dij = dij’.

  34. Operácie nad diferenčnými maticami V algoritme pre dosiahnuteľnosť stavu pre prechod e je potrebné počítať nasledovnú časovú zónu succ(j,e). Ďalej ukážeme ako sa počítajú operácie nad časovými zónami ak sú reprezentované pomocou diferenčných matíc. Conjunction: Matica D’’ reprezentuje operáciu konjunkcie nad zónami, ktoré sú reprezentované maticami D a D’.Prvky matice D’’ sú d’’ij= min (dij, d’ij). Výslednú maticu je treba kanonizovať. Delay: D  prvky di0 sa zmenia na  ostatné zostanú nezmenené. Výslednú maticu je nutné kanonizovať. Projection: {}D Pre xi di0 a d0i sa zmení na (0,1), pre xi, xj ,dijsa zmení na (0,1), pre xi a xj sa zmení dijna d0j a dji na dj0. Výslednú maticu je treba kanonizovať.

  35. Improved Data-structuresMinimal representation for Zones RTSS 1997 -4 -4 x1-x2<=-4 x2-x1<=10 x3-x1<=2 x2-x3<=2 x0-x1<=3 x3-x0<=5 Shortest Path Closure O(n^3) x1 x2 x1 x2 4 10 -2 3 3 3 2 2 -2 2 2 x0 x3 x0 x3 1 5 5

  36. Improved Data-structuresMinimal representation for Zones RTSS 1997 -4 -4 x1-x2<=4 x2-x1<=10 x3-x1<=2 x2-x3<=2 x0-x1<=3 x3-x0<=5 Shortest Path Closure O(n^3) x1 x2 x1 x2 4 10 3 3 2 3 2 -2 -2 2 2 x0 x3 x0 x3 1 5 5 -4 Shortest Path Reduction O(n^3) x1 x2 3 2 3 2 x0 x3

More Related