Automaty czasowe. Sposoby weryfikacji UPPAAL. Narzędzie do weryfikacji automatów czasowych. Aleksander Zabłocki. 6 maja 2009

Podobne dokumenty
Logika Temporalna i Automaty Czasowe

Teoretyczne podstawy informatyki

Wyrażenia regularne.

1 Automaty niedeterministyczne

Bisymulacja, automaty czasowe

Logika Temporalna i Automaty Czasowe

Logika Temporalna i Automaty Czasowe

Przykład: Σ = {0, 1} Σ - zbiór wszystkich skończonych ciagów binarnych. L 1 = {0, 00, 000,...,1, 11, 111,... } L 2 = {01, 1010, 001, 11}

Jest to zasadniczo powtórka ze szkoły średniej, być może z niektórymi rzeczami nowymi.

5. Algebra działania, grupy, grupy permutacji, pierścienie, ciała, pierścień wielomianów.

Digraf. 13 maja 2017

1 Działania na zbiorach

Graf. Definicja marca / 1

; B = Wykonaj poniższe obliczenia: Mnożenia, transpozycje etc wykonuję programem i przepisuję wyniki. Mam nadzieję, że umiesz mnożyć macierze...

O pewnych związkach teorii modeli z teorią reprezentacji

Topologia zbioru Cantora a obwody logiczne

Algebrę L = (L, Neg, Alt, Kon, Imp) nazywamy algebrą języka logiki zdań. Jest to algebra o typie

LOGIKA I TEORIA ZBIORÓW

Algebrą nazywamy strukturę A = (A, {F i : i I }), gdzie A jest zbiorem zwanym uniwersum algebry, zaś F i : A F i

5c. Sieci i przepływy

Rachunek podziałów i elementy teorii grafów będą stosowane w procedurach redukcji argumentów i dekompozycji funkcji boolowskich.

Logika Stosowana. Wykład 1 - Logika zdaniowa. Marcin Szczuka. Instytut Informatyki UW. Wykład monograficzny, semestr letni 2016/2017

Logika Temporalna i Automaty Czasowe

Pętla for. Wynik działania programu:

Układy równań i nierówności liniowych

Algebra liniowa z geometrią

1.1 Definicja. 1.2 Przykład. 1.3 Definicja. Niech G oznacza dowolny, niepusty zbiór.

F t+ := s>t. F s = F t.

Wykład z Technologii Informacyjnych. Piotr Mika

Matematyczne Podstawy Informatyki

1 Podstawowe oznaczenia

Maszyna Turinga języki

Języki formalne i automaty Ćwiczenia 7

Pole wielokąta. Wejście. Wyjście. Przykład

MODELOWANIE I WERYFIKACJA PROTOKOŁU SCTP Z WYKORZYSTANIEM AUTOMATÓW CZASOWYCH ZE ZMIENNYMI

Matematyka II. Bezpieczeństwo jądrowe i ochrona radiologiczna Semestr letni 2018/2019 wykład 13 (27 maja)

MATEMATYKA I SEMESTR ALK (PwZ) 1. Sumy i sumy podwójne : Σ i ΣΣ

Wstęp do sieci neuronowych, wykład 11 Łańcuchy Markova

Porównanie algorytmów wyszukiwania najkrótszych ścieżek międz. grafu. Daniel Golubiewski. 22 listopada Instytut Informatyki

Trzy razy o indukcji

Ciała i wielomiany 1. przez 1, i nazywamy jedynką, zaś element odwrotny do a 0 względem działania oznaczamy przez a 1, i nazywamy odwrotnością a);

Języki formalne i automaty Ćwiczenia 9

Przykłady zdań w matematyce. Jeśli a 2 + b 2 = c 2, to trójkąt o bokach długości a, b, c jest prostokątny (a, b, c oznaczają dane liczby dodatnie),

Wykład 11a. Składnia języka Klasycznego Rachunku Predykatów. Języki pierwszego rzędu.

10110 =

Imię, nazwisko, nr indeksu

Reprezentacje grafów nieskierowanych Reprezentacje grafów skierowanych. Wykład 2. Reprezentacja komputerowa grafów

Arytmetyka liczb binarnych

Podstawy techniki cyfrowej. Układy asynchroniczne Opracował: R.Walkowiak Styczeń 2014

Układy równań liniowych

Definicja sieci. Sieć Petriego jest czwórką C = ( P, T, I, O ), gdzie: P = { p 1, p 2,, p n } T = { t 1, t 2,, t m }

O ROZMAITOŚCIACH TORYCZNYCH

( ) Arkusz I Zadanie 1. Wartość bezwzględna Rozwiąż równanie. Naszkicujmy wykresy funkcji f ( x) = x + 3 oraz g ( x) 2x

