Logika Temporalna i Automaty Czasowe

Podobne dokumenty
Logika Temporalna i Automaty Czasowe

Logika Temporalna i Automaty Czasowe

Logika Temporalna i Automaty Czasowe

Logika Temporalna i Automaty Czasowe

Logika Temporalna i Automaty Czasowe

Modelowanie i Analiza Systemów Informatycznych

Logika Temporalna i Automaty Czasowe

Logika Temporalna i Automaty Czasowe

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

Wprowadzenie Logiki temporalne Przykłady użycia Bibliografia. Logiki temporalne. Andrzej Oszer. Seminarium Protokoły Komunikacyjne

Praktyczne metody weryfikacji

Programy współbieżne

Systemy zdarzeniowe - opis przedmiotu

procesów Współbieżność i synchronizacja procesów Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak

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 }

Klasyczne i kwantowe podejście do teorii automatów i języków formalnych p.1/33

Weryfikacja modelowa. Protokoły komunikacyjne 2006/2007. Paweł Kaczan

Matematyczne Podstawy Informatyki

Najkrótsza droga Maksymalny przepływ Najtańszy przepływ Analiza czynności (zdarzeń)

Wyrażenie nawiasowe. Wyrażenie puste jest poprawnym wyrażeniem nawiasowym.

Język UML w modelowaniu systemów informatycznych

Informatyka I. Wykład 3. Sterowanie wykonaniem programu. Instrukcje warunkowe Instrukcje pętli. Dr inż. Andrzej Czerepicki

Wprowadzenie do programowania współbieżnego

O LICZBACH NIEOBLICZALNYCH I ICH ZWIĄZKACH Z INFORMATYKĄ

Praktyczne metody weryfikacji

Modelowanie procesów współbieżnych

Teoria obliczeń czyli czego komputery zrobić nie mogą

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

Logiczna reprezentacja wiedzy i metoda logiczno-algebraiczna

Korzystanie z edytora zasad grupy do zarządzania zasadami komputera lokalnego w systemie Windows XP

Schematy Piramid Logicznych

Modelowanie aktywności. Jarosław Kuchta Programowanie Współbieżne

Np. Olsztyn leży nad Łyną - zdanie prawdziwe, wartość logiczna 1 4 jest większe od 5 - zdanie fałszywe, wartość logiczna 0

Sterowniki Programowalne (SP) Wykład 11

ECDL Podstawy programowania Sylabus - wersja 1.0

Języki formalne i automaty Ćwiczenia 9

Indukcja. Materiały pomocnicze do wykładu. wykładowca: dr Magdalena Kacprzak

Paradygmaty dowodzenia

Imię, nazwisko, nr indeksu

Bazy danych w sterowaniu

Podstawy Sztucznej Inteligencji (PSZT)

Matematyczne Podstawy Informatyki

Jaki język zrozumie automat?

Automat skończony FSM Finite State Machine

Wielomiany jednej zmiennej rzeczywistej algorytmy

Matematyczne podstawy informatyki Mathematical Foundations of Computational Sciences. Matematyka Poziom kwalifikacji: II stopnia

Transakcje. (c) Instytut Informatyki Politechniki Poznańskiej

Asynchroniczne statyczne układy sekwencyjne

Podstawy Sztucznej Inteligencji (PSZT)

OBLICZALNOŚĆ I NIEOBLICZALNOŚĆ

Teoria obliczeń i złożoność obliczeniowa

1. Synteza automatów Moore a i Mealy realizujących zadane przekształcenie 2. Transformacja automatu Moore a w automat Mealy i odwrotnie

Analiza i projektowanie oprogramowania. Analiza i projektowanie oprogramowania 1/32

Analiza sieci Petriego

Modele Obliczeń. Wykład 1 - Wprowadzenie. Marcin Szczuka. Instytut Matematyki, Uniwersytet Warszawski

Wydział Elektrotechniki, Automatyki, Informatyki i Elektroniki. Katedra Automatyki. Rozprawa doktorska

Turing i jego maszyny

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

Podstawy Programowania C++

