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

Podobne dokumenty
Praktyczne metody weryfikacji

Praktyczne metody weryfikacji

Logika Temporalna i Automaty Czasowe

Logika Temporalna i Automaty Czasowe

Logika Temporalna i Automaty Czasowe

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

Logika Temporalna i Automaty Czasowe

Logika Temporalna i Automaty Czasowe

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

Logika Temporalna i Automaty Czasowe

Logika Temporalna i Automaty Czasowe

Systemy zdarzeniowe - opis przedmiotu

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

Modelowanie i Analiza Systemów Informatycznych

WERYFIKACJA WSPOMAGANA KOMPUTEROWO. Sławomir Lasota Uniwersytet Warszawski 2009/1020

Logika Temporalna i Automaty Czasowe

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

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

Monte Carlo w model checkingu

MODELOWANIE PROCESÓW BIZNESOWYCH W LOGIKACH NIEKLASYCZNYCH

Logika Stosowana. Wykład 2 - Logika modalna Część 3. Marcin Szczuka. Instytut Informatyki UW. Wykład monograficzny, semestr letni 2017/2018

Wprowadzenie do Sztucznej Inteligencji

Wprowadzenie do Sztucznej Inteligencji

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

Metoda tabel semantycznych. Dedukcja drogi Watsonie, dedukcja... Definicja logicznej konsekwencji. Logika obliczeniowa.

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

Schematy Piramid Logicznych

Teoria automatów i języków formalnych. Określenie relacji

Wstęp do programowania. Listy. Piotr Chrząstowski-Wachtel

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

PRZEWODNIK PO PRZEDMIOCIE

Struktury formalne, czyli elementy Teorii Modeli

Metalogika (1) Jerzy Pogonowski. Uniwersytet Opolski. Zakład Logiki Stosowanej UAM

Zasada indukcji matematycznej

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

dodatkowe operacje dla kopca binarnego: typu min oraz typu max:

Algorytm. Krótka historia algorytmów

Logiki modalne. notatki z seminarium. Piotr Polesiuk

Automat skończony FSM Finite State Machine

SZTUCZNA INTELIGENCJA

Struktury danych i złozoność obliczeniowa. Prof. dr hab. inż. Jan Magott

Metody dowodzenia twierdzeń i automatyzacja rozumowań Tabele syntetyczne: definicje i twierdzenia

Tworzenie przypadków testowych

Imię, nazwisko, nr indeksu

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

Logika Stosowana. Wykład 7 - Zbiory i logiki rozmyte Część 3 Prawdziwościowa logika rozmyta. Marcin Szczuka. Instytut Informatyki UW

Wstęp do Techniki Cyfrowej... Teoria automatów

LOGIKA Klasyczny Rachunek Zdań

Programy współbieżne

Modelowanie jako sposób opisu rzeczywistości. Katedra Mikroelektroniki i Technik Informatycznych Politechnika Łódzka

FUNKCJE. (odwzorowania) Funkcje 1

Algorytm. Krótka historia algorytmów

Paradoks wszechwiedzy logicznej (logical omniscience paradox) i wybrane metody jego unikania

LOGIKA I TEORIA ZBIORÓW

1 Funktory i kwantyfikatory

Logika Stosowana. Wykład 2 - Logika modalna Część 1. Marcin Szczuka. Instytut Matematyki UW. Wykład monograficzny, semestr letni 2016/2017

Krzysztof Jakubczyk. Zadanie 2

Prognozowanie cen surowców w rolnych na podstawie szeregów w czasowych - uwarunkowania i metody. Sylwia Grudkowska NBP Mariusz Hamulczuk IERIGś-PIB

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

Modelowanie w projektowaniu maszyn i procesów cz.5

O ISTOTNYCH OGRANICZENIACH METODY

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

Stochastyczne zagadnienie rozdziału z dyskretnym rozkładem popytu

Semantyka rachunku predykatów

Aproksymacja funkcji a regresja symboliczna

Praca dyplomowa magisterska