Zadanie 1. Czy prawdziwa jest następująca implikacja? Jeśli L A jest językiem regularnym, to regularnym językiem jest też. A = (A, Q, q I, F, δ)

Matematyczne Podstawy Informatyki

O geometrii semialgebraicznej

System BCD z κ. Adam Slaski na podstawie wykładów, notatek i uwag Pawła Urzyczyna. Semestr letni 2009/10

Podstawowe operacje arytmetyczne i logiczne dla liczb binarnych

1. Liczby wymierne. x dla x 0 (wartością bezwzględną liczby nieujemnej jest ta sama liczba)

2.1. Metoda minimalizacji Quine a-mccluskey a dla funkcji niezupełnych.

1) 2) 3) 5) 6) 7) 8) 9) 10) 11) 12) 13) 14) 15) 16) 17) 18) 19) 20) 21) 22) 23) 24) 25)

I. Podstawowe pojęcia i oznaczenia logiczne i mnogościowe. Elementy teorii liczb rzeczywistych.

(j, k) jeśli k j w przeciwnym przypadku.

3.Funkcje elementarne - przypomnienie

domykanie relacji, relacja równoważności, rozkłady zbiorów

JAO - Języki, Automaty i Obliczenia - Wykład 2. JAO - Języki, Automaty i Obliczenia - Wykład 2

Elementy logiki. Wojciech Buszkowski Wydział Matematyki i Informatyki UAM Zakład Teorii Obliczeń

n=0 Dla zbioru Cantora prawdziwe są wersje lematu 3.6 oraz lematu 3.8 przy założeniu α = :

KATEDRA INFORMATYKI TECHNICZNEJ. Ćwiczenia laboratoryjne z Logiki Układów Cyfrowych. ćwiczenie 204

Algebry skończonego typu i formy kwadratowe

AiSD zadanie trzecie

Co to jest wektor? Jest to obiekt posiadający: moduł (długość), kierunek wraz ze zwrotem.

Zadania do Rozdziału X

Spacery losowe generowanie realizacji procesu losowego

Matematyka dyskretna. Andrzej Łachwa, UJ, B/14

Drugie kolokwium z Rachunku Prawdopodobieństwa, zestaw A

Wykład 9. Matematyka 3, semestr zimowy 2011/ listopada 2011

Topologia I Wykład 4.

Andrzej Wiśniewski Logika II. Materiały do wykładu dla studentów kognitywistyki

KURS MATEMATYKA DYSKRETNA

Języki, automaty i obliczenia

Temperatura w atmosferze (czy innym ośrodku) jako funkcja dł. i szer. geogr. oraz wysokości.

Literatura. adów w cyfrowych. Projektowanie układ. Technika cyfrowa. Technika cyfrowa. Bramki logiczne i przerzutniki.

1 Zbiory. 1.1 Kiedy {a} = {b, c}? (tzn. podać warunki na a, b i c) 1.2 Udowodnić, że A {A} A =.

Składnia rachunku predykatów pierwszego rzędu

Definicja: alfabetem. słowem długością słowa

Relacje. opracował Maciej Grzesiak. 17 października 2011

Wykład nr 1 Techniki Mikroprocesorowe. dr inż. Artur Cichowski

1 Funktory i kwantyfikatory

Elementy teorii grafów Elementy teorii grafów

Teoria miary. Matematyka, rok II. Wykład 1

Plan wykładu. Przykład. Przykład 3/19/2011. Przykład zagadnienia transportowego. Optymalizacja w procesach biznesowych Wykład 2 DECYZJA?

A i. i=1. i=1. i=1. i=1. W dalszej części skryptu będziemy mieli najczęściej do czynienia z miarami określonymi na rodzinach, które są σ - algebrami.

4 Klasyczny rachunek zdań

Zakres materiału obowiązujący do egzaminu poprawkowego z matematyki klasa 1 d LO

Modelowanie i Analiza Systemów Informatycznych

Dystrybucje, wiadomości wstępne (I)

Wykład 16. P 2 (x 2, y 2 ) P 1 (x 1, y 1 ) OX. Odległość tych punktów wyraża się wzorem: P 1 P 2 = (x 1 x 2 ) 2 + (y 1 y 2 ) 2

Porównanie czasów działania algorytmów sortowania przez wstawianie i scalanie

Transkrypt:

Narzędzie do weryfikacji automatów czasowych 6 maja 2009

Plan 1 2 3

Modeluje układy (komunikujacych się) automatów czasowych Weryfikuje podane własności wyrażane w uproszczonym CTL Powstaje na uniwersytetach w Uppsali oraz Aalborgu Pierwsza wersja: 1995, obecnie 4.0.7 W internecie: www.uppaal.com

Modeluje układy (komunikujacych się) automatów czasowych Weryfikuje podane własności wyrażane w uproszczonym CTL Powstaje na uniwersytetach w Uppsali oraz Aalborgu Pierwsza wersja: 1995, obecnie 4.0.7 W internecie: www.uppaal.com

