System weryfikacyjny VERICS: stan obecny i perspektywy
Transkrypt
System weryfikacyjny VERICS: stan obecny i perspektywy
System weryfikacyjny VERICS: stan obecny i perspektywy rozwoju Wojciech Penczek współautorzy Piotr Dembiński, Agata Janowska, Paweł Janowski, Magdalena Kacprzak, Agata Półrola, Maciej Szreter, Bożena Woźna, Andrzej Zbrzezny IPI PAN, 2004 System weryfikacyjny VERICS: stan obecny i perspektywy rozwoju. IPI PAN, lipiec 2004 – p.1/16 Ariane 5 Katastrofa bezzałogowej rakiety ”Ariane 5” 4 czerwca 1996 r. System weryfikacyjny VERICS: stan obecny i perspektywy rozwoju. IPI PAN, lipiec 2004 – p.2/16 Plan Weryfikacja programów i systemów, Architektura systemu Verics, Sie´ c automatów czasowych jako model systemów czasowych, Estelle - jezyk ˛ specyfikacji wysokiego poziomu, Jezyk ˛ bazowy, Problem osiagalno´ ˛ sci, Metoda OWM - szukanie kontrprzykładów, Metoda ”splitting” - dowodzenie poprawno´ sci, Perspektywy rozwoju, Film - demo systemu Verics. System weryfikacyjny VERICS: stan obecny i perspektywy rozwoju. IPI PAN, lipiec 2004 – p.3/16 Ile kosztuje zaniechanie weryfikacji Bład ˛ w module dzielenia procesora Pentium II 475 mln dolarów, Bład ˛ w systemie obsługi bagażu w Denver, który opó´znił otwarcie lotniska o 9 miesiecy ˛ - 1.1 mln dolarów DZIENNIE, 24-godzinna awaria systemu sprzedaży biletów spowoduje bankructwo każdych dużych linii lotniczych! Bład ˛ w systemie obługi aparatu do radioterapii THERAC-25 spowodował´ smier´ c 6 pacjentów w latach 1985-87. ´ Awaria sondy marsjanskiej Pathfinder i samolotów Airbus. System weryfikacyjny VERICS: stan obecny i perspektywy rozwoju. IPI PAN, lipiec 2004 – p.4/16 Architektura systemu Verics TECTL Sieć Petriego ECTLpK CTLpK Model dla MAS UMC + modSAT odpowied´z BBMC + SAT odpowied´z Splitter odpowied´z TA składowe Translator Translator Specyfikacja w Estelle LT Specyfikacja w IL Sieć TA TA globalny TA zewnȩtrzna specyfikacja w IL Sieć Petriego z czasem zewnȩtrzne TA własność osia̧galności Wej´ scie: Estelle, jezyk ˛ bazowy, sie´ c automatów czasowych, sie´ c Petriego, sie´ c Petriego z czasem Sie´ c automatów czasowych - formalny model weryfikowanego systemu. Weryfikacja: Ograniczona Weryfikacja Modelowa, Nieograniczona Weryfikacja Modelowa i “splitting”. System weryfikacyjny VERICS: stan obecny i perspektywy rozwoju. IPI PAN, lipiec 2004 – p.5/16 Estelle - jezyk ˛ specyfikacji wysokiego poziomu Jezyk ˛ specyfikacji o standardzie ISO, zaprojektowany do opisu protokołów komunikacyjnych i systemów rozproszonych. Wykorzystuje model rozszerzonych maszyn sko ńczenie-stanowych. Opisuje hierarchiczna˛ strukture˛ niedeterministycznych komponentów, asynchroniczna˛ wymiane˛ informacji przekazywanych komunikatów przez dwukierunkowe kanały, i/lub poprzez współdzielenie pamieci. ˛ Umo˙zliwia dynamiczna˛ inicjalizacje˛ procesów. Wej´ scie dla systemu Verics: podzbiór Estelle rozszerzony o specjalne komentarze rozpoznawane przez translator LT: opisujace ˛ ograniczony rozmiar buforów definiujace ˛ zmienne zdaniowe System weryfikacyjny VERICS: stan obecny i perspektywy rozwoju. IPI PAN, lipiec 2004 – p.6/16 Jezyk ˛ bazowy (IL) Prawie bezpo´ srednia translacja z Estelle i podobnych jezyków ˛ wysokiego poziomu. Jednoznaczna semantyka IL ułatwia translacje˛ z IL do TA. Model komunikacji Estelle rozszerzony o globalne zmienne dzielone. Zachowuje model współbie˙znó sci z Estelle. System weryfikacyjny VERICS: stan obecny i perspektywy rozwoju. IPI PAN, lipiec 2004 – p.7/16 Sieć automatów czasowych jako model dla MAS i systemów czasowych Start1, Start2 trying1 idle2 1 0 Start1 y1:=0 0 Start2 y2:=0 0 1 SetX2 y1 < ∆ SetX02 y2 < ∆ y1:=0 SetX1 y2:=0 SetX2 02 tX SetX1 Se SetX01 trying2 Set X01 idle1 SetX1 Enter1 3 y1 > δ critical1 2 waiting1 Proces 1 Enter2 3 critical2 1 2 y2 > δ waiting2 Proces 2 SetX2 Enter1 SetX1 2 Enter2 SetX2 Zmienna X Protokół wzajemnego wykluczania (2 procesy) ´ czasowych: Siec´automatow lokacje akcje - umo˙zliwiaja˛ synchronizacje˛ relacja przej´ scia zegary, warunki umo˙zliwienia, zmienne zdaniowe niezmienniki, zerowanie zegarów System weryfikacyjny VERICS: stan obecny i perspektywy rozwoju. IPI PAN, lipiec 2004 – p.8/16 Osiagalno ˛ ść Problem: Dana jest sie´ c automatów czasowych S i własnos´c´. Sprawdzi´ c czy jest mo˙zliwe osiagni ˛ ecie ˛ stanu spełniajacego ˛ rozwa˙zana˛ własno s´c´. Rozwiazanie: , 1. Budowa modelu M S dla systemu S. 2. Wyra˙zenie własnó sci za pomoca˛ formuły zdaniowej ϕ. 3. Sprawdzenie automatycznie czy istnieje stan osiagalny ˛ ze stanu poczatkowego ˛ modelu M S , który spełnia ϕ. ´ Reprezentacja przestrzeni stanow Symboliczna: OWM Bezpo´ srednia: Splitting System weryfikacyjny VERICS: stan obecny i perspektywy rozwoju. IPI PAN, lipiec 2004 – p.9/16 OWM - poszukiwanie kontrprzykładów OWM: problem osiagalno´ ˛ sci zostaje sprowadzony do problemu badania spełnialnos´ci formuły zdaniowej kodujacej ˛ stany i relacje przej´ scia modelu. tylko fragment modelu jest wykorzystywany kodowane stany: regiony szczegółowe kodowana relacja przej´ scia: projekcja czasowa: przechodnie domkniecie ˛ nastepnika ˛ czasowego w grafie regionów, nastepnik ˛ akcyjny w grafie regionów. symboliczna s´cie˙zka: System weryfikacyjny VERICS: stan obecny i perspektywy rozwoju. IPI PAN, lipiec 2004 – p.10/16 Splitting - dowodzenie poprawności metoda wyliczeniowa - generuje pewien model abstrakcyjny nowa relacja równowa˙znos´ci - pseudo-(bi)symulacja: mniej rozró˙znia ni˙z (bi)symulacja, zachowuje własno s´c´osiagalno´ ˛ sci modele zachowuja¸ ce trace equivalence modele modele symulacyjne modele bisymulacyjne pseudobisymulacyjne modele pseudosymulacyjne modele generowane przez algorytmy podziału stany to regiony (lokacja + strefa czasowa) weryfikacja ”w locie” (on-the-fly) System weryfikacyjny VERICS: stan obecny i perspektywy rozwoju. IPI PAN, lipiec 2004 – p.11/16 Wyniki eksperymentalne - protokół alternujacego ˛ bitu msgs SENDER bitS msgr RECEIVER LOSSY CHANNEL acks ackr bitR Ka˙zda wiadomos´c´jest reprezentowana przez pare˛ (dane, bit), natomiast potwierdzenie jest reprezentowane przez bit. Testowana własnos´c´C: Jeżeli (nadawca wysłał potwierdzenie i bitS = 0), to bitR = 0 Formuła: (reprezentuje negacje˛ własnos´ci C) ϕ1 = ¬[(S_Sender_ack ∧ S_Sender_bit0) ⇒ R_Rec_bit0] × (własnos´c´jest fałszywa) System weryfikacyjny VERICS: stan obecny i perspektywy rozwoju. IPI PAN, lipiec 2004 – p.12/16 Obecnie realizowane rozszerzenia systemu: Interfejsy graficzne: wej´ scie (projekt studencki), wizualizacja kontrprzykładów, Komercyjny interfejs do udostepniania ˛ systemu (praca magisterska), Nowa metoda weryfikacyja: nieograniczona weryfikacja modelowa dla systemów czasowych (badania własne), Translator z fragmentu jezyka ˛ JAVA do IL lub automatów czasowych (praca doktorska), System weryfikacyjny VERICS: stan obecny i perspektywy rozwoju. IPI PAN, lipiec 2004 – p.13/16 Perspektywy rozwoju Translator z jezyka ˛ PROMELA i Timed-UML do IL lub automatów czasowych (prace doktorskie), Opracowanie i implementacja współbieżnej wersji modułów weryfikacyjnych (praca doktorska), Rozszerzenie metod weryfikacji do automatów hybrydowych (prace własne), DOCELOWO: profesjonalna weryfikacja komercyjnych programów i protokołów. System weryfikacyjny VERICS: stan obecny i perspektywy rozwoju. IPI PAN, lipiec 2004 – p.14/16 Demo systemu VERICS System weryfikacyjny VERICS: stan obecny i perspektywy rozwoju. IPI PAN, lipiec 2004 – p.15/16 Strona WWW Dziekuj ˛ e˛ za uwage˛ i zapraszam do testów naszego systemu dostepnego ˛ na stronie WWW: http://www.ipipan.waw.pl/∼penczek/verics System weryfikacyjny VERICS: stan obecny i perspektywy rozwoju. IPI PAN, lipiec 2004 – p.16/16