1. Logika, funkcje logiczne, preceptron.

Logika Stosowana. Wykład 2 - Logika modalna Część 2. Marcin Szczuka. Instytut Informatyki UW. Wykład monograficzny, semestr letni 2016/2017

Paradygmaty dowodzenia

Rozwiązywanie problemów z użyciem Solvera programu Excel

JAKIEGO RODZAJU NAUKĄ JEST

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

Definicje. Najprostszy schemat blokowy. Schemat dokładniejszy

Adam Meissner SZTUCZNA INTELIGANCJA

Teoretyczne podstawy informatyki

Języki formalne i automaty Ćwiczenia 7

Temat: Zastosowanie wyrażeń regularnych do syntezy i analizy automatów skończonych

Najprostszy schemat blokowy

Wstęp do Sztucznej Inteligencji

WYKŁAD 11 Uczenie maszynowe drzewa decyzyjne

Etapy życia oprogramowania

Modelowanie procesów (1) Oracle Designer: Modelowanie procesów. Modelowania procesów (2) Modelowanie procesów (3)

Multiprocessor Shared-Memory Information Exchange. Damian Klata, Adam Bułak

Algorytm. Słowo algorytm pochodzi od perskiego matematyka Mohammed ibn Musa al-kowarizimi (Algorismus - łacina) z IX w. ne.

Adam Meissner SZTUCZNA INTELIGANCJA

Wyszukiwanie. Wyszukiwanie binarne

miejsca przejścia, łuki i żetony

Etapy życia oprogramowania. Modele cyklu życia projektu. Etapy życia oprogramowania. Etapy życia oprogramowania

Rozstrzygalność logiki modalnej

Informatyka I Lab 06, r.a. 2011/2012 prow. Sławomir Czarnecki. Zadania na laboratorium nr. 6

Języki, automaty i obliczenia

Kierunek i poziom studiów: Matematyka, studia I stopnia, rok 1 Sylabus modułu: Wstęp do matematyki (Kod modułu: 03-MO1N-12-WMat)

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

Wykład ze Wstępu do Logiki i Teorii Mnogości

Programowanie deklaratywne i logika obliczeniowa

Rachunek predykatów. Formuły rachunku predykatów. Plan wykładu. Relacje i predykaty - przykłady. Relacje i predykaty

Algorytmy Równoległe i Rozproszone Część III - Układy kombinacyjne i P-zupełność

Funkcje. Oznaczenia i pojęcia wstępne. Elementy Logiki i Teorii Mnogości 2015/2016

Wstęp do programowania

Sieci Petriego. Sieć Petriego

Transkrypt:

Weryfikacja modelowa Protokoły komunikacyjne 2006/2007 Paweł Kaczan pk209469@students.mimuw.edu.pl

Plan Wstęp Trzy kroki do weryfikacji modelowej Problemy Podsumowanie Dziedziny zastosowań Weryfikacja modelowa 2

Problemy z wymaganiami Czy opis wymagań odpowiada intencjom klienta? Czy wymagania są sformułowane w sposób jasny i klarowny? Czy sformułowane są w sposób modularny, zapewniający podzielność? Czy wymagania mogą stanowić bazę do formułowania testów akceptacyjnych? Czy pozwalają na swobodę w technicznej realizacji? Weryfikacja modelowa 3

Weryfikacja modelowa vs inne techniki Opis słowny, tabele, slajdy, itp. UML Prototypy Weryfikacja modelowa Weryfikacja modelowa 4

Etapy weryfikacji modelowej 1. Modelowanie 2. Specyfikacja wymagań 3. Weryfikacja Weryfikacja modelowa 5

Krok pierwszy - modelowanie Czym jest modelowanie? Formalny opis systemu. Skończenie stanowe automaty. Ograniczenia czasowe, pamięciowe abstrakt systemu. Struktura Kripkego do modelowania systemu. Weryfikacja modelowa 6