Modeluje układy (komunikujacych się) automatów czasowych Weryfikuje podane własności wyrażane w uproszczonym CTL Powstaje na uniwersytetach w Uppsali oraz Aalborgu Pierwsza wersja: 1995, obecnie 4.0.7 W internecie: www.uppaal.com

Funkcjonalność Wielofunkcyjny interfejs graficzny: Definiowanie wejściowej sieci automatów Śledzenie wybranych ścieżek wykonania Weryfikacja podanych własności Znajduje kontrprzykłady, umożliwia ich śledzenie

Plan 1 2 3

Języki ω-regularne JAO: skończone automaty rozpoznaja skończone słowa Skończone automaty i nieskończone słowa jak akceptować? Büchi: Któryś ze stanów akceptujacych ma się zdarzać razy Muller: Zbiór stanów zdarzajacych się ma być którymś z akceptujacych Siła automatów: Büchi det. < ( Büchi ndet. = Muller ndet. = Muller det. ) W wersji czasowej Muller det. < Muller ndet.!

Języki ω-regularne JAO: skończone automaty rozpoznaja skończone słowa Skończone automaty i nieskończone słowa jak akceptować? Büchi: Któryś ze stanów akceptujacych ma się zdarzać razy Muller: Zbiór stanów zdarzajacych się ma być którymś z akceptujacych Siła automatów: Büchi det. < ( Büchi ndet. = Muller ndet. = Muller det. ) W wersji czasowej Muller det. < Muller ndet.!

Języki ω-regularne JAO: skończone automaty rozpoznaja skończone słowa Skończone automaty i nieskończone słowa jak akceptować? Büchi: Któryś ze stanów akceptujacych ma się zdarzać razy Muller: Zbiór stanów zdarzajacych się ma być którymś z akceptujacych Siła automatów: Büchi det. < ( Büchi ndet. = Muller ndet. = Muller det. ) W wersji czasowej Muller det. < Muller ndet.!

Dokładamy czas Znak s i w słowie σ pojawia się w momencie t i R Słowem jest para: (napis σ, ciag czasów τ) Monotoniczność: t i t i+1 Rozbieżność: t i Automat czasowy: Pobyt w lokacji może trwać pewien czas Przejście po krawędzi natychmiastowe Możliwe przejścia moga zależeć od czasu

Dokładamy czas Znak s i w słowie σ pojawia się w momencie t i R Słowem jest para: (napis σ, ciag czasów τ) Monotoniczność: t i t i+1 Rozbieżność: t i Automat czasowy: Pobyt w lokacji może trwać pewien czas Przejście po krawędzi natychmiastowe Możliwe przejścia moga zależeć od czasu

Dokładamy czas Znak s i w słowie σ pojawia się w momencie t i R Słowem jest para: (napis σ, ciag czasów τ) Monotoniczność: t i t i+1 Rozbieżność: t i Automat czasowy: Pobyt w lokacji może trwać pewien czas Przejście po krawędzi natychmiastowe Możliwe przejścia moga zależeć od czasu

Automat czasowy dokładniej Zbiór zegarów C o zgodnej prędkości (albo i nie...) Zegary można zerować przechodzac po krawędziach Ograniczenia czasowe na krawędziach: Porównanie zegara z liczba wymierna (to prawie jak z całkowita...) Operacje logiczne Determinizm: Różne reakcje na ten sam symbol sa aktywne w różnych momentach

Automat czasowy dokładniej Zbiór zegarów C o zgodnej prędkości (albo i nie...) Zegary można zerować przechodzac po krawędziach Ograniczenia czasowe na krawędziach: Porównanie zegara z liczba wymierna (to prawie jak z całkowita...) Operacje logiczne Determinizm: Różne reakcje na ten sam symbol sa aktywne w różnych momentach

Jak Z wymusza zbieżność (akceptuje stan po prawej)

Jak Z wymusza zbieżność (akceptuje stan po prawej) Słowo ((ab) ω, τ) jest dobre t 2i 1 = i oraz ciag t 2i t 2i 1 maleje

Semantyka System przejść między stanami postaci: Upływ czasu: Przejście po krawędzi: (lokacja l, wskazania zegarów t) δ (l, t) (l, t + δ) a (l, t) (l, t[z 0]), a o ile istnieje krawędź l l z ograniczeniami φ oraz zbiorem zerowanych zegarów Z, dla której zachodzi φ( t) Oprócz czasu jest jeszcze kolejność

Semantyka System przejść między stanami postaci: Upływ czasu: Przejście po krawędzi: (lokacja l, wskazania zegarów t) δ (l, t) (l, t + δ) a (l, t) (l, t[z 0]), a o ile istnieje krawędź l l z ograniczeniami φ oraz zbiorem zerowanych zegarów Z, dla której zachodzi φ( t) Oprócz czasu jest jeszcze kolejność

