2 listopada 2010
Plan prezentacji 1. Co to jest system hybrydowy? 2. Liniowe systemy hybrydowe 3. Wyznaczanie stanów osi galnych Model checking 4. Podsumowanie
Automaty hybrydowe System hybrydowy Komponent dyskretny Komponent ci gªy
Automaty hybrydowe System hybrydowy Komponent dyskretny Komponent ci gªy
Automaty hybrydowe Przykªad Automated Highway System
Automaty hybrydowe Przykªad Automated Highway System
Automaty hybrydowe Przykªad STARMAC http://hybrid.eecs.berkeley.edu/ The purpose of this work was to demonstrate that some of the theories from hybrid systems, and in particular, the analytical tools of reachability, could be applied to a complex real-world system.
Automaty hybrydowe Po co analizowa systemy hybrydowe? ró»norodno± zastosowa«zagadnienia bezpiecze«stwa
Automaty hybrydowe Automaty hybrydowe zwykªe automaty + zbiór zmiennych rzeczywistych + reguªy ich zmienno±ci
Automaty hybrydowe Przykªad automatu hybrydowego Rysunek: Automat dla termostatu. x temperatura
Automaty hybrydowe Formalny model automatu hybrydowego X = {x 1, x 2,..., x n } Loc (l, v) Σ transition successor Var v(x) R τ Lab control modes init(v) Edg e = (l, a, µ, l ) µ V 2 Con Var ow(x) jump condition (l, τ, Id Con, l) (v, v ) Id Con Act control switches inv(v) (f + t) Act(l) stutter transition f x (t) = f (t)(x) Inv(l) V ϕ l [v] { x 1, x 2,..., x n } jump(e) (V, E) event : E Σ synchronization labels X = {x 1, x 2,..., x n}...
Automaty hybrydowe Stany Loc zbiór wierzchoªków Var zbiór zmiennych V zbiór warto±ciowa«zmiennych stan to para (l, v), l Loc, v V
Automaty hybrydowe Stany Loc = {On, O } Var = {x} przestrze«stanów: {On, O } R
Automaty hybrydowe Przej±cia Lab zmienne synchronizacyjne Edg zbiór kraw dzi µ V 2 relacja przej±cia e = (l, a, µ, l ), gdzie l, l Loc, l ¹ródªo, l cel, a Lab
Automaty hybrydowe Przej±cia W automacie reprezentuj cym termostat s dwie kraw dzie: z O do On je±li x = 19, bez zmiany warto±ci x, z On do O je±li x = 21, bez zmiany warto±ci x
Automaty hybrydowe Niezmienniki funkcja Inv : Loc P(V ) Inv(O ) : x 18 Inv(On) : x 22
Automaty hybrydowe Czynno±ci (activities) funkcja Act : R 0 V w jaki sposób zmienia si warto± zmiennych w czasie np. ẋ = 0.1x
Automaty hybrydowe Automat hybrydowy podsumowanie Skªadniki automatu hybrydowego: zbiór wierzchoªków Loc zbiór zmiennych Var i zbiór ich warto±ciowa«v zbiór zmiennych synchronizacyjnych Lab zbiór kraw dzi Edg i relacja przej±cia µ funkcja czynno±ci Act : R 0 V funkcja niezmienników Inv : Loc P(V )
Denicja Przykªady Przypadki szczególne Liniowy automat hybrydowy automaty hybrydowe w ogólno±ci s zbyt skomplikowane,»eby móc je analizowa
Denicja Przykªady Przypadki szczególne Liniowy automat hybrydowy denicja czynno±ci maj posta ẋ = k x, gdzie k x Z niezmienniki s zdeniowane przez formuªy liniowe, np. x 2y, x < 10 ka»da relacja przej±cia µ jest zdeniowana przez formuªy liniowe
Denicja Przykªady Przypadki szczególne Termostat liniowy system hybrydowy?
Denicja Przykªady Przypadki szczególne Termostat liniowy system hybrydowy? Nie, bo ẋ k x
Denicja Przykªady Przypadki szczególne Palnik z palnika mo»e ulatnia si gaz 1s ulatniania 30s przerwy
Denicja Przykªady Przypadki szczególne Automat dla palnika wierzchoªek 1 ulatnianie gazu, 2 brak ulatniania y mierzy czas od pocz tku dziaªania z mierzy kumulatywny czas ulatniania x czas sp dzony w aktualnym wierzchoªku
Denicja Przykªady Przypadki szczególne Przypadki szczególne liniowych automatów hybrydowych automaty czasowe i ich modykacje
Denicja Przykªady Przypadki szczególne Zmienne zero-jedynkowe (propositions) zmieniaj si tylko w wyniku przej± dyskretnych przyjmuj warto±ci 0 lub 1
Denicja Przykªady Przypadki szczególne Zegary w ka»dym wierzchoªku ẋ = 1 po zmianie wierzchoªka x nie zmienia warto±ci lub nowa warto± wynosi 0
Denicja Przykªady Przypadki szczególne Automaty czasowe ka»da zmienna jest zero-jedynkowa lub jest zegarem wyra»enia liniowe w niezmiennikach i relacjach przej±cia s postaci x#c lub x y#c, gdzie c Z +, # {<,, =,, >}
Denicja Przykªady Przypadki szczególne Zaburzone zegarki (skewed clocks) w ka»dym wierzchoªku ẋ = k, gdzie k Z + po zmianie wierzchoªka x nie zmienia warto±ci lub nowa warto± wynosi 0 zaburzony zegarek zegar, który mo»e szybciej chodzi
Denicja Przykªady Przypadki szczególne Wielowspóªczynnikowe automaty czasowe (multirate timed systems) ka»da zmienna jest zero-jedynkowa lub jest zaburzonym zegarkiem automat n-wspóªczynnikowy jest n ró»nych pr dko±ci tykania
Denicja Przykªady Przypadki szczególne Proste automaty hybrydowe niezmienniki i przej±cia zdeniowane przez formuªy postaci x k, k x, gdzie x Var, k Z
Denicja Przykªady Przypadki szczególne podsumowanie ẋ = k x niezmienniki i relacja przej±cia formuªy liniowe w szczególno±ci automaty czasowe i wielowspóªczynnikowe automaty czasowe
Stany osi galne Szukanie stanów osi galnych Model checking Problem osi galno±ci σ Σ jest osi galne z σ Σ (ozn. σ σ ) w automacie hybrydowym H je±li istnieje przebieg H zaczynaj cy si w σ i ko«cz cy w σ Chcemy obliczy stany osi galne z danej konguracji pocz tkowej I, tzn. zbiór (I ) t.»e: σ (I ) wtw. σ I σ σ
Stany osi galne Szukanie stanów osi galnych Model checking Problem osi galno±ci jest nierozstrzygalny dla automatów hybrydowych, a nawet dla liniowych automatów hybrydowych w pewnych szczególnych przypadkach jest rozstrzygalny
Stany osi galne Szukanie stanów osi galnych Model checking Wielowspóªczynnikowe proste automaty czasowe problem rozstrzygalny mo»na sprowadzi do prostego automatu czasowego
Stany osi galne Szukanie stanów osi galnych Model checking Wielowspóªczynnikowe proste automaty czasowe problem rozstrzygalny mo»na sprowadzi do prostego automatu czasowego
Stany osi galne Szukanie stanów osi galnych Model checking Wielowspóªczynnikowe proste automaty czasowe problem rozstrzygalny mo»na sprowadzi do prostego automatu czasowego
Stany osi galne Szukanie stanów osi galnych Model checking 2-wspóªczynnikowe automaty czasowe problem nierozstrzygalny równowa»ny z problemem stopu dla maszyny z 2 licznikami
Stany osi galne Szukanie stanów osi galnych Model checking Nierozstrzygalno± szkic dowodu warto± licznika n w i-tej konguracji maszyny = warto± zegara 1/2 n po upªywie i jednostek czasu reset zegara w odpowiednim momencie odpowiada operacjom na warto±ci licznika wyznaczenie tych momentów wymaga porównywania warto±ci zmiennych
Stany osi galne Szukanie stanów osi galnych Model checking Szukanie stanów osi galnych analiza w przód (forward analysis) analiza w tyª (backward analysis) obie zawodne
Stany osi galne Szukanie stanów osi galnych Model checking Analiza w przód Ogólna idea: mamy zbiór pocz tkowy warto±ciowa«zmiennych dodajemy kolejne warto±ciowania, które mo»na osi gn z dotychczasowych w wyniku przej±cia lub upªywu czasu
Stany osi galne Szukanie stanów osi galnych Model checking Analiza w przód denicje i oznaczenia P (forward time closure) zbiór warto±ciowa«zmiennych l osi galnych z P V pod wpªywem upªywu czasu, bez zmiany wierzchoªka
Stany osi galne Szukanie stanów osi galnych Model checking Analiza w przód denicje i oznaczenia P (forward time closure) zbiór warto±ciowa«zmiennych l osi galnych z P V pod wpªywem upªywu czasu, bez zmiany wierzchoªka P L P : x = 2 = {x [2, 18]}
Stany osi galne Szukanie stanów osi galnych Model checking Analiza w przód denicje i oznaczenia post e [P] (postcondition) warto±ciowania, które mo»na osi gn z P V w wyniku przej±cia e
Stany osi galne Szukanie stanów osi galnych Model checking Analiza w przód denicje i oznaczenia post e [P] (postcondition) warto±ciowania, które mo»na osi gn z P V w wyniku przej±cia e P : x = 2 post e [P] = {x = 0}
Stany osi galne Szukanie stanów osi galnych Model checking Analiza w przód denicje i oznaczenia c.d. Rozszerzenie denicji na zbiory stanów: R = (l, R l Loc l ) l post[r] = e=(l,l (l, post ) Edg e [R l ]) R l V, R Loc V
Stany osi galne Szukanie stanów osi galnych Model checking Analiza w przód metoda Twierdzenie: Osi galny zbiór stanów (I ) jest najmniejszym punktem staªym równania X = I post[x ]
Stany osi galne Szukanie stanów osi galnych Model checking Przykªad wyznaczanie stanów osi glanych dla palnika I zbiór stanów pocz tkowych zdeniowany przez formuª : ψ I = (pc = 1 x = y = z = 0), gdzie pc Loc zmienna pomocnicza
Stany osi galne Szukanie stanów osi galnych Model checking Wyznaczanie stanów osi galnych dla palnika cd. stany osi galne = najmniejszy punkt staªy X = I post[x ] ψ 1 = x = y = z = 0 post (2,1) [ψ 2 ] ψ 2 = false post (1,2) [ψ 1 ]
Stany osi galne Szukanie stanów osi galnych Model checking Wyznaczanie stanów osi galnych dla palnika cd. ψ 2,0 = false ψ 2,1 = ψ 2,0 post (1,2) [ψ 1,0 ] 2 = post (1,2) [x 1 x = y = z] 2 = x = 0 y 1 y = z 2 = (z 1 y = z + x)
Stany osi galne Szukanie stanów osi galnych Model checking Wyznaczanie stanów osi galnych dla palnika cd. Stosuj c indukcj mo»na pokaza,»e: ψ 1 = (x 1 x = y = z) (x 1 x z y + 30x 31z) ψ 2 = (z 1 y = x + z x 0) (y x + 31z 30)
Stany osi galne Szukanie stanów osi galnych Model checking Wyznaczanie stanów osi galnych dla palnika wynik ψ 1 = (x 1 x = y = z) (x 1 x z y + 30x 31z) ψ 2 = (z 1 y = x + z x 0) (y x + 31z 30) ψ = (pc = 1 ψ 1 ) (pc = 2 ψ 2 ) jest niezmiennikiem systemu z tego wynika,»e y 20z dla y 60
Stany osi galne Szukanie stanów osi galnych Model checking Model checking liniowych systemów hybrydowych czy system hybrydowy speªnia dan formuª? nierozstrzygalne, oprócz pewnych przypadków (np. wielowspóªczynnikowe automaty czasowe)
Stany osi galne Szukanie stanów osi galnych Model checking TCTL (Timed Computation Tree Logic) ψ ::= φ ψ ψ 1 ψ 2 z.ψ ψ 1 U ψ 2 ψ 1 U ψ 2 ψ 1 U ψ 2 speªnione w σ istnieje przebieg z σ do σ t.»e σ speªnia ψ 2 i w trakcie przebiegu caªy czas ψ 1 ψ 2 ψ 1 U ψ 2 ka»dy przebieg prowadzi do stanu, w którym ψ 2, reszta analogicznie mo»na zbudowa równowa»ne zdania z p (mo»liwe»e p) i p (zawsze p)
Stany osi galne Szukanie stanów osi galnych Model checking Operator R R Σ dla R, R Σ operator posªu»y do iteracyjnego wyznaczania zbiorów speªniaj cych U, U miªa wªasno± : je±li R, R s liniowe to R R te» jest liniowy
Stany osi galne Szukanie stanów osi galnych Model checking Operator denicja (l, v) (R R ) wtw. (l,v ) R,t R 0 ((l, v) t (l, v ) 0 t t(l, v + t ) (R R )), gdzie R, R zbiory stanów
Stany osi galne Szukanie stanów osi galnych Model checking Operator denicja (l, v) (R R ) wtw. (l,v ) R,t R 0 ((l, v) t (l, v ) 0 t t(l, v + t ) (R R )), gdzie R, R zbiory stanów w jednym kroku mo»na doj± do R, tak»e przez caªy czas jeste±my w R R
Stany osi galne Szukanie stanów osi galnych Model checking Obliczanie zbioru speªniaj cego φ U φ niech R, R wyznaczanie przez formuªy TCTL φ i φ φ U φ wyznaczamy iteracyjnie jako i R i R 0 = R R i+1 = R i (R R i )
Stany osi galne Szukanie stanów osi galnych Model checking Czy wierzchoªki startowe s zawarte w φ? mo»na obliczy iteracyjnie jako i R i R 0 = zbiór stanów speªniaj cych φ R i+1 = R i (true R i )
Stany osi galne Szukanie stanów osi galnych Model checking Przykªadowy wynik model checkingu
Stany osi galne Szukanie stanów osi galnych Model checking Przykªadowy wynik model checkingu periodt ( (x = x w y = y w ) U >T (x = x w y = y w ) touch (x = x w y = y w ) toucht T (x = x w y = y w )
Stany osi galne Szukanie stanów osi galnych Model checking Przykªadowy wynik model checkingu Rysunek: Wyniki model checkingu dla gry w bilard, przeprowadzonej programem KRONOS
Podsumowanie komponent dyskretny i ci gªy automaty hybrydowe liniowe automaty hybrydowe werykacja na ogóª jest bardzo trudna lub niemo»liwa