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ć automatów czasowych jako model systemów czasowych, Estelle - język specyfikacji wysokiego poziomu, Język bazowy, Problem osiagalności, Metoda OWM - szukanie kontrprzykładów, Metoda splitting - dowodzenie poprawności, 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ó źnił otwarcie lotniska o 9 miesięcy - 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łśmierć 6 pacjentów w latach 1985-87. Awaria sondy marsjańskiej Pathfinder i samolotów Airbus. System weryfikacyjny VERICS: stan obecny i perspektywy rozwoju. IPI PAN, lipiec 2004 p.4/16
Architektura systemu Verics TECTL ECTLpK CTLpK Sieć Petriego Model dla MAS UMC + modsat odpowied ź Specyfikacja w Estelle Translator LT Specyfikacja w IL Translator TA TA składowe globalny TA Sieć TA BBMC + SAT odpowied ź zewnȩtrzna specyfikacja w IL zewnȩtrzne TA Splitter odpowied ź Sieć Petriego z czasem własność osia galności Wejście: Estelle, język bazowy, sieć automatów czasowych, sieć Petriego, sieć Petriego z czasem Sieć 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 - język specyfikacji wysokiego poziomu Język specyfikacji o standardzie ISO, zaprojektowany do opisu protokołów komunikacyjnych i systemów rozproszonych. Wykorzystuje model rozszerzonych maszyn skończenie-stanowych. Opisuje hierarchiczna strukturę niedeterministycznych komponentów, asynchroniczna wymianę informacji przekazywanych komunikatów przez dwukierunkowe kanały, i/lub poprzez współdzielenie pamięci. Umo żliwia dynamiczna inicjalizację procesów. Wejście 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
Język bazowy (IL) Prawie bezpośrednia translacja z Estelle i podobnych języków wysokiego poziomu. Jednoznaczna semantyka IL ułatwia translację z IL do TA. Model komunikacji Estelle rozszerzony o globalne zmienne dzielone. Zachowuje model współbie żnó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 idle1 trying1 idle2 trying2 0 Start1 y1:=0 1 0 Start2 y2:=0 1 0 SetX01 3 critical1 Enter1 y1 > δ Proces 1 2 SetX1 y1 < y1:=0 waiting1 SetX02 3 critical2 Enter2 y2 > δ Proces 2 2 SetX2 y2 < y2:=0 waiting2 SetX1 Enter1 SetX1 SetX01 SetX1 SetX02 1 2 SetX2 Zmienna X SetX2 Enter2 SetX2 Protokół wzajemnego wykluczania (2 procesy) Sieć automatów czasowych: lokacje relacja przejścia zmienne zdaniowe akcje - umo żliwiaja synchronizację zegary, warunki umo żliwienia, niezmienniki, zerowanie zegarów System weryfikacyjny VERICS: stan obecny i perspektywy rozwoju. IPI PAN, lipiec 2004 p.8/16
Osiagalność Problem: Dana jest sieć automatów czasowych S i własnósć. Sprawdzić czy jest mo żliwe osiagnięcie stanu spełniajacego rozwa żana własno ść. Rozwiazanie: 1. Budowa modelu M S dla systemu S. 2. Wyra żenie 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 stanów Symboliczna: Bezpośrednia: OWM Splitting System weryfikacyjny VERICS: stan obecny i perspektywy rozwoju. IPI PAN, lipiec 2004 p.9/16
OWM - poszukiwanie kontrprzykładów OWM: problem osiagalności zostaje sprowadzony do problemu badania spełnialnósci formuły zdaniowej kodujacej stany i relacje przejścia modelu. tylko fragment modelu jest wykorzystywany kodowane stany: regiony szczegółowe kodowana relacja przejścia: projekcja czasowa: przechodnie domknięcie następnika czasowego w grafie regionów, następnik akcyjny w grafie regionów. symboliczna ście żka: 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 żnósci - pseudo-(bi)symulacja: mniej rozró żnia ni ż (bi)symulacja, zachowuje własno ść osiagalności modele zachowuja ce trace equivalence modele symulacyjne modele bisymulacyjne modele 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 SENDER bits msgs acks LOSSY CHANNEL msgr ackr RECEIVER bitr Ka żda wiadomósć jest reprezentowana przez parę (dane, bit), natomiast potwierdzenie jest reprezentowane przez bit. Testowana własnósć C: Jeżeli (nadawca wysłał potwierdzenie i bits = 0), to bitr = 0 Formuła: (reprezentuje negację własnósci C) ϕ 1 = [(S_Sender_ack S_Sender_bit0) R_Rec_bit0] (własnósć 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ście (projekt studencki), wizualizacja kontrprzykładów, Komercyjny interfejs do udostępniania systemu (praca magisterska), Nowa metoda weryfikacyja: nieograniczona weryfikacja modelowa dla systemów czasowych (badania własne), Translator z fragmentu języka 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 języka 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 Dziękuję za uwagę i zapraszam do testów naszego systemu dostępnego 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