Semantyka System przejść między stanami postaci: Upływ czasu: Przejście po krawędzi: (lokacja l, wskazania zegarów t) δ (l, t) (l, t + δ) a (l, t) (l, t[z 0]), a o ile istnieje krawędź l l z ograniczeniami φ oraz zbiorem zerowanych zegarów Z, dla której zachodzi φ( t) Oprócz czasu jest jeszcze kolejność

Plan 1 2 3

Automaty w -u Ograniczenia na pobyt w danej lokacji Zmienne lokalne i globalne W ograniczeniach na lokacje/przejścia W akcjach zwiazanych z przejściami Zabraniamy alternatywy dla nierówności zegarowych (więc również negacji...) Można porównać różnicę dwóch zegarów z liczba

Automaty w -u Ograniczenia na pobyt w danej lokacji Zmienne lokalne i globalne W ograniczeniach na lokacje/przejścia W akcjach zwiazanych z przejściami Zabraniamy alternatywy dla nierówności zegarowych (więc również negacji...) Można porównać różnicę dwóch zegarów z liczba

Automaty w -u Ograniczenia na pobyt w danej lokacji Zmienne lokalne i globalne W ograniczeniach na lokacje/przejścia W akcjach zwiazanych z przejściami Zabraniamy alternatywy dla nierówności zegarowych (więc również negacji...) Można porównać różnicę dwóch zegarów z liczba

Produkt automatów Intuicja: automaty pracuja niezależnie Założenia: Własne (rozłaczne) zbiory zegarów Własne (niekoniecznie rozłaczne) zbiory symboli ważne! Przepis na A B: Mnożymy zbiory lokacji Sumujemy zbiory zegarów Sumujemy zbiory symboli Przejście (l, m) (l a, m ), jeśli: a a l l, m m a l l i B nie zna a, lub na odwrót Koniunkcja ograniczeń na przejścia/lokacje, suma zerowanych zegarów

Produkt automatów Intuicja: automaty pracuja niezależnie Założenia: Własne (rozłaczne) zbiory zegarów Własne (niekoniecznie rozłaczne) zbiory symboli ważne! Przepis na A B: Mnożymy zbiory lokacji Sumujemy zbiory zegarów Sumujemy zbiory symboli Przejście (l, m) (l a, m ), jeśli: a a l l, m m a l l i B nie zna a, lub na odwrót Koniunkcja ograniczeń na przejścia/lokacje, suma zerowanych zegarów

Produkt automatów Intuicja: automaty pracuja niezależnie Założenia: Własne (rozłaczne) zbiory zegarów Własne (niekoniecznie rozłaczne) zbiory symboli ważne! Przepis na A B: Mnożymy zbiory lokacji Sumujemy zbiory zegarów Sumujemy zbiory symboli Przejście (l, m) (l a, m ), jeśli: a a l l, m m a l l i B nie zna a, lub na odwrót Koniunkcja ograniczeń na przejścia/lokacje, suma zerowanych zegarów

Produkt automatów Intuicja: automaty pracuja niezależnie Założenia: Własne (rozłaczne) zbiory zegarów Własne (niekoniecznie rozłaczne) zbiory symboli ważne! Przepis na A B: Mnożymy zbiory lokacji Sumujemy zbiory zegarów Sumujemy zbiory symboli Przejście (l, m) (l a, m ), jeśli: a a l l, m m a l l i B nie zna a, lub na odwrót Koniunkcja ograniczeń na przejścia/lokacje, suma zerowanych zegarów

Sieci automatów Projekt w U to układ automatów (de facto produkt) Synchronizacja najprostszy przypadek: Synchronizacja binarna/broadcast

Sieci automatów Projekt w U to układ automatów (de facto produkt) Synchronizacja najprostszy przypadek: Synchronizacja binarna/broadcast

Sieci automatów Projekt w U to układ automatów (de facto produkt) Synchronizacja najprostszy przypadek: Synchronizacja binarna/broadcast

Dalsze możliwości Selekcja działa jak rodzina krawędzi z parametrem Urgent locations nie pozwalaja na upływ czasu Committed locations j. w. i musza być opuszczone jako pierwsze (czas vs kolejność...) Urgent synchronisation nie można zwlekać, jeśli się da...

Dalsze możliwości Selekcja działa jak rodzina krawędzi z parametrem Urgent locations nie pozwalaja na upływ czasu Committed locations j. w. i musza być opuszczone jako pierwsze (czas vs kolejność...) Urgent synchronisation nie można zwlekać, jeśli się da...

