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

Podobne dokumenty