Struktura Kripkego Typ niedeterministycznego skończonego automatu Czwórka M = (S, S 0, R, L), gdzie S skończony zbiór stanów S 0 zbiór stanów początkowych R relacja przejścia L:S 2 AP funkcja etykietująca wierzchołki zbiorami atomowych formuł, które są prawdziwe w danym stanie Weryfikacja modelowa 7

Przykład S = (S1, S2, S3, S4) S 0 = { S1 } R = ({S1,S2}, {S2,S1},{S1,S4}, {S4,S2}, {S2,S3}, {S3,S2}, {S3, S3} L(S1) = { close, start, cooking} L(S2) = {close, start, cooking} L(S3) = {close,start,cooking} L(S4) = { close,start, cooking} Weryfikacja modelowa 8

Krok drugi - specyfikacja Logika klasyczna? Logika temporalna to logika umoŝliwiająca rozwaŝanie zaleŝności czasowych bez wprowadzania czasu explicite. Weryfikacja modelowa 9

Operatory logiki temporalnej Gφ oznacza, Ŝe od danego punktu juŝ zawsze będzie miało miejsce φ. (globally) Fφ oznacza, Ŝe kiedyś w przyszłości będzie miało miejsce φ. (finally) Przykład: G(pociąg jedzie szlaban podniesiony) - zawsze jeśli pociąg jedzie, to szlaban jest opuszczony GF(szlaban podniesiony) - nigdy nie będzie tak, Ŝe szlaban nie będzie juŝ cały czas opuszczony G i F pozwalają na umiejscawianie zjawisk w czasie, ale nie dają nam wielu moŝliwości przedstawiania zaleŝności czasowych pomiędzy zjawiskami. Weryfikacja modelowa 10

Operatory logiki temporalnej φuψ kiedyś nastąpi ψ. Do czasu jego pierwszego wystąpienia zawsze będzie φ. (until) φrψ ψbędzie zachodziło tak długo, aŝ nie zajdzie φ. (release) W logikach z dyskretnym czasem moŝna zdefiniować operator Xφ, oznaczający Ŝe φ nastąpi w następnej chwili. XXφ oznacza więc Ŝe nastąpi za 2 chwile, XXXXXφ za 5 chwil itd. (next) Weryfikacja modelowa 11

Logiki temporalne zakładają liniową strukturę czasu Logika LTL (Linear Temporal Logic) wykorzystuje operatory G, F, X, U, R. zakładają rozgałęzioną strukturę czasu Logika CTL*(Computation Tree Logic) wykorzystuje operatory LTL oraz Aφ dla kaŝdej ścieŝki zachodzi φ Eφ istnieje taka ścieŝka obliczeń, Ŝe φ Logika CTL ograniczenie logiki CTL* - operatory mogą występować tylko parami operator ścieŝkowy, operator stanowy Weryfikacja modelowa 12

Rozgałęziony czas w CTL Weryfikacja modelowa 13

Binarne diagramy decyzyjne Kanoniczna forma reprezentacji formuł. Struktura acyklicznego grafu skierowanego. Ustalony porządek na zmiennych. Rozmiar zaleŝny od porządku na zmiennych. Zapewniają efektywne wykonywanie operacji. Diagram dla ((a i b) lub (c i d)) przy załoŝeniu, Ŝe a < b < c < d. Formuła prawdziwa dla wartościowania: {a = 1, b = 0, c = 1, d = 1} Weryfikacja modelowa 14

Przykład Specyfikacja w logice CTL: AG (start AF cooking) AG ((close i start) AF cooking) Weryfikacja modelowa 15

Krok trzeci - weryfikacja Weryfikacja modelowa 16

Przykład AG (start AF cooking) 1. Zamień na EF (start i EG cooking)) 2. Od składowych do całej formuły: S (start) = {S3, S4} S ( cooking) = {S1, S2, S4} S (EG cooking) = {S1, S2, S4} S (start i EG cooking) = {S4} S (EF (start i EG cooking)) = {S1, S2, S3, S4} S ( (EF (start i EG cooking))) = {} 3. Analiza wyniku Weryfikacja modelowa 17