Dalsze możliwości Selekcja działa jak rodzina krawędzi z parametrem Urgent locations nie pozwalaja na upływ czasu Committed locations j. w. i musza być opuszczone jako pierwsze (czas vs kolejność...) Urgent synchronisation nie można zwlekać, jeśli się da...

Przykład

Specyfikacja weryfikowanych własności Uproszczony CTL na grafie przejść automatu Warunki stanowe: Porównania zmiennych, zegarów, liczb całkowitych Operacje logiczne Kwantyfikatory (po skończonych zbiorach) A.L automat A jest w lokacji L deadlock nie ma i nie będzie dokad pójść Warunki ścieżkowe: A[], E[], A<>, E<>, --> [] = zawsze, <> = kiedyś p --> q A[] (p imply A<> q) Bez zagnieżdżania warunków ścieżkowych

Specyfikacja weryfikowanych własności Uproszczony CTL na grafie przejść automatu Warunki stanowe: Porównania zmiennych, zegarów, liczb całkowitych Operacje logiczne Kwantyfikatory (po skończonych zbiorach) A.L automat A jest w lokacji L deadlock nie ma i nie będzie dokad pójść Warunki ścieżkowe: A[], E[], A<>, E<>, --> [] = zawsze, <> = kiedyś p --> q A[] (p imply A<> q) Bez zagnieżdżania warunków ścieżkowych

Specyfikacja weryfikowanych własności Uproszczony CTL na grafie przejść automatu Warunki stanowe: Porównania zmiennych, zegarów, liczb całkowitych Operacje logiczne Kwantyfikatory (po skończonych zbiorach) A.L automat A jest w lokacji L deadlock nie ma i nie będzie dokad pójść Warunki ścieżkowe: A[], E[], A<>, E<>, --> [] = zawsze, <> = kiedyś p --> q A[] (p imply A<> q) Bez zagnieżdżania warunków ścieżkowych

Semantyka CTL w -u E<> p: istnieje skończone przejście, zakończone stanem spełniajacym p E[] p: istnieje maksymalne (nie)skończone przejście po stanach spełniajacych p A[] p not E<> not p A<> p not E[] not p p --> q A[] (p imply A<> q) (prawa strona niepoprawna w -u) Wniosek: własności egzystencjalne w -u sa słabsze niż w teorii

Semantyka CTL w -u E<> p: istnieje skończone przejście, zakończone stanem spełniajacym p E[] p: istnieje maksymalne (nie)skończone przejście po stanach spełniajacych p A[] p not E<> not p A<> p not E[] not p p --> q A[] (p imply A<> q) (prawa strona niepoprawna w -u) Wniosek: własności egzystencjalne w -u sa słabsze niż w teorii

Semantyka CTL w -u E<> p: istnieje skończone przejście, zakończone stanem spełniajacym p E[] p: istnieje maksymalne (nie)skończone przejście po stanach spełniajacych p A[] p not E<> not p A<> p not E[] not p p --> q A[] (p imply A<> q) (prawa strona niepoprawna w -u) Wniosek: własności egzystencjalne w -u sa słabsze niż w teorii

Semantyka CTL w -u przykład Według teorii automat nic nie akceptuje Według -a: TAK E<> true TAK A --> B TAK B --> A NIE E<> x == 2 NIE x == 0 --> x == 2 TAK x == 2 --> x == 4

Semantyka CTL w -u przykład Według teorii automat nic nie akceptuje Według -a: TAK E<> true TAK A --> B TAK B --> A NIE E<> x == 2 NIE x == 0 --> x == 2 TAK x == 2 --> x == 4

Semantyka CTL w -u przykład Według teorii automat nic nie akceptuje Według -a: TAK E<> true TAK A --> B TAK B --> A NIE E<> x == 2 NIE x == 0 --> x == 2 TAK x == 2 --> x == 4

Ustawienia weryfikacji Generowanie (kontr)przykładów, losowych badź optymalnych Kolejność przegladania stanów: wgłab, wszerz, losowo wszerz Reprezentacja przestrzeni stanów: DBM szybkie, pamięciożerne Compact Data Structure wolniej, mniej pamięci (zwłaszcza przy wielu zegarach) Over Approximation bywa b. szybkie przy wielu zegarach Under Approximation pozwala ustalić ilość pamięci

Ustawienia weryfikacji Generowanie (kontr)przykładów, losowych badź optymalnych Kolejność przegladania stanów: wgłab, wszerz, losowo wszerz Reprezentacja przestrzeni stanów: DBM szybkie, pamięciożerne Compact Data Structure wolniej, mniej pamięci (zwłaszcza przy wielu zegarach) Over Approximation bywa b. szybkie przy wielu zegarach Under Approximation pozwala ustalić ilość pamięci

