Autoreferat

Transkrypt

Autoreferat
Autoreferat
Andrzej Zbrzezny
Instytut Matematyki i Informatyki
Akademia im. Jana Długosza w Cz˛estochowie
Załacznik
˛
2
1. Imi˛e i nazwisko:
Andrzej Zbrzezny
2. Posiadane dyplomy, stopnie naukowe i artystyczne – z podaniem nazwy, miejsca i roku
ich uzyskania oraz tytułu rozprawy doktorskiej:
• dyplom magistra informatyki, specjalność: oprogramowanie; Uniwersytet Jagielloński,
1981; tytuł pracy magisterskiej: „Optymalizacja kodu niezależna maszynowo”.
• dyplom doktora nauk humanistycznych w zakresie filozofii, specjalność: logika; Uniwersytet Wrocławski, Wydział Nauk Społecznych, 1991; tytuł rozprawy doktorskiej: „Systemy logiczne zwiazane
˛
ze strukturami cz˛eściowymi”.
3. Informacje o dotychczasowym zatrudnieniu w jednostkach naukowych i artystycznych:
• od 01.12.1981 r. do 30.09.1983 r. – asystent stażysta, Instytut Matematyki, Wyższa Szkoła
Pedagogiczna w Cz˛estochowie;
• od 01.10.1983 r. do 30.09.1991 r. – asystent, Instytut Matematyki, Wyższa Szkoła Pedagogiczna w Cz˛estochowie;
• od 01.10.1991 r. do 30.09.1998 r. – adiunkt, Instytut Matematyki, Wyższa Szkoła Pedagogiczna w Cz˛estochowie;
• od 01.10.1994 r. do 30.09.1995 r. – adiunkt, Wydział Zarzadzania,
˛
Politechnika Cz˛estochowska;
• od 01.10.1998 r. do 30.09.2004 r. – adiunkt, Instytut Matematyki i Informatyki, Wyższa
Szkoła Pedagogiczna w Cz˛estochowie;
• od 01.10.2004 r. do teraz – adiunkt, Instytut Matematyki i Informatyki, Akademia im.
Jana Długosza w Cz˛estochowie.
1
4. Wskazanie osiagni˛
˛ ecia wynikajacego
˛
z art. 16 ust. 2 ustawy z dnia 14 marca 2003 r.
o stopniach naukowych i tytule naukowym oraz o stopniach i tytule w zakresie sztuki (Dz.
U. nr 65, poz. 595 ze zm.):
a) tytuł osiagni˛
˛ ecia naukowego/artystycznego:
Wybrane aspekty ograniczonej weryfikacji modelowej systemów współbieżnych
b) (autor/autorzy, tytuł/tytuły publikacji, rok wydania, nazwa wydawnictwa):
[H1] Andrzej Zbrzezny. Improvements in SAT-based Reachability Analysis for Timed Automata. Fundamenta Informaticae, 60(1-4):417–434, 2004.
[H2] Andrzej Zbrzezny. SAT-based Reachability Checking for Timed Automata with Diagonal Constraints. Fundamenta Informaticae, 67(1-3):303–322, 2005.
[H3] Bożena Woźna, Andrzej Zbrzezny. Bounded Model Checking for the Existential Fragment of TCTL-G and Diagonal Timed Automata. Fundamenta Informaticae, 79(12):229–256, 2007.
[H4] Andrzej Zbrzezny, Agata Półrola. SAT-based Reachability Checking for Timed Automata with Discrete Data. Fundamenta Informaticae, 79(3-4):579–593, 2007.
[H5] Andrzej Zbrzezny, Bożena Woźna. Towards Verification of Java Programs in VerICS.
Fundamenta Informaticae, 85(1-4):533–548, 2008.
[H6] Andrzej Zbrzezny. Improving the Translation from ECTL to SAT. Fundamenta Informaticae, 85(1-4):513–531, 2008.
[H7] Andrzej Zbrzezny. A New Translation from ECTL* to SAT. Fundamenta Informaticae,
120(3-4):377–397, 2012.
[H8] Bożena Woźna-Szcześniak, Andrzej Zbrzezny. A Translation of the Existential Model
Checking Problem from MITL to HLTL. Fundamenta Informaticae, 122(1-2):401–420,
2013.
2
c) omówienie celu naukowego/artystycznego ww. pracy/prac i osiagni˛
˛ etych wyników wraz
z omówieniem ich ewentualnego wykorzystania:
Wst˛ep
Podstawa˛ mojego wniosku habilitacyjnego jest jednolity cykl publikacji dotyczacych
˛
wybranych, teoretycznych i praktycznych, aspektów ograniczonej weryfikacji modelowej systemów współbieżnych. Tematyka˛ weryfikacji modelowej, a zwłaszcza ograniczonej weryfikacji
modelowej, zainteresowałem si˛e w 2001 roku po nawiazaniu
˛
współpracy z grupa˛ profesora Wojciecha Penczka z Instytutu Podstaw Informatyki Polskiej Akademii Nauk (IPI PAN). W ramach
tej współpracy byłem podwykonawca˛ realizowanego w IPI PAN, w okresie od 01.07.2000 r.
do 30.06.2003 r., grantu zatytułowanego „Automatyczna weryfikacja systemów zależnych od
czasu” (nr 8 T11C 014 19).
Weryfikacja modelowa [D4, D19, D20] (ang. model checking) jest automatyczna˛ technika˛
weryfikowania własności systemów współbieżnych takich jak: układy cyfrowe, systemy rozproszone, systemy czasu rzeczywistego, systemy wieloagentowe, protokoły komunikacyjne,
protokoły kryptograficzne, programy współbieżne oraz wielu innych. Aby móc algorytmicznie sprawdzić czy dany system spełnia dana˛ własność należy najpierw stworzyć model tego
systemu, a nast˛epnie opisać w j˛ezyku formalnym zarówno stworzony model, jak i t˛e własność.
Jedna˛ z wielu możliwości modelowania systemów współbieżnych jest zastosowanie sieci
automatów skończonych komunikujacych
˛
si˛e poprzez wspólne akcje [D45]. Inna˛ możliwościa˛
jest zastosowanie sieci Petriego [D37]. Analogicznie, współbieżne systemy czasu rzeczywistego można modelować przy pomocy sieci automatów czasowych [D2, D31] lub sieci Petriego
z czasem [D27, D31]. Niezależnie jednak od formalizmu użytego do modelowania systemu
współbieżnego, podstawa˛ do zastosowania weryfikacji modelowej jest zdefiniowanie systemu
tranzycyjnego dla użytego modelu. Przez system tranzycyjny [D4] (ang. transition system) rozumiemy układ (S, Act, −→, I, AP, L) składajacy
˛ si˛e ze zbioru stanów S, zbioru akcji Act, relacji
przejścia −→ ⊆ S × Act × S, zbioru stanów poczatkowych
˛
I ⊆ S, zbioru zmiennych zdaniowych AP reprezentujacych
˛
zdania proste oraz funkcji etykietujacej
˛ L : S → 2AP . Systemy
tranzycyjne nazywane sa˛ także modelami Kripkego.
Do formułowania własności systemów stosuje si˛e odpowiednia˛ logik˛e temporalna.˛ Najcz˛eściej w tym celu wykorzystuje si˛e liniowa˛ logik˛e temporalna˛ (ang. linear temporal logic,
w skrócie LTL), temporalna˛ logik˛e czasu rozgał˛ezionego (ang. computation tree logic, w skrócie CTL), pełna˛ logik˛e czasu rozgał˛ezionego CTL* , zawierajac
˛ a˛ logiki LTL i CTL, uniwersalne
i egzystencjalne fragmenty wymienionych logik, a także logiki b˛edace
˛ ich modyfikacjami i rozszerzeniami.
Ograniczona weryfikacja modelowa (ang. bounded model checking, w skrócie BMC) [D6,
D7, D9] jest jedna˛ z metod symbolicznej weryfikacji modelowej. Wykorzystuje ona redukcj˛e
problemu prawdziwości formuł temporalnych w systemie tranzycyjnym do problemu spełnialności formuł klasycznego rachunku zdań (w skrócie: do problemu SAT). Wspomniana˛ redukcj˛e
3
uzyskuje si˛e poprzez translacj˛e relacji przejścia systemu tranzycyjnego oraz translacj˛e badanej
własności do formuł klasycznego rachunku zdań. Podkreślmy, że dla danej logiki temporalnej ograniczona weryfikacja modelowa wykorzystywana jest głównie do obalania własności
żywotności oraz do potwierdzania własności bezpieczeństwa wyrażalnych w tej logice.
Dla wybranej logiki temporalnej TL stosowanie metody BMC wymaga udowodnienia twierdzenia, które daje podstaw˛e do weryfikacji prawdziwości formuł tej logiki w dowolnym, ale
ustalonym, systemie tranzycyjnym na skończonych prefiksach ścieżek. Takie skończone prefiksy ścieżek o długości k > 0 nazywane sa˛ k-ścieżkami. Wspomniane twierdzenie orzeka, iż
dowolna formuła ϕ rozważanej logiki temporalnej TL jest prawdziwa w systemie tranzycyjnym M wtedy i tylko wtedy, gdy istnieje liczba naturalna k, taka że formuła zdaniowa [M, ϕ]k
b˛edaca
˛ koniunkcja˛ formuły kodujacej
˛ skończony zbiór k-ścieżek o mocy fk (ϕ) oraz formuły
b˛edacej
˛ translacja˛ formuły ϕ jest spełnialna. Funkcja fk , której postać zależy od konkretnej
logiki temporalnej, wyznacza minimalna˛ liczb˛e k-ścieżek wystarczajacych,
˛
niezależnie od systemu tranzycyjnego, do weryfikacji danej formuły.
Przytoczone powyżej twierdzenie uzasadnia poprawność standardowego algorytmu BMC.
Zaczynajac
˛ od k = 0, algorytm ten, dla danego systemu tranzycyjnego M oraz danej formuły ϕ,
tworzy formuł˛e zdaniowa˛ [M, ϕ]k . Nast˛epnie przekształca ja˛ do równospełnialnej formuły zdaniowej w koniunkcyjnej postaci normalnej i przekazuje do sprawdzenia przez SAT-tester (ang.
SAT-solver). Jeżeli SAT-tester stwierdzi niespełnialność badanej formuły, to k jest zwi˛ekszane
(zwykle o 1) i proces zostaje powtórzony. Algorytm BMC kończy si˛e wykonywać w przypadku,
gdy dla pewnego k, formuła [M, ϕ]k okazuje si˛e być spełnialna˛ lub gdy k stanie si˛e wi˛eksze od
pewnego, zależnego od systemu tranzycyjnego M, ograniczenia (np. od liczby stanów systemu
tranzycyjnego M). Przekroczenie tego ograniczenia oznacza, że formuła ϕ nie jest prawdziwa
w systemie tranzycyjnym M. Natomiast spełnialność formuły [M, ϕ]k dla pewnego k oznacza, iż formuła ϕ jest prawdziwa w systemie tranzycyjnym M, a ponadto znalezione przez
SAT-tester wartościowanie pozwala na wyznaczenie świadka, którym jest zbiór k-ścieżek.
Zauważmy, że algorytm BMC kończy prac˛e również wtedy, gdy dla pewnego k, dost˛epne
zasoby (pami˛eć lub czas) nie wystarczaja˛ do wygenerowania formuły [M, ϕ]k lub nie sa˛ wystarczajace
˛ dla SAT-testera. W tym przypadku oznacza to, że ze wzgl˛edu na ograniczoność
dost˛epnych zasobów, algorytm BMC nie jest w stanie sprawdzić, czy własność wyrażona formuła˛ ϕ jest prawdziwa w systemie tranzycyjnym M.
W pracach, które zapoczatkowały
˛
metod˛e ograniczonej weryfikacji modelowej, do specyfikacji własności systemów współbieżnych stosowana była liniowa logika temporalna, w przypadku której do weryfikacji dowolnej formuły potrzebna jest tylko jedna k-ścieżka. Także
w późniejszych pracach rozwijajacych
˛
oraz doskonalacych
˛
różne aspekty metody BMC [D8,
D14, D15] jako j˛ezyka specyfikacji własności systemów używano j˛ezyka liniowej logiki temporalnej.
W 2001 roku profesor Wojciech Penczek oraz jego ówczesna doktorantka Bożena Woźna
rozpocz˛eli opracowywanie metody BMC dla egzystencjalnego fragmentu temporalnej logiki
4
czasu rozgał˛ezionego (ang. existential computation tree logic, w skrócie ECTL). Istotne różnice
pomi˛edzy metoda˛ BMC dla logiki LTL oraz metoda˛ BMC dla logiki ECTL wynikaja˛ w szczególności z tego, iż w przypadku logiki ECTL liczba ścieżek wymaganych do weryfikacji danej
formuły zależy od liczby i sposobu zagnieżdżenia operatorów temporalnych w tej formule.
W trakcie prac nad opracowywaniem metody BMC dla logiki ECTL i elementarnych sieci Petriego brałem udział w rozwiazywaniu
˛
zagadnień zwiazanych
˛
z kodowaniem relacji przejścia
oraz tworzyłem implementacj˛e dla tej metody. Opis opracowanej metody oraz uzyskane przy
jej użyciu wyniki eksperymentalne zostały zawarte w pracy [D33].
Jednym z kolejnych tematów podj˛etych przez grup˛e profesora Wojciecha Penczka było rozwiazanie
˛
problemu osiagalności,
˛
w systemach tranzycyjnych dla automatów czasowych oraz
sieci automatów czasowych, wykorzystujace
˛ redukcj˛e do problemu spełnialności. Wynikiem
wspólnej pracy nad powyższym tematem były dwa artykuły: [D34] oraz [D41]. W trakcie prac
nad wymienionymi artykułami brałem udział w rozwiazywaniu
˛
zagadnień zwiazanych
˛
z kodowaniem relacji przejścia dla automatów czasowych (artykuł [D34]) oraz dla sieci automatów
czasowych (artykuł [D41]). Ponadto, moim istotnym wkładem do obu tych prac było zaimplementowanie modułu, który po kolejnych ulepszeniach i modyfikacjach stał si˛e cz˛eścia˛ rozwijanego w IPI PAN systemu VerICS. W module tym zostały zaimplementowane, zdefiniowane w pracy [D1], zredukowane układy Boolowskie (ang. reduced Boolean circuits, w skrócie RBC), które zapewniaja˛ bardzo efektywna˛ reprezentacj˛e formuł zdaniowych. T˛e wysoka˛
efektywność uzyskuje si˛e dzi˛eki temu, że RBC dla danej formuły zdaniowej jest acyklicznym
grafem skierowanym, w którym każda podformuła jest reprezentowana przez dokładnie jeden
wierzchołek, niezależnie od liczby jej wystapień
˛
w danej formule.
Podj˛ete w roku 2001 badania były przeze mnie kontynuowane w nast˛epnych latach. Te
z nich, których rezultatem sa˛ artykuły [H2–H6], były prowadzone w ramach grantu Ministerstwa Nauki i Informatyzacji nr 3 T11C 011 28 zatytułowanego „Automatyczna symboliczna weryfikacja programów i protokołów kryptograficznych w systemach rozproszonych”. Grant ten,
którego byłem jednym z wykonawców, realizowany był w IPI PAN w okresie od 25.05.2005 r.
do 31.12.2008 r.
Natomiast badania, których rezultatem sa˛ artykuły [H7, H8], były prowadzone w ramach
grantu Narodowego Centrum Nauki nr 2011/01/B/ST6/05317 zatytułowanego „Opracowanie
oraz implementacja metod weryfikacji modelowej dla systemów czasu rzeczywistego i wieloagentowych”. Grant ten, którego jestem jednym z głównych wykonawców, realizowany jest
w IMI AJD od 08.12.2011 r., a jego zakończenie zaplanowane jest na 07.12.2014 r.
Omówienie artykułów wybranych do osiagni˛
˛ ecia habilitacyjnego
Do cyklu b˛edacego
˛
podstawa˛ mojego wniosku habilitacyjnego wybrałem te publikacje,
w których mój szacunkowy udział wyniósł co najmniej 50% i które stanowia˛ istotny wkład
w rozwój metod i algorytmów ograniczonej weryfikacji modelowej dla systemów współbieżnych, jak również w rozszerzenie zakresu stosowalności rozważanej metody.
5
Omawiany cykl rozpoczyna artykuł [H1], w którym przedstawiłem sposoby zwi˛ekszenia
efektywności wprowadzonego w pracy [D41] algorytmu BMC służacego
˛
do rozpoznawania
osiagalności
˛
w systemach tranzycyjnych dla automatów czasowych lub sieci automatów czasowych. Ponadto, zmodyfikowałem ten algorytm tak, aby potrafił on w określonych przypadkach
rozstrzygać, a nie tylko rozpoznawać, problem osiagalności.
˛
Zwi˛ekszenie efektywności rozważanego algorytmu zostało uzyskane poprzez zastosowanie udoskonalonej dyskretyzacji, nowe,
znacznie efektywniejsze niż w pracy [D41], zakodowanie relacji przejścia czasowego oraz wyodr˛ebnienie z przejścia akcyjnego tak zwanego przejścia dostosowawczego.
1
na d = m1 ,
Udoskonalenie dyskretyzacji polegało na zmianie kroku dyskretyzacji z d = 2·n
gdzie n jest liczba˛ zegarów automatu czasowego, a m jest najmniejsza˛ pot˛ega˛ dwójki, taka˛ że
2 · n 6 m. Taki krok dyskretyzacji pozwala na to, aby przyrost czasu w przejściu czasowym
w systemie tranzycyjnym z semantyka˛ dyskretna˛ mógł być dowolna˛ wielokrotnościa˛ liczby d
mniejsza˛ od powi˛ekszonej o jeden najwi˛ekszej stałej wyst˛epujacej
˛ w warunkach zegarowych.
W konsekwencji, pozwoliło to na znacznie efektywniejsze zakodowanie relacji przejścia czasowego. Natomiast wyodr˛ebnienie z przejścia akcyjnego tak zwanego przejścia dostosowawczego
sprawiło, że otrzymywane formuły Boolowskie okazały si˛e być, pomimo zwi˛ekszenia długości
świadka, znacznie łatwiejsze dla SAT-testera w procesie rozstrzygania ich spełnialności.
Efektywność algorytmu BMC dla sieci automatów czasowych może być scharakteryzowana
ze wzgl˛edu na takie parametry sieci, jak liczba jej komponentów oraz wartości stałych wyst˛epujacych
˛
w warunkach zegarowych. Przeprowadzone eksperymenty potwierdziły, że zgodnie
z przewidywaniami, zaproponowane sposoby istotnie zwi˛ekszyły efektywność rozważanego
algorytmu. W przypadku użytego do testowania modelu, którym był protokół Fischera dla problemu wzajemnego wykluczania, o rzad
˛ wielkości ze wzgl˛edu na liczb˛e komponentów oraz
o kilka rz˛edów wielkości ze wzgl˛edu na stałe wyst˛epujace
˛ w warunkach zegarowych.
Udowodnione w omawianym artykule główne twierdzenie orzeka, iż problem osiagalności
˛
w systemie tranzycyjnym z semantyka˛ g˛esta˛ dla danego automatu czasowego jest równoważny
problemowi osiagalności
˛
w systemie tranzycyjnym z semantyka˛ dyskretna˛ dla tego automatu
czasowego. Dowód tego twierdzenia został przeprowadzony bez użycia tzw. grafu regionów.
Jak wiadomo, standardowy algorytm BMC służy tylko do rozpoznawania osiagalności.
˛
Jeżeli algorytm ten stwierdzi osiagalność
˛
w systemie tranzycyjnym dla danego modelu jakiegokolwiek niepożadanego
˛
stanu globalnego, to oznacza to, że przy pomocy tego algorytmu w rozważanym modelu został znaleziony bład.
˛ Przykładowo, w systemie tranzycyjnym dla sieci automatów realizujacej
˛ protokół Fischera dla problemu wzajemnego wykluczania osiagalne
˛
b˛eda˛
stany naruszajace
˛ własność wzajemnego wykluczania, o ile stałe wyst˛epujace
˛ w warunkach
zegarowych zostana˛ niewłaściwie dobrane. Jeżeli natomiast w modelu nie ma bł˛edu, a zatem
w systemie tranzycyjnym dla tego modelu nie jest osiagalny
˛
żaden stan naruszajacy
˛ własność
wzajemnego wykluczania, to tego faktu nie da si˛e stwierdzić przy pomocy standardowego algorytmu BMC.
W zwiazku
˛
z omówionym powyżej ograniczeniem standardowego algorytmu BMC, w oma6
wianym artykule zostało zaproponowane takie jego rozszerzenie, które pozwala – chociaż tylko
dla modeli spełniajacych
˛
pewna˛ własność – na rozstrzyganie problemu osiagalności.
˛
Oznacza
to, że rozszerzony algorytm BMC umożliwia stwierdzenie, iż żaden stan z rozważanego zbioru
niepożadanych
˛
stanów globalnych nie jest osiagalny.
˛
W szczególności, dla protokołu Fischera
z właściwie dobranymi stałymi w warunkach zegarowych, algorytm ten potrafi stwierdzić, iż
zachowany jest warunek wzajemnego wykluczania. Wspomniana˛ własnościa˛ systemu tranzycyjnego umożliwiajac
˛ a˛ rozstrzyganie problemu osiagalności
˛
jest nieistnienie cykli w zbiorze
tych stanów nieosiagalnych,
˛
z których osiagalny
˛
jest testowany zbiór stanów niepożadanych.
˛
W przypadku, gdy we wspomnianym zbiorze cykle istnieja,˛ rozszerzony algorytm BMC działa
tak jak standardowy algorytm BMC: potrafi tylko stwierdzić osiagalność
˛
niepożadanego
˛
stanu,
o ile jakiś niepożadany
˛
stan jest faktycznie osiagalny
˛
w danym modelu.
Po złożeniu omawianego artykułu do druku wygłosiłem na seminarium grupy realizuja˛
cej grant europejski „Advanced methods for timed systems” („Ametist”) referat prezentujacy
˛
omówione powyżej rezultaty. Na seminarium to, które odbyło si˛e w grudniu 2003 roku w Monachium, zostaliśmy zaproszeni wraz z prof. Wojciechem Penczkiem przez kierownika grantu
„Ametist” prof. Fritsa Vaandragera.
Zaproponowane w omówionej pracy sposoby zwi˛ekszenia efektywności algorytmu BMC
oraz jego rozszerzenie zostały przeze mnie zaimplementowane, a nast˛epnie dołaczone
˛
do systemu VerICS jako moduł BMC4DFTA.
Kontynuacja˛ i rozszerzeniem badań podj˛etych w omówionym powyżej artykule [H1] jest
artykuł [H2] dotyczacy
˛ rozpoznawania osiagalności
˛
w systemach tranzycyjnych dla automatów
czasowych z warunkami diagonalnymi, jak i sieci automatów czasowych z warunkami diagonalnymi. Warunki diagonalne pozwalaja˛ na porównywanie różnicy dwóch zegarów ze stała˛ b˛edac
˛ a˛ liczba˛ naturalna.˛ Aby umożliwić zastosowanie metody rozpoznawania, jak i rozstrzygania
osiagalności,
˛
w omawianej pracy została wprowadzona nowa dyskretyzacja, w której krok dyskretyzacji jest uzależniony od numeru przejścia czasowego na danej k-ścieżce. Mianowicie, dla
c, krok dyskretyzacji wynosi d = 21m .
przejścia czasowego o numerze m, gdzie 1 6 m 6 b k+1
2
Oznacza to, że przyrost czasu w przejściu czasowym w systemie tranzycyjnym z semantyka˛
dyskretna˛ może być dowolna˛ wielokrotnościa˛ liczby d mniejsza˛ od powi˛ekszonej o jeden najwi˛ekszej stałej wyst˛epujacej
˛ w warunkach zegarowych. Ponadto, zaproponowana dyskretyzacja
pozwala wyeliminować potrzeb˛e stosowania przejść dostosowawczych.
Udowodnione w pracy główne twierdzenie orzeka, iż problem osiagalności
˛
w systemie tranzycyjnym z semantyka˛ g˛esta˛ dla danego automatu czasowego jest równoważny problemowi
osiagalności
˛
w systemie tranzycyjnym z semantyka˛ dyskretna˛ dla tego automatu czasowego.
Analogicznie jak w przypadku automatów czasowych bez warunków diagonalnych, zaproponowany algorytm pozwala rozstrzygać problem osiagalności,
˛
o ile nie istnieja˛ cykle w zbiorze
stanów nieosiagalnych,
˛
z których osiagalny
˛
jest testowany zbiór stanów niepożadanych.
˛
Wprowadzona metoda została przeze mnie zaimplementowana, a przeprowadzone eksperymenty potwierdziły jej efektywność. Do eksperymentów został użyty, zmodyfikowany przeze
7
mnie na potrzeby omawianej pracy protokół Fischera, w którym warunki zegarowe, b˛edace
˛ warunkami umożliwienia tranzycji akcyjnych, sa˛ warunkami diagonalnymi. Ponadto, zaimplementowana metoda została przetestowana dla automatu czasowego wykorzystanego w pracy [D10]
przez Patrycj˛e Bouyer. Za pomoca˛ tego automatu wykazała ona, iż ówczesne algorytmy zastosowane w weryfikatorach Kronos i Uppal do testowania osiagalności
˛
w systemach tranzycyjnych dla automatów czasowych z warunkami diagonalnymi działaja˛ niepoprawnie. Jak należało
oczekiwać, lokacja, która według wspomnianych weryfikatorów była identyfikowana jako nieosiagalna,
˛
została poprawnie zidentyfikowana przez metod˛e BMC jako osiagalna.
˛
Implementacja zwiazana
˛
z omawiana˛ praca˛ została również dołaczona
˛
do systemu VerICS
jako moduł BMC4DTA.
Na bazie wyników uzyskanych w pracy [H2] oraz w pracy [D26] powstał kolejny artykuł
poświ˛econy ograniczonej weryfikacji modelowej dla sieci automatów czasowych z warunkami
diagonalnymi [H3]. W artykule tym wspólnie z dr Bożena˛ Woźna˛ rozszerzyliśmy metod˛e BMC
dla automatów czasowych z warunkami diagonalnymi oraz egzystencjalnego fragmentu czasowej logiki czasu rozgał˛ezionego bez operatora EG (TECTL-G). W tym celu zaproponowaliśmy
dla automatów czasowych z warunkami diagonalnymi system tranzycyjny w postaci nieskończonego grafu regionów. Graf ten zdefiniowany jest w oparciu o wprowadzona˛ w pracy [H2]
relacj˛e słabej równoważności, która określona jest w zbiorze wartościowań zegarów. O tym
systemie tranzycyjnym udowodniliśmy twierdzenie mówiace,
˛ że zachowuje on logik˛e TECTLG. Natomiast dzi˛eki dyskretyzacji wprowadzonej w pracy [H2] można było symbolicznie (to
znaczy przy pomocy formuł Boolowskich) zakodować relacj˛e przejścia tego systemu tranzycyjnego, co umożliwiło zastosowanie metody BMC do weryfikacji formuł rozważanej logiki.
W omawianej pracy zdefiniowaliśmy również wzbogacony nieskończony graf regionów dla
automatów czasowych. Graf ten zachowuje fragment logiki TECTL-G, w którym nie pozwala
si˛e na zagnieżdżenie operatorów temporalnych. Skutkuje to zwi˛ekszeniem efektywności metody BMC dla tych formuł, których prawdziwość da si˛e wykazać na ścieżkach zawierajacych
˛
wielokrotnie po sobie nast˛epujace
˛ przejścia czasowe.
W kolejnym artykule [H4] z omawianego cyklu podj˛eliśmy wspólnie z dr Agata˛ Półrola˛ problem rozpoznawania i rozstrzygania problemu osiagalności
˛
dla automatów czasowych wzbogaconych o zmienne dyskretne, to jest zmienne, których zakresem jest skończony podzbiór zbioru
liczb całkowitych. Takie automaty nazywa si˛e automatami ze zmiennymi dyskretnymi (ang.
timed automata with discrete data, w skrócie TADD). Zmienne dyskretne moga˛ być używane
w niezmiennikach lokacji, w warunkach umożliwienia tranzycji oraz w instrukcjach przypisania
zwiazanych
˛
z tranzycjami. Do zmiennej w instrukcjach przypisania można przypisać wyrażenie arytmetyczne, przy czym w omawianej pracy rozważane sa˛ tylko wyrażenia arytmetyczne
zbudowane ze stałych, zmiennych oraz operatorów dodawania i odejmowania. Dla rozważanej klasy automatów rozszerzyliśmy, bazujacy
˛ na translacji do problemu spełnialności, algorytm rozstrzygania osiagalności
˛
oraz wykazaliśmy jego poprawność. Wyniki eksperymentalne,
uzyskane z wykorzystaniem stworzonej przeze mnie implementacji, potwierdziły praktyczna˛
8
stosowalność metody.
Ograniczenie klasy wyrażeń arytmetycznych poprzez dopuszczenie tylko operatorów dodawania i odejmowania istotnie zaw˛eża klas˛e systemów, które można modelować przy pomocy automatów czasowych ze zmiennymi dyskretnymi. Dlatego wkrótce po zakończeniu prac
nad omawianym artykułem podjałem
˛
prób˛e Boolowskiego zakodowania pozostałych podstawowych operacji arytmetycznych: mnożenia, dzielenia całkowitego oraz reszty z dzielenia całkowitego. Kodowanie to opisałem w raporcie technicznym [D44]. Oprócz kodowania wspomnianych podstawowych operacji arytmetycznych w raporcie tym zostało opisane także Boolowskie
kodowanie operacji całkowitego pierwiastka kwadratowego z liczby naturalnej oraz pot˛egowania z wykładnikiem naturalnym. Boolowskie kodowanie podstawowych operacji arytmetycznych pozwoliło rozszerzyć stworzona˛ na potrzeby artykułu [H4] implementacj˛e, a powstały
moduł BMC4TADD został właczony
˛
do systemu VerICS.
W późniejszym okresie na bazie modułu BMC4TADD powstał moduł BMC4TADDPA,
w którym dodana została możliwość używania parametrów całkowitych oraz parametrycznych
przypisań. Zastosowania tego modułu zostały opisane w pracach [D21, D28, D32], których
jestem współautorem.
Opracowanie i zaimplementowanie metody testowania osiagalności
˛
dla automatów czasowych ze zmiennymi dyskretnymi pozwoliło na rozważenie jej wykorzystania do weryfikacji programów współbieżnych napisanych w wybranym niewielkim podzbiorze j˛ezyka Java.
W artykule [H5] wspólnie z dr Bożena˛ Woźna˛ zaproponowaliśmy metod˛e modelowania wybranych konstrukcji oraz mechanizmów współbieżności j˛ezyka Java przy pomocy sieci automatów czasowych ze zmiennymi dyskretnymi. Modelowany podzbiór j˛ezyka Java obejmuje
definicje zmiennych całkowitych, standardowe konstrukcje, takie jak instrukcje przypisania, instrukcje warunkowe i iteracyjne, definicje klas i obiektów, definicje metod synchronizowanych
oraz metody biblioteczne używane w programowaniu wielowatkowym:
˛
wait(), notify(),
sleep() i random(). Wielowatkowy
˛
program w Javie jest modelowany za pomoca˛ sieci
automatów czasowych ze zmiennymi dyskretnymi, przy czym każdy watek
˛ jest modelowany
przez jeden automat. Stany automatu sa˛ abstrakcja˛ stanów watku,
˛
a tranzycje sa˛ abstrakcja˛ jego
instrukcji. Każda z metod wait(), notify() oraz random() jest modelowana przez odpowiedni automat, natomiast do modelowania metody sleep() używany jest zegar wyst˛epujacy
˛
w tym automacie czasowym, który został użyty do modelowania watku
˛ zawierajacego
˛
wywołanie metody sleep().
Omawiana praca dała podwaliny do stworzenia translatora dla wybranego podzbioru j˛ezyka
Java. Program napisany w tym podzbiorze jest przekształcany na sieć automatów czasowych ze
zmiennymi dyskretnymi co umożliwia zastosowanie modułu BMC4TADD do testowania takich
bł˛edów programu jak: sytuacja wyścigu, brak wzajemnego wykluczania oraz istnienie możliwości blokady. Dodatkowo, stworzony translator umożliwia wygenerowanie sieci automatów czasowych ze zmiennymi dyskretnymi w formacie stosowanym w weryfikatorze U PPAL [D5, D25].
Konstrukcja i możliwości translatora zostały opisane w pracy [D36].
9
W artykule [H6] przedstawiłem sposób istotnego zwi˛ekszenia efektywności metody ograniczonej weryfikacji modelowej dla logiki ECTL poprzez ulepszenie translacji problemu prawdziwości formuł tej logiki w danym modelu do problemu SAT. Pierwsza translacja z ECTL do
SAT została opisana w pracy [D33]. Źródłem wzgl˛ednej nieefektywności tej translacji jest fakt,
że do translacji danej formuły ϕ, jak również każdej jej podformuły ψ, używa si˛e wszystkich
ścieżek symbolicznych o indeksach ze zbioru Fk (ϕ) = {1, . . . , fk (ϕ)}. Podstawa˛ ulepszenia
translacji z omawianego artykułu [H6] jest naturalna idea, aby do translacji danej podformuły
ψ użyć tylko pewnego podzbioru o mocy fk (ψ) zbioru Fk (ϕ).
Idea ta została zrealizowana poprzez wprowadzona˛ metod˛e wyznaczania w zbiorze Fk (ϕ)
podzbiorów potrzebnych do translacji właściwych podformuł formuły ϕ. W szczególności, do
translacji podformuły postaci EOψ, gdzie O ∈ {X, G, U} używana jest jedna ścieżka do translacji operatora EO oraz fk (ψ) innych ścieżek do translacji formuły ψ. Zauważmy, że translacja
z pracy [D33] używa zawsze fk (ϕ) ścieżek do translacji dowolnej podformuły postaci EOψ.
W omawianym artykule wykazano poprawność i zupełność zmodyfikowanej translacji. Jak
należało oczekiwać, przeprowadzone eksperymenty (dla sieci automatów modelujacej
˛ problem
ucztujacych
˛
filozofów) wykazały, że nowa translacja jest znacznie efektywniejsza od poprzedniej translacji. W zależności od badanej formuły czas translacji jest krótszy nawet o trzy rz˛edy
wielkości, a czas zużyty przez SAT-tester krótszy o dwa rz˛edy wielkości. Także wymagania
pami˛eciowe dla procesu translacji, jak również dla SAT-testera, uległy kilkakrotnemu zmniejszeniu. Wykonana przez mnie na potrzeby omawianej pracy implementacja została właczona
˛
do systemu VerICS jako moduł BMC4ECTL.
Powyższa translacja z ECTL do SAT, a także zwiazana
˛
z nia˛ implementacja, zostały wykorzystane i rozszerzone w pracach [D23] oraz [D42].
W pracy [D23] rozszerzono translacj˛e z ECTL do SAT do translacji z logiki PRTECTL,
która jest parametrycznym rozszerzeniem egzystencjalnego fragmentu logiki CTL. Bazujaca
˛
na tej translacji metoda BMC została zastosowana do weryfikacji własności czasowych sieci
Petriego z semantyka˛ dyskretna.˛ Użyty do eksperymentów moduł o nazwie BMC4PRTECTL
powstał na bazie wcześniej zaimplementowanych przeze mnie modułów BMC4ECTL oraz
BMC4DTPN.
W pracy [D42], której jestem współautorem, wprowadzona przeze mnie translacja z ECTL
do SAT została rozszerzona dla logiki RTECTLK, w której wyst˛epuja˛ operatory temporalne
z przedziałami oraz operatory wiedzowe. Wyniki eksperymentalne zostały wykonane przy pomocy zaimplementowanego przeze mnie modułu BMC4RTECTLK, który jest rozszerzeniem
modułu BMC4ECTL.
W artykule [H7] przedstawiłem sposób istotnego zwi˛ekszenia efektywności metody ograniczonej weryfikacji modelowej dla logiki ECTL* poprzez ulepszenie translacji problemu prawdziwości formuł tej logiki w danym modelu do problemu SAT. Pierwsza poprawna translacja
z ECTL* do SAT została opisana w pracy [D40]. Podobnie jak w przypadku translacji z ECTL
do SAT, źródłem znacznej nieefektywności translacji z pracy [D40] jest fakt, że do translacji
10
danej formuły ϕ, jak również każdej jej podformuły ψ, używa si˛e wszystkich ścieżek symbolicznych o indeksach ze zbioru Fk (ϕ) = {1, . . . , fk (ϕ)}. Podstawa˛ artykułu [H7] sa:
˛ nowe
kodowanie ścieżek symbolicznych oraz idea, aby do translacji dowolnej właściwej podformuły
ψ formuły ϕ użyć tylko pewnego podzbioru o mocy fk (ψ) zbioru Fk (ϕ).
We wspomnianym nowym kodowaniu ścieżka symboliczna o długości k jest para˛ uporzad˛
kowana,˛ której pierwsza składowa jest ciagiem
˛
stanów symbolicznych, a druga składowa jest
symboliczna˛ liczba˛ naturalna˛ l, taka˛ że 0 6 l 6 k. Takie kodowanie pozwala na zdefiniowanie translacji w sposób, który dopuszcza aby w zbiorze ścieżek b˛edacym
˛
świadkiem dla danej
formuły pewne ścieżki były k-p˛etlami, a pewne inne nie. Natomiast translacja z pracy [D40]
wymusza, aby w zbiorze ścieżek b˛edacym
˛
świadkiem dla danej formuły albo wszystkie ścieżki
były k-p˛etlami albo wszystkie ścieżki nie były k-p˛etlami.
Idea, aby do translacji właściwych podformuł danej formuły używać właściwych podzbiorów zbioru Fk (ϕ) została zrealizowana poprzez wyznaczanie w zbiorze Fk (ϕ) podzbiorów potrzebnych do translacji właściwych podformuł formuły ϕ. W szczególności, do translacji podformuły postaci Eψ używana jest jedna ścieżka do translacji operatora E oraz fk (ψ) innych
ścieżek do translacji formuły ψ. Zauważmy, że translacja z pracy [D40] używa zawsze fk (ϕ)
ścieżek do translacji dowolnej podformuły postaci Eψ.
Wykonane przez mnie na potrzeby omawianego artykułu dwie implementacje, jedna dla
translacji z pracy [D40] oraz druga dla translacji z pracy [H7], pozwoliły na przeprowadzenie eksperymentów, które wykazały, że nowa translacja jest zdecydowanie bardziej efektywna.
W zależności od badanej formuły czas translacji jest krótszy o dwa rz˛edy wielkości, a czas
zużyty przez SAT-tester krótszy o co najmniej jeden rzad
˛ wielkości. Także wymagania pami˛eciowe dla procesu translacji, jak również dla SAT-testera, uległy kilkakrotnemu zmniejszeniu.
Ponadto warto zauważyć, że każda translacja z ECTL* do SAT może być zastosowana do
formuł logiki ECTL. Przeprowadzone wyniki eksperymentalne pokazały dla formuł, w których
nie wyst˛epuje operator EX, pewien wzrost efektywności w stosunku do translacji zdefiniowanej
tylko dla logiki ECTL, co spowodowane jest zapewne nowym kodowaniem ścieżek. Natomiast
dla formuł logiki ECTL, które zawieraja˛ operator EX, translacja z ECTL* do SAT daje w wyniku formuły zdaniowe trudniejsze do rozstrzygni˛ecia przez SAT-solver. Jest to spowodowane
tym, że w translacji z ECTL do SAT nie trzeba wymagać, aby k-ścieżka wybrana do translacji operatora EX była k-p˛etla,˛ natomiast w przypadku translacji z ECTL* do SAT nie można
zrezygnować z tego wymagania.
Opisana translacja z ECTL* do SAT została zastosowana i rozszerzona w pracy [D43] do
translacji z logiki EMTLKD oraz deontycznych przeplotowych systemów interpretowanych.
Logika EMTLKD jest egzystencjalnym fragmentem metrycznej logiki temporalnej wzbogaconym o operatory wiedzowe i operatory deontyczne.
W artykule [H8] razem dr Bożena˛ Woźna-Szcześniak
˛
zaproponowaliśmy redukcj˛e problemu egzystencjalnej weryfikacji modelowej dla logiki MITL (ang. Metric Interval Temporal Logic) z semantyka˛ g˛esta˛ do problemu ograniczonej weryfikacji modelowej dla j˛ezyka
11
HLTLz semantyka˛ dyskretna.˛ Logika MITL jest fragmentem logiki MTL, która rozszerza liniowa˛ logik˛e temporalna˛ poprzez nałożenie na operatory temporalne ograniczeń czasowych
w postaci, ograniczonych lub nieograniczonych, przedziałów liczb rzeczywistych, przy czym
w logice MITL dopuszcza si˛e tylko przedziały niezdegenerowane. Od czasu wprowadzenia logiki MTL w pracy [D24] oraz logiki MITL w artykule [D3] stały si˛e one, jak również problem
weryfikacji modelowej dla tych logik, przedmiotem rozlicznych badań – przykładowo w pracach [D11–D13, D29, D30].
Wprowadzona w omawianym artykule logika HLTL jest wariantem liniowej logiki temporalnej, w którym operator X (to jest operator nast˛epnego kroku) został zastapiony
˛
rodzina˛
indeksowanych operatorów resetujacych
˛
Hk , dla k ∈ . Rozważana redukcja zrealizowana
jest poprzez translacj˛e dowolnej formuły MITL do formuły HLTL poprzez zastapienie
˛
każdego
wystapienia
˛
operatora temporalnego OIk (gdzie OIk ∈ {UIk , RIk }) odpowiednim złożeniem
operatorów Hk oraz O, przy czym liczba operatorów Hk w wynikowej formule jest równa liczbie wystapień
˛
operatorów temporalnych UIk oraz RIk w formule poddawanej translacji. Celem
nowego operatora jest „wyzerowanie” wartości zegara zwiazanego
˛
z danym przedziałem Ik .
Jest to zapewnione przez semantyk˛e operatora Hk i służy właściwemu odmierzaniu czasu od
odpowiednich punktów na dowolnej, rozważanej ścieżce wykonania w modelu dyskretnym dla
automatu czasowego.
W artykule dowodzimy, że wprowadzona translacja jest poprawna w tym sensie, iż dowolna formuła MITL jest prawdziwa w systemie tranzycyjnym z semantyka˛ g˛esta˛ dla danego
automatu czasowego wtedy i tylko wtedy, gdy odpowiadajaca
˛ jej formuła HLTL (formuła po
translacji) jest prawdziwa w systemie tranzycyjnym z semantyka˛ dyskretna˛ dla tego automatu.
Udowodnione twierdzenie jest podstawa˛ do zastosowania metody BMC do weryfikacji własności wyrażonych w MITL poprzez ich translacj˛e do formuł HLTL z nast˛epujacym
˛
zastosowaniem
metody BMC do formuł logiki HLTL poprzez odpowiednie rozszerzenie standardowej metody
BMC dla liniowej logiki temporalnej.
N
Podsumowanie
Jednym z najważniejszych praktycznych problemów weryfikacji modelowej jest wykładniczy wzrost, zależacej
˛ od liczby komponentów modelowanego systemu, liczby stanów systemu
tranzycyjnego. Edmund M. Clarke, współtwórca metody weryfikacji modelowej, wielokrotnie
podkreślał [D16–D18], iż problem przezwyci˛eżenia wykładniczej eksplozji przestrzeni stanów
był jednym z najważniejszych problemów badawczych jakimi zajmował si˛e od momentu powstania weryfikacji modelowej. Przezwyci˛eżenie problemu wykładniczej eksplozji przestrzeni
stanów wymaga w szczególności, aby stosowane metody i algorytmy charakteryzowały si˛e jak
najwi˛eksza˛ efektywnościa.˛ Omawiajac
˛ artykuły, które zaliczyłem do mojego osiagni˛
˛ ecia habilitacyjnego, przedstawiłem swój wkład zarówno w zwi˛ekszanie efektywności metod ograniczonej weryfikacji modelowej, jak również w rozszerzenie stosowalności ograniczonej weryfikacji
modelowej do różnych klas systemów współbieżnych.
12
W artykułach [H1, H6, H7] rozwinałem
˛
i znaczaco
˛ udoskonaliłem istniejace
˛ już metody
BMC, dzi˛eki czemu istotnie zwi˛ekszył si˛e zakres ich praktycznej stosowalności. W artykule
[H2] rozszerzyłem metod˛e BMC rozstrzygania problemu osiagalności
˛
dla automatów z warunkami diagonalnymi. W artykułach [H4, H5], wspólnie z ich współautorkami, zaproponowałem
i rozwinałem
˛
metody pozwalajace
˛ na stosowanie ograniczonej weryfikacji modelowej dla automatów czasowych ze zmiennymi dyskretnymi oraz dla programów wielowatkowych
˛
w Javie.
Natomiast w artykułach [H3, H8], wspólnie z ich współautorka,˛ zaproponowałem metody ograniczonej weryfikacji modelowej dla logik TECTL-G oraz MITL.
Każda z zaproponowanych metod ograniczonej weryfikacji modelowej została zaimplementowana przeze mnie w j˛ezyku C++ jako niezależny moduł. Moduły zaimplementowane przed
2010 rokiem zostały dołaczone
˛
do systemu VerICS, który jest narz˛edziem służacym
˛
do weryfikacji poprawności systemów czasu rzeczywistego, systemów wieloagentowych oraz systemów
specyfikowanych w j˛ezykach takich jak Estelle, Promela, Java i UML. System VerICS jest rozwijany pod kierunkiem profesora Wojciecha Penczka w Instytucie Podstaw Informatyki PAN
w Warszawie. Moduły weryfikacyjne systemu VerICS stosuja˛ metod˛e ograniczonej weryfikacji modelowej, która wykorzystuje translacj˛e do problemu spełnialności. W roku 2010 system
VerICS został laureatem konkursu JAKOŚĆ ROKU.
Do systemu VerICS zostały także dołaczone,
˛
zaimplementowane przeze mnie, moduły
zwiazane
˛
z powstałymi metodami ograniczonej weryfikacji modelowej, które nie zostały opisane w artykułach zaliczonych przeze mnie do mojego osiagni˛
˛ ecia habilitacyjnego. Metody te
zostały natomiast opisane w innych pracach, których jestem współautorem. Ponadto, w skład
systemu VerICS wchodza˛ moduły realizujace
˛ metody ograniczonej weryfikacji modelowej opisane w pracach, których nie jestem współautorem. Wi˛ekszość z tych modułów jest jednak modyfikacja˛ i rozszerzeniem modułów, których byłem jedynym wykonawca.˛ Moduły powstałe po
2010 roku zostana˛ właczone
˛
do, planowanej do realizacji w bieżacym
˛
roku, kolejnej wersji
systemu VerICS.
5. Omówienie pozostałych osiagni˛
˛ eć naukowo - badawczych (artystycznych):
Moje pozostałe osiagni˛
˛ ecia naukowo-badawcze zostały wyszczególnione w załaczniku
˛
nr
3: „Wykaz opublikowanych prac naukowych lub twórczych prac zawodowych oraz informacja
o osiagni˛
˛ eciach dydaktycznych, współpracy naukowej i popularyzacji nauki”
Tutaj wymieni˛e jedynie wybrane prace [D35, D42, D43], których byłem współautorem,
i które dotycza˛ weryfikacji modelowej systemów wieloagentowych [D22, D38, D39]. Własności systemów wieloagentowych formułowane sa˛ w rozszerzeniach logik temporalnych zawierajacych
˛
operatory wiedzowe.
Prace [D42] oraz [D43] zostały już pokrótce scharakteryzowane w zasadniczej cz˛eści mojego autoreferatu.
W pracy [D35] razem ze współautorami zdefiniowaliśmy metod˛e ograniczonej weryfikacji
modelowej dla systemów wieloagentowych modelowanych przez przeplotowe systemy inter-
13
pretowane (ang. interleaving interpreted systems, w skrócie IIS) oraz dla egzystencjalnego fragmentu liniowej logiki temporalnej rozszerzonej o operatory wiedzowe (ELTLK). Udowodniliśmy w tym artykule równoważność semantyki ograniczonej i nieograniczonej oraz poprawność
translacji problemu weryfikacji modelowej dla ELTLK do problemu SAT. Opisana w omawianym artykule metoda została zaimplementowana w postaci modułu BMC4ELTLK, który
został użyty do przeprowadzenia eksperymentów. Wyniki tych eksperymentów potwierdziły
praktyczna˛ stosowalność wprowadzonej metody ograniczonej weryfikacji modelowej oraz pozwoliły wybrać jeden z trzech możliwych wariantów translacji jako najbardziej efektywny. Jednak jak si˛e okazało, jeszcze bardziej efektywna jest translacja wykorzystujaca
˛ wprowadzona˛
*
przeze mnie w artykule [D7] translacj˛e z ECTL do SAT. Translacja ta została wykorzystana
w pracy [D43].
W wymienionych pracach, których byłem współautorem, a które dotycza˛ ograniczonej weryfikacji modelowej systemów wieloagentowych oraz własności wyrażonych w wybranej logice
temporalnej rozszerzonej o operatory wiedzowe wykorzystywana była semantyka przeplotowa,
która ogranicza wykonania w systemie tranzycyjnym dla danego systemu wieloagentowego do
takich, w których w jednym kroku może si˛e wykonać tylko jedna akcja, przy czym jeśli jest to
akcja wspólna dla co najmniej dwóch agentów, to musi ona zostać wykonana w danym kroku
przez wszystkich agentów, w których akcja ta wyst˛epuje.
Obecnie bior˛e udział w pracach nad artykułem, w którym wykorzystywana jest również
semantyka nieprzeplotowa, nie ograniczajaca
˛ wykonań systemu w opisany powyżej sposób.
Jednak, analogicznie jak w semantyce przeplotowej, każda akcja, która jest wspólna dla co
najmniej dwóch agentów, musi zostać wykonana w danym kroku przez wszystkich agentów,
w których akcja ta wyst˛epuje. Wykonana przez mnie implementacja wykorzystujaca
˛ semantyk˛e
nieprzeplotowa˛ pozwoliła eksperymentalnie stwierdzić, że wykorzystujaca
˛ translacj˛e do SAT
ograniczona weryfikacja modelowa systemów wieloagentowych z semantyka˛ nieprzeplotowa˛
jest znacznie efektywniejsza niż wykorzystujaca
˛ translacj˛e do SAT ograniczona weryfikacja
modelowa systemów wieloagentowych z semantyka˛ nieprzeplotowa.˛ Stworzony na potrzeby
wspomnianej pracy moduł zostanie również dołaczony
˛
do systemu VerICS.
Literatura cytowana
[D1] P. A. Abdulla, P. Bjesse, N. Eén. Symbolic Reachability Analysis Based on SAT-Solvers.
Proc. of the 6th Int. Conf. on Tools and Algorithms for the Construction and Analysis
of Systems (TACAS’00), wolumen 1785 serii LNCS, strony 411–425. Springer-Verlag,
2000.
[D2] Rajeev Alur, David L. Dill. A Theory of Timed Automata. Theoretical Computer
Science, 126(2):183–235, 1994.
[D3] Rajeev Alur, Tomás Feder, Thomas A. Henzinger. The Benefits of Relaxing Punctuality.
Journal of the ACM, 43(1):116–146, 1996.
14
[D4] C. Baier, J.-P. Katoen. Principles of Model Checking. MIT Press, 2008.
[D5] Gerd Behrmann, Alexandre David, Kim Guldstrand Larsen, Paul Pettersson, Wang Yi.
Developing uppaal over 15 years. Softw., Pract. Exper., 41(2):133–142, 2011.
[D6] A. Biere, A. Cimatti, E. Clarke, M.Fujita, Y. Zhu. Symbolic Model Checking Using SAT
Procedures instead of BDDs. Proc. of the ACM/IEEE Design Automation Conference
(DAC’99), strony 317–320, 1999.
[D7] A. Biere, A. Cimatti, E. Clarke, Y. Zhu. Symbolic Model Checking without BDDs.
Proc. of the 5th Int. Conf. on Tools and Algorithms for the Construction and Analysis
of Systems (TACAS’99), wolumen 1579 serii LNCS, strony 193–207. Springer-Verlag,
1999.
[D8] A. Biere, K. Heljanko, T. A. Junttila, T. Latvala, V. Schuppan. Linear Encodings of
Bounded LTL Model Checking. Logical Methods in Computer Science, 2(5), 2006.
[D9] Armin Biere, Alessandro Cimatti, Edmund M. Clarke, Ofer Strichman, Yunshan Zhu.
Bounded Model Checking. Advances in Computers, 58:117–148, 2003.
[D10] Patricia Bouyer. Untameable Timed Automata! STACS, wolumen 2607 serii Lecture
Notes in Computer Science, strony 620–631. Springer, 2003.
[D11] Patricia Bouyer. Model-checking Timed Temporal Logics. Electr. Notes Theor. Comput.
Sci., 231:323–341, 2009.
[D12] Patricia Bouyer, Nicolas Markey, Joël Ouaknine, James Worrell. The Cost of Punctuality. 22nd IEEE Symposium on Logic in Computer Science (LICS 2007), 10-12 July
2007, Wroclaw, Poland, Proceedings, strony 109–120. IEEE Computer Society, 2007.
[D13] Patricia Bouyer, Nicolas Markey, Joël Ouaknine, James Worrell. On Expressiveness and
Complexity in Real-Time Model Checking. Automata, Languages and Programming,
35th International Colloquium, ICALP 2008, Reykjavik, Iceland, July 7-11, 2008, Proceedings, Part II - Track B: Logic, Semantics, and Theory of Programming & Track C:
Security and Cryptography Foundations, wolumen 5126 serii Lecture Notes in Computer
Science, strony 124–135. Springer, 2008.
[D14] E. Clarke, A. Biere, R. Raimi, Y. Zhu. Bounded Model Checking Using Satisfiability
Solving. Formal Methods in System Design, 19(1):7–34, 2001.
[D15] E. Clarke, D. Kroening, J. Ouaknine, O. Strichman. Completeness and Complexity
of Bounded Model Checking. Proc. of the 5th Int. Conf. on Verification, Model Checking, and Abstract Interpretation (VMCAI’04), wolumen 2937 serii LNCS, strony 85–96.
Springer-Verlag, 2004.
15
[D16] Edmund M. Clarke. The birth of model checking. 25 Years of Model Checking - History,
Achievements, Perspectives, wolumen 5000 serii Lecture Notes in Computer Science,
strony 1–26. Springer, 2008.
[D17] Edmund M. Clarke. Model checking - my 27-year quest to overcome the state explosion
problem. Logic for Programming, Artificial Intelligence, and Reasoning, 15th International Conference, LPAR 2008, Doha, Qatar, November 22-27, 2008. Proceedings,
wolumen 5330 serii Lecture Notes in Computer Science, strona 182. Springer, 2008.
[D18] Edmund M. Clarke. My 27-year quest to overcome the state explosion problem. Proceedings of the 24th Annual IEEE Symposium on Logic in Computer Science, LICS 2009,
11-14 August 2009, Los Angeles, CA, USA, strona 3, 2009.
[D19] Edmund M. Clarke, E. Allen Emerson, A. Prasad Sistla. Automatic verification of finite state concurrent systems using temporal logic specifications: A practical approach.
Conference Record of the Tenth Annual ACM Symposium on Principles of Programming
Languages, Austin, Texas, USA, January 1983, strony 117–126. ACM Press, 1983.
[D20] Edmund M. Clarke, Orna Grumberg, Doron Peled. Model Checking. MIT Press, 2001.
[D21] Dariusz Doliwa, Wojciech Horzelski, Mariusz Jarocki, Artur Niewiadomski, Wojciech
Penczek, Agata Połrola, Maciej Szreter, Andrzej Zbrzezny. PlanICS - a Web Service
Composition Toolset. Fundamenta Informaticae, 112(1):47–71, 2011.
[D22] Ronald Fagin, Joseph Y. Halpern, Yoram Moses, Moshe Y. Vardi. Reasoning About
Knowledge. MIT Press, 1995.
[D23] Michal Knapik, Wojciech Penczek, Maciej Szreter, Agata Półrola. Bounded Parametric
Verification for Distributed Time Petri Nets with Discrete-time Semantics. Fundamenta
Informaticae, 101(1-2):9–27, 2010.
[D24] Ron Koymans. Specifying Real-time Properties with Metric Temporal Logic. Real-Time
Systems, 2(4):255–299, 1990.
[D25] Kim Guldstrand Larsen, Paul Pettersson, Wang Yi. Uppaal in a nutshell. STTT, 1(12):134–152, 1997.
[D26] Alessio Lomuscio, Wojciech Penczek, Bożena Woźna. Bounded Model Checking for
Knowledge and Real Time. Artif. Intell., 171(16-17):1011–1038, 2007.
[D27] P. Merlin, D. J. Farber. Recoverability of Communication Protocols – Implication of a
Theoretical Study. IEEE Trans. on Communications, 24(9):1036–1043, 1976.
16
[D28] Artur Niewiadomski, Wojciech Penczek, Agata Półrola, Maciej Szreter, Andrzej Zbrzezny. Towards Automatic Composition of Web Services: SAT-Based Concretisation of
Abstract Scenario. Fundamenta Informaticae, 120(2):181–203, 2012.
[D29] Joël Ouaknine, James Worrell. On the Decidability and Complexity of Metric Temporal
Logic over Finite Words. Logical Methods in Computer Science, 3(1), 2007.
[D30] Joël Ouaknine, James Worrell. Some Recent Results in Metric Temporal Logic. Formal Modeling and Analysis of Timed Systems, 6th International Conference, FORMATS
2008, Saint Malo, France, September 15-17, 2008. Proceedings, wolumen 5215 serii
Lecture Notes in Computer Science, strony 1–13. Springer, 2008.
[D31] W. Penczek, A. Półrola. Advances in Verification of Time Petri Nets and Timed Automata: A Temporal Logic Approach, wolumen 20 serii Studies in Computational Intelligence. Springer-Verlag, 2006.
[D32] Wojciech Penczek, Agata Półrola, Andrzej Zbrzezny. Towards Automatic Composition
of Web Services: A SAT-Based Phase. ACSD/Petri Nets Workshops, wolumen 827 serii
CEUR Workshop Proceedings, strony 453–473. CEUR-WS.org, 2010.
[D33] Wojciech Penczek, Bożena Woźna, Andrzej Zbrzezny. Bounded Model Checking for
the Universal Fragment of CTL. Fundamenta Informaticae, 51(1-2):135–156, 2002.
[D34] Wojciech Penczek, Bożena Woźna, Andrzej Zbrzezny. Towards Bounded Model Checking for the Universal Fragment of TCTL. Proc. of the 7th Int. Symp. on Formal Techniques in Real-Time and Fault Tolerant Systems (FTRTFT’02), wolumen 2469 serii LNCS,
strony 265–288. Springer-Verlag, 2002.
[D35] Wojciech Penczek, Bożena Woźna-Szcześniak, Andrzej Zbrzezny. Towards SAT-based
BMC for LTLK over Interleaved Interpreted Systems. Fundamenta Informaticae, 119(34):373–392, 2012.
[D36] Artur Rataj, Bożena Woźna, Andrzej Zbrzezny. A Translator of Java Programs to
TADDs. Fundamenta Informaticae, 93(1-3):305–324, 2009.
[D37] Wolfgang Reisig. Petri Nets: An Introduction, wolumen 4 serii Monographs in Theoretical Computer Science. An EATCS Series. Springer, 1985.
[D38] Wiebe van der Hoek, Michael Wooldridge. Model checking knowledge and time. Model
Checking of Software, 9th International SPIN Workshop, Grenoble, France, April 11-13,
2002, Proceedings, wolumen 2318 serii Lecture Notes in Computer Science, strony 95–
111. Springer, 2002.
[D39] Michael J. Wooldridge. An Introduction to MultiAgent Systems (2. ed.). Wiley, 2009.
17
[D40] B. Woźna. ACTL∗ Properties and Bounded Model Checking. Fundamenta Informaticae,
63(1):65–87, 2004.
[D41] Bożena Woźna, Andrzej Zbrzezny, Wojciech Penczek. Checking Reachability Properties
for Timed Automata via SAT. Fundamenta Informaticae, 55(2):223–241, 2003.
[D42] Bożena Woźna-Szcześniak, Agnieszka Zbrzezny, Andrzej Zbrzezny. The BMC Method
for the Existential Part of RTCTLK and Interleaved Interpreted Systems. Progress in
Artificial Intelligence, 15th Portuguese Conference on Artificial Intelligence, EPIA 2011,
Lisbon, Portugal, October 10-13, 2011. Proceedings, wolumen 7026 serii Lecture Notes
in Computer Science, strony 551–565. Springer, 2011.
[D43] Bożena Woźna-Szcześniak, Andrzej Zbrzezny. SAT-Based BMC for Deontic Metric
Temporal Logic and Deontic Interleaved Interpreted Systems. 10th International Workshop, DALT 2012, Valencia, Spain, June 4, 2012, Revised Selected and Invited Papers.,
wolumen 7784 serii LNCS, strony 170–189. Springer-Verlag, 2013.
[D44] Andrzej Zbrzezny. A Boolean Encoding of Arithmetic Operations. Raport instytutowy
999, ICS PAS, Ordona 21, 01-237 Warsaw, Styczeń 2007.
[D45] Wieslaw Zielonka. Notes on Finite Asynchronous Automata. ITA, 21(2):99–135, 1987.
18

Podobne dokumenty