DYNAMICZNA ANALIZA SYSTEMÓW WSPÓŁBIE NYCH Andrzej Karatkiewicz Instytut Informatyki i Elektroniki, Uniwersytet Zielonogórski 65-246 Zielona Góra, ul. Podgórna 50 e-mail: a.karatkiewicz@iie.uz.zgora.pl STRESZCZENIE Analiza systemów współbie nych jest skomplikowanym problemem, co spowodowane jest du ilo ci stanów osi galnych w takim systemie. W niniejszym artykule podano zarys wybranych metod analizy systemów współbie nych, których struktura opisana jest z wykorzystaniem sieci Petriego.. WPROWADZENIE System sekwencyjny (np. algorytm albo program komputerowy) mo e by analizowany i weryfikowany na dwóch głównych poziomach: syntaktycznym, (który łatwo da si sformalizowa ; takiej analizy dokonuje ka dy kompilator poprzez rozbiór gramatyczny) oraz semantycznym, (który nie jest w cało ci formalizowalny; do takiej weryfikacji potrzebny jest człowiek). Przy analizie systemu współbie nego (takiego jak sie Petriego, diagram Statechart albo sie automatowa) niezb dne jest wprowadzenie dodatkowego poziomu, znajduj cego si pomi dzy wy ej wymienionymi. Dotyczy on wzajemnego oddziaływania współbie nie aktywnych cz ci systemu. Mog one, na przykład, wzajemnie si zablokowa albo w inny sposób zakłóci swoje działanie. Mo na to formalnie okre li i formalnie sprawdzi, ale rozbiór gramatyczny wy ej wzmiankowanych problemów na takim poziomie nie wykryje. Stosuje si do tego inne metody. Niektóre z nich s tematem tego artykułu. Metody opisane s na poziomie analizy sieci Petriego, b d cych jednym z podstawowych modeli systemów współbie nych. 2. SIECI PETRIEGO I ICH ANALIZA Sieci Petriego [9] s popularnym modelem matematycznym i graficznym, słu cym do opisu systemów współbie nych. Sie Petriego mo e by przedstawiona jako dwudzielny graf skierowany z dwoma rodzajami wierzchołków, które nazywane s miejscami i tranzycjami. Stan sieci Petriego, nazywany znakowaniem, zadaje si poprzez znaczniki, które mog si znajdowa w miejscach sieci. Je li znaczniki znajduj si we wszystkich wej ciowych 4
miejscach tranzycji, to taka tranzycja jest aktywna i mo e zosta zrealizowana. Realizacja tranzycji zabiera jeden znacznik z ka dego z miejsc wej ciowych i dodaje jeden znacznik do ka dego z miejsc wyj ciowych tranzycji. Blokad (ang. deadlock) nazywa si znakowanie, w którym adna tranzycja nie jest aktywna. Sie jest yw, je li dla ka dej tranzycji t z ka dego znakowania M jest osi galne znakowanie M, w którym tranzycja t jest aktywna. Sie jest bezpieczna, je li w ka dym z osi galnych znakowa adne miejsce nie zawiera wi cej ni jeden znacznik. Sie ywa i bezpieczna cz sto nazywa si sieci poprawnie zbudowan (ang. well-formed); takie sieci maj szczególne znaczenie praktyczne. Na rys. pokazany jest przykład sieci Petriego oraz jej przestrzeni stanów (grafu osi galno ci). p t p2 t2 p3 t3 p4 t5 p5 t4 p6 t6 p7 p8 2,5 3,5 2,6 4,5 3,6 2,7 2,8 4,6 3,7 3,8 t9 p9 4,7 4,8 t0 Rys.. Przykład sieci Petriego i jej grafu osi galno ci Z przykładu tego wida, e współbie no mo e powodowa nadmierne zwi kszenie ilo ci stanów osi galnych w systemie. Ilo osi galnych stanów wykładniczo zale y od rozmiaru systemu współbie nego (jest to znane jako problem eksplozji stanów, state explosion problem). Dlatego, chocia graf osi galno ci pozwala na łatwe znalezienie odpowiedzi na wi kszo pyta, zwi zanych z analiz sieci, praktycznie w taki sposób mo na bada tylko niewielkie sieci. Powstało szereg metod, pozwalaj cych bada sie w bardziej oszcz dny sposób, na przykład, ograniczaj c si do konstruowania tylko cz ciowych grafów osi galno ci []. 3. ANALIZA POPRZEZ CZ CIOWE BADANIE PRZESTRZENI STANÓW Jedn z najbardziej znanych metod badania sieci poprzez optymaln symulacj, jest tak zwana metoda upartych zbiorów (stubborn set method) [0]. 42
Niech sie ma dwie współbie ne gał zie i adnej synchronizacji mi dzy nimi; niech ka da gał ma n stanów. Ł cznie osi galnych stanów jest n 2, ale wynik ko cowy ewolucji sieci byłby ten sam, gdyby ka d gał symulowa osobno, a w trakcie takiej symulacji starczyłoby zbada tylko 2n stanów. Metod t mo na rozszerzy na du o ogólniejsze przypadki. Upartym zbiorem dla znakowania M nazywa si zbiór tranzycji T S, który spełnia 3 warunki: () ka da nieaktywna tranzycja w T S ma puste miejsce wej ciowe p takie, e wszystkie tranzycje, dla których p jest miejscem wyj ciowym, nale do T S ; (2) adna aktywna tranzycja w T S nie ma wspólnego miejsca wej ciowego z tranzycj poza T S ; (3) T S zawiera aktywn tranzycj. Metoda polega na tym, e w ka dym danym znakowaniu symuluje si odpalenie tylko aktywnych tranzycji, nale cych do T S. W taki sposób buduje si cz ciowy (zredukowany) graf osi galno ci, pozwalaj cy zbada niektóre własno ci sieci. W swojej klasycznej wersji dla dowolnej sieci Petriego graf zawiera wszystkie blokady sieci. Na rys. wierzchołki, zaznaczone na szaro, nale do zredukowanego grafu osi galno ci. Wykrywanie blokad ma szczególne znaczenie dla analizy systemów współbie nych, bo z reguły prawidłowo działaj cy system albo nie powinien mie takich stanów (czyli działa w sposób cykliczny, jak typowy układ steruj cy), albo powinien ko czy prac w konkretnym okre lonym stanie (albo jednym z kilku okre lonych stanów). Metoda upartych zbiorów dobrze nadaje si do analizy w takim zakresie; w [4] pokazano, e poza wykrywaniem blokad pozwala ona równie wykrywa znakowania, z których adna blokada nie jest osi galna. Sprawdzanie takich własno ci sieci, jak ywotno i bezpiecze stwo, jest mo liwe przy wykorzystaniu niektórych modyfikacji metody [0,]. Ciekawe wyniki otrzymano, stosuj c metod do niektórych podklas sieci. Na przykład, w modelowaniu, bazuj cym na sieciach Petriego, cz sto stosuje si rozszerzone sieci swobodnego wyboru (EFC-sieci) z jednoelementowym znakowaniem pocz tkowym. Dla takich sieci obliczenie upartego zbioru dla danego znakowania jest du o prostsze ni w przypadku ogólnym. Stosowanie metody upartych zbiorów w jej klasycznej wersji pozwala uzyska w takim przypadku wi cej informacji, ni w przypadku ogólnym. W [7] zostało pokazane, e analizuj c zredukowany graf osi galno ci dla takiej sieci, mo na sprawdzi, czy jest ona poprawnie zbudowana. Trwaj prace nad zastosowaniem metody upartych zbiorów do sprawdzania poprawno ci zbudowania sieci w przypadku ogólnym. Na podstawie wymienionych metod zostały opracowane algorytmy analizy systemów, opisanych za pomoc diagramów SFC [7], diagramów Statechart [5], interpretowanych sieci Petriego z łukami zezwalaj cymi i zabraniaj cymi [8]. Inna metoda analizy poprzez cz ciowe badanie przestrzeni stanów bazuje na dekompozycji sieci na bloki i analizie tych bloków pojedynczo, w okre lonej kolejno ci [2]. Sumaryczna ilo osi galnych znakowa ka dego pojedynczego bloku mo e by wielokrotnie mniejsza, 43
ni ilo wszystkich osi galnych znakowa sieci. Metoda ta pozwala oblicza blokady sieci oraz analizowa ywotno i bezpiecze stwo sieci z jednoelementowym znakowaniem pocz tkowym. Na rys. 2 pokazany jest prosty przykład jej zastosowania. Na pełnym grafie osi galno ci sieci na szaro zaznaczone s znakowania rozpatrzone w metodzie blokowej. p t2 t p2 p4 p5 p3 t7 2,3,4 t4 t5 t6 3,4,5 3,4,6 2,4,7 2,3,8 t3 p6 p7 p8 4,5,7 3,5,8 4,6,7 2,7,8 t8 5,7,8 6,7,8 3,6,8 p9 9 Rys. 2. Przykład zastosowania blokowej metody analizy sieci 4. CZY MO NA JESZCZE BARDZIEJ OSZCZ DZI PAMI? Analiza sieci za pomoc metod, omówionych w poprzednim rozdziale, wymaga mniej czasu i pami ci, ni konstruowanie i badanie całej przestrzeni stanów. Jednak wymagany czas i pami nadal wykładniczo zale od rozmiaru sieci, wi c wydaje si, i istotne s badania nad mo liwo ci dalszego zmniejszenia zło ono ci obliczeniowej metod badania. Takie mo liwo ci istniej, chocia, niestety, znane metody pozwalaj oszcz dzi pami kosztem czasu wykonywania algorytmu []. Jednak e w sytuacjach, w których pami jest parametrem bardziej krytycznym, takie oszcz dzanie miałoby sens. Zwrócimy jeszcze raz uwag na problem wykrywania blokad. Podczas badania przestrzeni stanów w takim celu, znakowania nie b d ce blokadami, maj znaczenie tylko pod wzgl dem tego, które znakowania s z nich osi galne. Wi c czy koniecznie trzeba takie przej ciowe znakowania przechowywa w pami ci po ich zbadaniu? Gdyby algorytm badał przestrze stanów systemu, w którym s wzajemnie osi galne stany i wyrzucałby z pami ci ka dy stan po obliczeniu stanów bezpo rednio z niego osi galnych, to by si zap tlił. Co najmniej jedno znakowanie z ka dego cyklu w grafie osi galno ci musi zosta w pami ci. W [3] udowodniono twierdzenie, na którego podstawie mo na tego dokona. 44
Twierdzenie. Dla ka dego cyklu grafu osi galno ci sieci Petriego istnieje cykl grafu sieci taki, e ka dej tranzycji, przez któr on przechodzi, odpowiada łuk cyklu grafu osi galno ci. To znaczy, e wystarczy znale taki podzbiór tranzycji sieci, w którym znalazła by si co najmniej jedna tranzycja dla ka dego cyklu sieci (jest to problemem decyklizacji grafu skierowanego [2]), po czym przechowywa w pami ci tylko znakowania, otrzymane przy realizacji tranzycji, nale cych do tego zbioru. Metoda obliczania w taki sposób blokad sieci (dynamiczna redukcja grafu osi galno ci) opisana została w [6]; analizy niektórych innych własno ci sieci w [3]. Na rys. 3 pokazany został dynamicznie redukowany graf osi galno ci dla sieci z rys. dla jednego z kroków konstruowania oraz w postaci ko cowej. 2,6 4,7 4,8 4,5 3,6 2,7 2,8 a) b) Rys. 3. Graf osi galno ci dla sieci z rys., budowany z zastosowaniem dynamicznej redukcji: a) w trakcie konstruowania (w momencie, kiedy zawiera maksymaln ilo wierzchołków); b) w postaci ko cowej Omówione podej cie pozwala znacznie zmniejszy ilo pami ci, potrzebnej do analizy sieci. Jednak czas analizy mo e okaza si znacznie wi kszy, bo przy zastosowaniu dynamicznej redukcji mo e si okaza, e takie same znakowania sieci b d badane wielokrotnie. Pod tym wzgl dem skuteczne okazuje si poł czenie metody dynamicznej redukcji z metod upartych zbiorów, bo wtedy taki niepo dany efekt wyst puje w mniejszym stopniu. Je li trzeba tylko wykry osi galne blokady, ilo pami ci mo na jeszcze zmniejszy, przechowuj c w pami ci nie graf, a tylko zbiór znakowa. Bardziej oszcz dnym wobec tego dla pami ci byłby algorytm wykrywania blokad, ł cz cy metod upartych zbiorów z metod dynamicznej redukcji, przechowuj c przy tym w pami ci tylko podzbiór osi galnych znakowa. 5. PODSUMOWANIE Chocia analiza systemów współbie nych poprzez badanie ich przestrzeni stanów jest problemem, wymagaj cym du ego nakładu czasu i pami ci, opracowane zostały metody, znacznie upraszczaj ce tak analiz, zwłaszcza, je li dotyczy to niektórych podklas sieci, 45
maj cych szczególne znaczenie praktyczne. Z tego wynika, e formalna weryfikacja systemów współbie nych w rozs dnym czasie i z wykorzystaniem ograniczonej pami ci jest mo liwa. Praca naukowa finansowana ze rodków Komitetu Bada Naukowych w latach 2003-2006 jako projekt badawczy nr 4 TC 006 24. LITERATURA [] M. Heiner: Petri net based system analysis without state explosion, Proc. High Perfomance Computing 98, Boston, April 998, session Petri net Applications and HPC, pp. 394-403 [2] A. Karatkevich: On algorithms for decyclisation of oriented graphs, Proc. Discrete-Event System Design 0, Przytok, June 200, session Petri-Net Based Digital Design, pp. 35-40. [3].. :,, No, 2002,. 76-82. [4] A. Karatkevich: To behavior analysis of a class of Petri nets, Proc. Workshop on Real- Time Programming 03, Łagów, May 2003, session Formal methods in discrete control, pp. 33-38. [5] A. Karatkevich: Deadlock analysis in Statecharts, Proc. Forum on Specification & Desogn Languages 03, Frankfurt, September 2003, session Property Specification and Analysis, pp. 44-424. [6] A. Karatkevich, M. Adamski: Deadlock analysis of Petri nets: Minimization of memory amount, Proc. Electronic Circuits and Systems 0, Bratislava, September 200, pp. 69-72. [7] A. Karatkevich, M. Adamski, M. W grzyn: Rapid correctness analysis for Sequential Function Chart, 45. Internationales Wissenschaftliches Kolloquium, Ilmenau, November 2000, Tagung Eingebettete Systeme, pp. 679-684. [8] A. Karatkevich, G. Andrzejewski: Analiza wybranych własno ci interpretowanej sieci Petriego metod optymalnej symulacji, Mat. Krajowej Konferencji Elektroniki 02, Kołobrzeg D wirzyno, czerwiec 2002, t. II, str. 685-690. [9] J.L. Peterson: Petri net theory and the modeling of systems, Prentice-Hall, Inc., 98 [0] A. Valmari: State of the art report: Stubborn sets, Petri Nets Newsletter, 46, 994, pp. 6-4. [] A. Valmari: The state explosion problem, Lectures on Petri Nets I: Basic Models, LNCS Tutorials, LNCS 49, Springer-Verlag, 998, pp. 429-528. [2] A. Zakrevskij, A. Karatkevich, M. Adamski: A Method of analysis of operational Petri nets, Proc. Advanced Computer Systems 0, Mielno, October 200, session Logic Synthesis and Simulation, Kluwer Academic Publishers, 2002, pp. 449-460. 46