Ustawienia weryfikacji Generowanie (kontr)przykładów, losowych badź optymalnych Kolejność przegladania stanów: wgłab, wszerz, losowo wszerz Reprezentacja przestrzeni stanów: DBM szybkie, pamięciożerne Compact Data Structure wolniej, mniej pamięci (zwłaszcza przy wielu zegarach) Over Approximation bywa b. szybkie przy wielu zegarach Under Approximation pozwala ustalić ilość pamięci

Czas weryfikacji Test: model mostu kolejowego, 5 razy 14 własności CDS, DBM, Over czasy 30-35 s Under: 2s (8B :) ), 34s (128K), 93s (64M)

Czas weryfikacji Test: model mostu kolejowego, 5 razy 14 własności CDS, DBM, Over czasy 30-35 s Under: 2s (8B :) ), 34s (128K), 93s (64M)

Czas weryfikacji Test: model mostu kolejowego, 5 razy 14 własności CDS, DBM, Over czasy 30-35 s Under: 2s (8B :) ), 34s (128K), 93s (64M)

Plan 1 2 3

Osiagalność stanu Problem: E<> p (równoważnie: not A[] not p) To znaczy: czy da się dojść jakkolwiek do stanu spełniajacego p? Osiagalny stan = osiagalny wierzchołek w grafie stanów Problemy: Graf stanów bardzo nieskończony Zwiazek między osiagalności a stanu a niepustościa języka Na ile istotne?

Osiagalność stanu Problem: E<> p (równoważnie: not A[] not p) To znaczy: czy da się dojść jakkolwiek do stanu spełniajacego p? Osiagalny stan = osiagalny wierzchołek w grafie stanów Problemy: Graf stanów bardzo nieskończony Zwiazek między osiagalności a stanu a niepustościa języka Na ile istotne?

Osiagalność stanu Problem: E<> p (równoważnie: not A[] not p) To znaczy: czy da się dojść jakkolwiek do stanu spełniajacego p? Osiagalny stan = osiagalny wierzchołek w grafie stanów Problemy: Graf stanów bardzo nieskończony Zwiazek między osiagalności a stanu a niepustościa języka Na ile istotne?

Dobre sklejenia Szukamy sklejajacej relacji równoważności o dobrych własnościach Stabilność: jeśli a q, to a q u q u q a u Wrażliwość: przy ustalonym wektorze t, nie skleja lokacji akceptujacych z nieakceptujacymi Osiagalność stanów akceptujacych w grafie jest równoważna osiagalności w ilorazie grafu przez

Dobre sklejenia Szukamy sklejajacej relacji równoważności o dobrych własnościach Stabilność: jeśli a q, to a q u q u q a u Wrażliwość: przy ustalonym wektorze t, nie skleja lokacji akceptujacych z nieakceptujacymi Osiagalność stanów akceptujacych w grafie jest równoważna osiagalności w ilorazie grafu przez

Dobre sklejenia Szukamy sklejajacej relacji równoważności o dobrych własnościach Stabilność: jeśli a q, to a q u q u q a u Wrażliwość: przy ustalonym wektorze t, nie skleja lokacji akceptujacych z nieakceptujacymi Osiagalność stanów akceptujacych w grafie jest równoważna osiagalności w ilorazie grafu przez

Dobre sklejenia Szukamy sklejajacej relacji równoważności o dobrych własnościach Stabilność: jeśli a q, to a q u q u q a u Wrażliwość: przy ustalonym wektorze t, nie skleja lokacji akceptujacych z nieakceptujacymi Osiagalność stanów akceptujacych w grafie jest równoważna osiagalności w ilorazie grafu przez

Obszary wektorów czasowych Skalujemy czas tak, by wszystkie jego ograniczenia były całkowite Rozważamy minimalne zbiory, które można określić w dozwolonych formułach Wrażliwość oczywista Stabilność widać na obrazku Skończenie wiele!

Obszary wektorów czasowych Skalujemy czas tak, by wszystkie jego ograniczenia były całkowite Rozważamy minimalne zbiory, które można określić w dozwolonych formułach Wrażliwość oczywista Stabilność widać na obrazku Skończenie wiele!

Obszary wektorów czasowych Skalujemy czas tak, by wszystkie jego ograniczenia były całkowite Rozważamy minimalne zbiory, które można określić w dozwolonych formułach Wrażliwość oczywista Stabilność widać na obrazku Skończenie wiele!

Obszary wektorów czasowych Skalujemy czas tak, by wszystkie jego ograniczenia były całkowite Rozważamy minimalne zbiory, które można określić w dozwolonych formułach Wrażliwość oczywista Stabilność widać na obrazku Skończenie wiele!

Osiagalność stanu a niepustość języka Sprowadzamy osiagalność do niepustości: dodatkowa lokacja, jedyna akceptujaca, można wejść jeśli zachodzi p, nie można wyjść Sprowadzamy (prawie) niepustość do osiagalności: Nowy automat jest skończony, więc kiedyś się pętlimy Wystarczy pętlić się w stanie akceptujacym...... pod warunkiem, że pętla nie mieści się w jednym obszarze czasowym (?)