Przykład AG ((close i start) AF cooking) 1. Zmień na EF(close i start i EG cooking) 2. Od formuł składowych: S (close)= {S2, S3} S (start)= {S3, S4} S ( cooking) = {S1, S2, S4} S (EG cooking) = {S1, S2, S4} S (close i start i EG cooking) = {} S (EF (close i start i EG cooking) = {} S ( (EF (close i start v EG cooking)) = {S1, S2, S3, S4} 3. Analiza wyniku Weryfikacja modelowa 18

Weryfikacja modelowa w praktyce Problem wykładniczej w stosunku do liczby procesów eksplozji liczby stanów! Weryfikacja modelowa 19

Eksplozja stanów Metody radzenia sobie z tym problemem oparte są o Teorię automatów On-the-fly model checking Partial-order reduction Symbolicznej strukturze Innych metodach RównowaŜność Symulacja, bisymulacja Indukcja Symetria Weryfikacja modelowa 20

Symboliczna weryfikacja modelowa Wykorzystanie OBDD do reprezentacji grafu przejść między stanami. Stan systemu reprezentowany jako wektor v, gdzie jeden element odpowiada stanowi jednego elementu systemu. Relacja przejścia R(v, v ), gdzie v aktualny stan, v następny stan. Formuła R(v, v ) konwertowana jest do postaci OBDD. Weryfikacja modelowa 21

Symboliczna weryfikacja modelowa Algorytm weryfikacji symbolicznej implementowany przy pomocy procedury Check, która bierze formułę CTL wraz z argumentami, a zwraca OBDD, które reprezentuje te stany, w których zachodzi dana formuła. 10^5 10^20 10^120 stanów SMV Weryfikacja modelowa 22

Rozwiązanie jako punkt stały KaŜda formuła f interpretowana jako zbiór stanów, w których zachodzi f. P(S) zbiór podzbiorów S (krata) Najmniejszy element zbiór pusty (false), największy zbiór wszystkich stanów (true) Funkcjonał τ(y) formuła z dokładnie jednym nieustaloną literą Y τ(y) definiuje funkcje P(S) P(S), która dla skończonego zbioru S posiada punk stały τ(p) = P Posiadając charakterystykę punktu stałego w CTL jesteśmy w stanie wykorzystać ogólny algorytm w celu obliczenia tego punktu. Weryfikacja modelowa 23

Trendy Relatively straightforward extensions of current systems Require more theoretical work Use combination of the abstraction and compositional reasoning techniques Probabilistic verification The ability to reason automatically about entire families of finite-state systems Investigation Model Checking techniques combined with theorem proving Weryfikacja modelowa 24

Weryfikacja modelowa - zalety W pełni automatyczna: tworzymy model formułujemy wymagania weryfikujemy Kontrprzykład, gdy odpowiedź negatywna Weryfikacja modelowa 25

Weryfikacja modelowa - wady ZłoŜoność obliczeniowa, eksplozja stanów Nie weryfikacja, tylko tropienie błędów weryfikujemy model a nie sam system sprawdzamy tylko wymaganie f, innych nie błędy w narzędziach Wykonanie abstrakcji wymaga pracy eksperta Weryfikacja modelowa 26

Dziedziny zastosowań sprzęt (SMV, NuSMV, Murphi) protokoły, oprogramowanie systemowe, sterowniki (Spin) oprogramowanie (BLAST, PathFinder, CBMC) systemy zaleŝne od czasu (Uppaal, Kronos) systemy stochastyczne (PRISM) Weryfikacja modelowa 27

Bibliografia http://www.cs.cmu.edu/~emc/papers.htm http://www.kenmcmil.com http://www.embedded.com/showarticle.jhtml?article ID=17603352 http://www.mimuw.edu.pl/~sl/teaching/pmw http://courses.projects.cis.ksu.edu/index.php?option =com_content&task=section&id=1&itemid=2 Weryfikacja modelowa 28