Lista zadań nr 5. Ścieżka projektowa Realizacja każdego z zadań odbywać się będzie zgodnie z poniższą ścieżką projektową (rys.

W_4 Adaptacja sterownika PLC do obiektu sterowania. Synteza algorytmu procesu i sterowania metodą GRAFCET i SFC

Języki, automaty i obliczenia

4 Klasyczny rachunek zdań

Wykład 3 Hipotezy statystyczne

Algorytmy Równoległe i Rozproszone Część X - Algorytmy samostabilizujące.

O ISTOTNYCH OGRANICZENIACH METODY

miejsca przejścia, łuki i żetony

LABORATORIUM 08, ZESTAW 1 SYNTEZA ASYNCHRONICZNYCH UKŁADÓW SEKWENCYJNYCH

Struktura danych. Sposób uporządkowania informacji w komputerze.

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

Przeplot. Synchronizacja procesów. Cel i metody synchronizacji procesów. Wątki współbieżne

Adaptacja sterownika PLC do obiektu sterowania. Synteza algorytmu procesu i sterowania metodą GRAFCET i SFC

Logika 2 Logiki temporalne

Poprawność semantyczna

Równoległość i współbieżność

Równoległość i współbieżność

Sieci Petriego. Sieć Petriego

Instalowanie dodatku Message Broadcasting

SWB - Projektowanie synchronicznych układów sekwencyjnych - wykład 5 asz 1. Układy kombinacyjne i sekwencyjne - przypomnienie

Wstęp. Jak programować w DNA? Idea oraz przykład. Problem FSAT charakterystyka i rozwiązanie za pomocą DNA. Jak w ogólności rozwiązywać problemy


Analiza sieci Petriego

Algorytmy i struktury danych. wykład 2

Praktyczne metody weryfikacji. Wykład 9: Weryfikacja ograniczona.. p.1/40

Wstęp do logiki. Klasyczny Rachunek Zdań II

M T E O T D O ZI Z E E A LG L O G R O Y R TM

Instrukcja obsługi programowalnego zegara cyfrowego

Lekcja 3: Elementy logiki - Rachunek zdań

Programowanie funkcyjne wprowadzenie Specyfikacje formalne i programy funkcyjne

Programowanie deklaratywne i logika obliczeniowa

Field of study: Computer Science Study level: First-cycle studies Form and type of study: Full-time studies. Auditorium classes.

Formalna weryfikacja oprogramowania w lotnictwie

LEGENDFORD. system alarmowy

SZTUCZNA INTELIGENCJA

Projektowanie i Analiza Algorytmów

Propozycja Dynamicznych Ról i Programowania Przez Kontrakt dla języka Java

Systemy uczące się wykład 2

LABORATORIUM 11, ZESTAW 1 SYNTEZA ASYNCHRONICZNYCH UKŁADÓW SEKWENCYJNYCH, CZ.I

Algorytmy i Struktury Danych.

INSTRUKCJA OBSŁUGI ELEKTRYCZNY PIEC KONWEKCYJNY

Transkrypt:

Modelowanie i Analiza Systemów Informatycznych Logika Temporalna i Automaty Czasowe (4) Modelowa weryfikacja systemu Paweł Głuchowski, Politechnika Wrocławska wersja 2.1

Treść wykładu Własności współbieżnych programów Co to jest współbieżny program? Typowe własności 2

Treść wykładu Automat skończenie stanowy Co to jest automat skończenie stanowy? Przykłady automatów i ich własności 3

Treść wykładu Modelowa weryfikacja systemu Modelowa weryfikacja systemu Najważniejsze własności do weryfikacji Algorytm modelowej weryfikacji systemu Prosty przykład 4

Własności współbieżnych programów Co to jest współbieżny program? Typowe własności 5

Własności współbieżnych programów Co to jest współbieżny program? Współbieżny program składa się z procesów, gdzie: procesy wykonywane są w tym samym czasie; procesy mogą współdzielić pewne zasoby, np. zmienne; procesy mogą wzajemnie oddziaływać na siebie. 6

Własności współbieżnych programów Typowe własności Współbieżny program P składa się ze współbieżnie wykonywanych procesów: P1, P2, P3, Własności P to: q1, q2, q3, q4, Własność qi programu P może być określona przez formułę i, która będzie spełniona w każdym wykonaniu P (od pierwszego stanu, w którym s0 i), niezależnie od sposobu zarządzania procesami. 7

Własności współbieżnych programów Typowe własności bezpieczeństwo q1 jest spełnione w każdym momencie 1 Gq1 osiągalność q2 będzie spełnione w pewnym momencie 2 Fq2 np. dostęp do sekcji krytycznej CS zawsze jest możliwy. np. proces w końcu dostanie się do CS. odpowiedź q3 jest spełnione od czasu do czasu 3 GFq3 np. proces jest usypiany od czasu do czasu. trwałość od pewnego momentu: q4 jest spełnione w każdym momencie 4 FGq4 np. od pewnego momentu: proces nie chce dostępu do CS. żywotność q5 jest osiągalne jako skutek p G(p Fq5) np. dostęp procesu do CS jest zapewniony na żądanie. 8

Automat skończenie stanowy Co to jest automat skończenie stanowy? Przykłady automatów i ich własności 9

Automat skończenie stanowy Co to jest automat skończenie stanowy? jest abstrakcyjną maszyną stanową, składa się ze skończonej liczby stanów i przejść między nimi, ma stany początkowe i może mieć stany końcowe, jest automatem, w którym przejścia między stanami są odpalane deterministycznie (jednoznacznie opisane funkcją przejścia). 10

Automat skończenie stanowy Co to jest automat skończenie stanowy? Automat A={, S, S0,, F } jest zdefiniowany przez: alfabet (zbiór stanów programu), S zbiór stanów automatu, S0 zbiór stanów początkowych, funkcja przejścia (S x x S), F zbiór stanów końcowych. Przebieg to ścieżka stanów, np. s1, s2, s2, s3. Stan można opisać wyrażeniami, które w nim są prawdziwe. 11

Automat skończenie stanowy Przykłady automatów i ich własności Automat zamykający drzwi Cel: automatycznie zamknąć drzwi, gdy są otwarte. Założenia: na początku drzwi są otwarte, drzwi zamykają się natychmiast (czas zamykania wynosi zero). Wyrażenie p drzwi są zamknięte. W momencie (s1) włączenia automatu prawdą jest, że: p XGp 12

Automat skończenie stanowy Przykłady automatów i ich własności Automat włączający i wyłączający światło Cel: automatycznie włączyć światło o 1800 i wyłączyć o 600. Założenia: na początku światło jest wyłączone, światło włączane jest o 1800 i wyłączane o 600, włączanie i wyłączanie światła jest natychmiastowe, zegar H startuje o 1200. Wyrażenie p światło jest włączone. 13

Automat skończenie stanowy Przykłady automatów i ich własności Automat włączający i wyłączający światło W momencie (s1) włączenia automatu prawdą jest, że: p H=12 G( p H 18 X p) G( p H=18 Xp) G(p H 6 Xp) G(p H=6 X p) Automat spełnia poniższe własności: lampa działa: GFp GF p lampa nie mruga: F(p X p XXp) 14

Automat skończenie stanowy Przykłady automatów i ich własności Automaty współbieżnych procesów Proces P1 umieszcza linie tekstu w tabeli lines. Proces P2 usuwa linie z lines, jeśli są niepoprawne. P1 i P2 wykonywane są współbieżnie. P1: while (true) do { lines.add(new line); } P2: while (true) do { if(lines.last.incorrect) {lines.last.remove(); }} 15

Automat skończenie stanowy Przykłady automatów i ich własności Automaty współbieżnych procesów Czy te własności są spełnione? lines nigdy nie zawiera więcej niż jednej niepoprawnej linii: F(lines.incorrect.count > 1) każda linia istnieje w lines przez jakiś czas: ( line)(f(lines.contains(line))) 16

Automat skończenie stanowy Przykłady automatów i ich własności Automaty współbieżnych procesów Czy te własności są spełnione? lines nigdy nie zawiera więcej niż jednej niepoprawnej linii: F(lines.incorrect.count > 1) NIE każda linia istnieje w lines przez jakiś czas: ( line)(f(lines.contains(line))) TAK 17

Modelowa weryfikacja systemu Modelowa weryfikacja systemu Najważniejsze własności do weryfikacji Algorytm modelowej weryfikacji systemu Prosty przykład 18

Modelowa weryfikacja systemu Modelowa weryfikacja systemu Dane wejściowe: formalny model funkcji systemu dany jako automat; własności, które muszą być spełnione przez system, dane jako formuły logiki temporalnej. Dane wyjściowe: odpowiedź, czy system spełnia te własności. Czy każda możliwa sekwencja stanów systemu (programu) spełnia te własności? Czy któraś możliwa sekwencja stanów systemu (programu) spełnia te własności? 19

Modelowa weryfikacja systemu Najważniejsze własności do weryfikacji osiągalność LTL: Fp CTL: EFp pożądany stan p systemu w końcu zostanie osiągnięty, bezpieczeństwo LTL: G q CTL: AG q niechciany stan q systemu nigdy nie zostanie osiągnięty. Cel: zweryfikuj (automatycznie) czy dana formuła jest prawdziwa w danym modelu. 20

Modelowa weryfikacja systemu Algorytm modelowej weryfikacji systemu 1) Zbuduj skończenie stanowy automat AS dla modelu systemu S. 2) Zapisz własności systemu jako formułę f. 3) Zbuduj skończenie stanowy automat A f dla formuły f. 4) Zbuduj automat produktowy dla AP = AS x A f. 5) Zweryfikuj (automatycznie) czy AP istnieje. 21

Modelowa weryfikacja systemu Algorytm modelowej weryfikacji systemu A f powinien akceptować tylko takie sekwencje stanów programu systemu S, które spełniają formułę f. Jeśli istnieje taka sekwencja stanów w AS, która odpowiada formule f, to możliwe jest takie wykonanie programu, które nie spełnia podanych własności. 22

Modelowa weryfikacja systemu Prosty przykład Automat AS modeluje system, gdzie każdy stan etykietowany jest tymi wszystkimi wyrażeniami, które są w nim prawdziwe: a i b. ( a i b są fałszywe) Czy własność f EFb jest spełniona dla AS? Automat A f modeluje formułę f EFb AG b. W AS nie istnieje żaden nieskończony przebieg A f własność f jest spełniona. Zauważ, że własność AFb też jest spełniona. 23

Koniec Literatura: R. Alur et al. Automata for modelling real-time systems, 1990 J.E. Hopcroft, J.D. Ullman Introduction of Automata Theory, Languages, and Computation, 2001 R. Klimek Zastosowanie logiki temporalnej w specyfikacji i weryfikacji oprogramowania w stronę czasu rzeczywistego, w: Wykłady zaproszone. Systemy Czasu Rzeczywistego 2000, 2001