Osiagalność stanu a niepustość języka Sprowadzamy osiagalność do niepustości: dodatkowa lokacja, jedyna akceptujaca, można wejść jeśli zachodzi p, nie można wyjść Sprowadzamy (prawie) niepustość do osiagalności: Nowy automat jest skończony, więc kiedyś się pętlimy Wystarczy pętlić się w stanie akceptujacym...... pod warunkiem, że pętla nie mieści się w jednym obszarze czasowym (?)

Osiagalność stanu a niepustość języka Sprowadzamy osiagalność do niepustości: dodatkowa lokacja, jedyna akceptujaca, można wejść jeśli zachodzi p, nie można wyjść Sprowadzamy (prawie) niepustość do osiagalności: Nowy automat jest skończony, więc kiedyś się pętlimy Wystarczy pętlić się w stanie akceptujacym...... pod warunkiem, że pętla nie mieści się w jednym obszarze czasowym (?)

Osiagalność stanu a niepustość języka Sprowadzamy osiagalność do niepustości: dodatkowa lokacja, jedyna akceptujaca, można wejść jeśli zachodzi p, nie można wyjść Sprowadzamy (prawie) niepustość do osiagalności: Nowy automat jest skończony, więc kiedyś się pętlimy Wystarczy pętlić się w stanie akceptujacym...... pod warunkiem, że pętla nie mieści się w jednym obszarze czasowym (?)

Strefy Podejście alternatywne wobec idei obszarów Strefa zbiór wypukły, opisany przez ograniczenia współrzędnych i ich różnic Trzy podstawowe operacje: przekrój, rzutowanie, rozpóźnienie

Strefy Podejście alternatywne wobec idei obszarów Strefa zbiór wypukły, opisany przez ograniczenia współrzędnych i ich różnic Trzy podstawowe operacje: przekrój, rzutowanie, rozpóźnienie

Automat stref Stanami sa wszystkie możliwe pary (lokacja l, strefa S) Stan zbiór możliwych stanów wyjściowego automatu po danych przejściach a Przejście: jeśli w oryginalnym automacie l l pod warunkiem γ z zerowaniem C, to a (l, S) (l, π C (S γ)) Automat skończony Olbrzymi w porównaniu z automatem obszarów, ale zazwyczaj mniej stanów osiagalnych

Automat stref Stanami sa wszystkie możliwe pary (lokacja l, strefa S) Stan zbiór możliwych stanów wyjściowego automatu po danych przejściach a Przejście: jeśli w oryginalnym automacie l l pod warunkiem γ z zerowaniem C, to a (l, S) (l, π C (S γ)) Automat skończony Olbrzymi w porównaniu z automatem obszarów, ale zazwyczaj mniej stanów osiagalnych

Automat stref Stanami sa wszystkie możliwe pary (lokacja l, strefa S) Stan zbiór możliwych stanów wyjściowego automatu po danych przejściach a Przejście: jeśli w oryginalnym automacie l l pod warunkiem γ z zerowaniem C, to a (l, S) (l, π C (S γ)) Automat skończony Olbrzymi w porównaniu z automatem obszarów, ale zazwyczaj mniej stanów osiagalnych

Automat stref Stanami sa wszystkie możliwe pary (lokacja l, strefa S) Stan zbiór możliwych stanów wyjściowego automatu po danych przejściach a Przejście: jeśli w oryginalnym automacie l l pod warunkiem γ z zerowaniem C, to a (l, S) (l, π C (S γ)) Automat skończony Olbrzymi w porównaniu z automatem obszarów, ale zazwyczaj mniej stanów osiagalnych

Osiagalność Osiagalność zbioru stanów osiagalność strefy nierozłacznej ze strefa akceptujac a (można sprowadzić po prostu do osiagalności strefy akceptujacej) Stosujemy zwykłe wyszukiwanie w głab w automacie stref Optymalizacja: pomijamy podstany już przejrzanych stanów

Osiagalność Osiagalność zbioru stanów osiagalność strefy nierozłacznej ze strefa akceptujac a (można sprowadzić po prostu do osiagalności strefy akceptujacej) Stosujemy zwykłe wyszukiwanie w głab w automacie stref Optymalizacja: pomijamy podstany już przejrzanych stanów

Osiagalność Osiagalność zbioru stanów osiagalność strefy nierozłacznej ze strefa akceptujac a (można sprowadzić po prostu do osiagalności strefy akceptujacej) Stosujemy zwykłe wyszukiwanie w głab w automacie stref Optymalizacja: pomijamy podstany już przejrzanych stanów

DBM Reprezentujemy strefę jako graf Wierzchołkami sa zegary oraz 0 Krawędź x a y oznacza, że y x a Dopuszczamy krawędzie ujemne! Domknięcie: stosujemy nierówność trójkata Redukcja: usuwamy niepotrzebne krawędzie postać kanoniczna

DBM Reprezentujemy strefę jako graf Wierzchołkami sa zegary oraz 0 Krawędź x a y oznacza, że y x a Dopuszczamy krawędzie ujemne! Domknięcie: stosujemy nierówność trójkata Redukcja: usuwamy niepotrzebne krawędzie postać kanoniczna

DBM Reprezentujemy strefę jako graf Wierzchołkami sa zegary oraz 0 Krawędź x a y oznacza, że y x a Dopuszczamy krawędzie ujemne! Domknięcie: stosujemy nierówność trójkata Redukcja: usuwamy niepotrzebne krawędzie postać kanoniczna

Operacje na DBM Niesprzeczność brak ujemnych cykli (czyli brak ujemnych pętli po domknięciu) Przekrój: sumujemy krawędzie (i redukujemy) Rzutowanie: piszemy zera na odp. krawędziach (i redukujemy) Rozpóźnienie: Najpierw domykamy Potem usuwamy krawędzie od zera do zegarów (inne zostawiamy) (i redukujemy)

Operacje na DBM Niesprzeczność brak ujemnych cykli (czyli brak ujemnych pętli po domknięciu) Przekrój: sumujemy krawędzie (i redukujemy) Rzutowanie: piszemy zera na odp. krawędziach (i redukujemy) Rozpóźnienie: Najpierw domykamy Potem usuwamy krawędzie od zera do zegarów (inne zostawiamy) (i redukujemy)

Operacje na DBM Niesprzeczność brak ujemnych cykli (czyli brak ujemnych pętli po domknięciu) Przekrój: sumujemy krawędzie (i redukujemy) Rzutowanie: piszemy zera na odp. krawędziach (i redukujemy) Rozpóźnienie: Najpierw domykamy Potem usuwamy krawędzie od zera do zegarów (inne zostawiamy) (i redukujemy)

Redukcja DBM Krawędź jest redundatntna, jeśli da się dojść krócej Usunać wszystkie redundantne? Tak, jeśli nie ma ujemnych lub zerowych cykli Zerowy cykl oznacza równość wszystkich zegarów Metoda: Znajdujemy klasy równoważności Między dwoma klasami zostawiamy 1 krawędź W każdej klasie zostawiamy jeden rozpinajacy cykl

Redukcja DBM Krawędź jest redundatntna, jeśli da się dojść krócej Usunać wszystkie redundantne? Tak, jeśli nie ma ujemnych lub zerowych cykli Zerowy cykl oznacza równość wszystkich zegarów Metoda: Znajdujemy klasy równoważności Między dwoma klasami zostawiamy 1 krawędź W każdej klasie zostawiamy jeden rozpinajacy cykl

Redukcja DBM Krawędź jest redundatntna, jeśli da się dojść krócej Usunać wszystkie redundantne? Tak, jeśli nie ma ujemnych lub zerowych cykli Zerowy cykl oznacza równość wszystkich zegarów Metoda: Znajdujemy klasy równoważności Między dwoma klasami zostawiamy 1 krawędź W każdej klasie zostawiamy jeden rozpinajacy cykl

Redukcja DBM Krawędź jest redundatntna, jeśli da się dojść krócej Usunać wszystkie redundantne? Tak, jeśli nie ma ujemnych lub zerowych cykli Zerowy cykl oznacza równość wszystkich zegarów Metoda: Znajdujemy klasy równoważności Między dwoma klasami zostawiamy 1 krawędź W każdej klasie zostawiamy jeden rozpinajacy cykl

Redukcja DBM Krawędź jest redundatntna, jeśli da się dojść krócej Usunać wszystkie redundantne? Tak, jeśli nie ma ujemnych lub zerowych cykli Zerowy cykl oznacza równość wszystkich zegarów Metoda: Znajdujemy klasy równoważności Między dwoma klasami zostawiamy 1 krawędź W każdej klasie zostawiamy jeden rozpinajacy cykl

Literatura R. Alur, Timed Automata http://www.cis.upenn.edu/ alur/cav99.ps szersza wersja: http://www.cis.upenn.edu/ alur/nato97.ps Strona Uppaala: http://www.uppaal.com G. Berman, A. David, K. G. Larsen, A Tutorial on Uppaal http://www.it.uu.se/research/group/darts/papers/texts/new-tutorial.pdf K. G. Larsen, Formal Methods for Real Time Systems (... ) (slajdy) http://www.cs.aau.dk/ kgl/artes/index.htm R. Alur, D. L. Dill, A Theory of Timed Automata (odwrócony porzadek stron) http://www.cis.upenn.edu/ alur/icalp90.ps