Analiza wybranych własności interpretowanej sieci Petriego
Transkrypt
Analiza wybranych własności interpretowanej sieci Petriego
Andrei Karatkevich Grzegorz Andrzejewski Wydział Elektrotechniki, Informatyki i Telekomunikacji Uniwersytet Zielonogórski ul. Podgórna 50, 65-246 Zielona Góra Analiza wybranych własności interpretowanej sieci Petriego metodą optymalnej symulacji Słowa kluczowe: interpretowane sieci Petriego, analiza, optymalna symulacja STRESZCZENIE W artykule zaproponowano metodę analizy interpretowanej sieci Petriego z łukami zabraniającymi i zezwalającymi, polegającą na tzw. optymalnej symulacji. Zdefiniowano zbiór stubborn, będący kluczowym elementem analizy dla różnych elementów opisu wykorzystywanych w sieciach interpretowanych, a także wyprowadzono jego postać uogólnioną jako superpozycję postaci częściowych. Proponowana metoda może zostać użyta do wykrywania stanów blokad, określania własności żywotności i bezpieczeństwa sieci interpretowanych. 1. WPROWADZENIE Istnieje wiele modeli specyfikacji formalnej systemów sterowania, wspierających takie elementy opisu jak współbieżność czy hierarchia [4,14]. Wśród nich popularne są sieci Petriego [1,2]. Powstało wiele odmian sieci, które na różne sposoby pozwalają opisywać zachowania systemów rzeczywistych [3,9,10]. Na szczególną uwagę zasługują sieci interpretowane, ze względu na możliwość zastosowania ich do modelowania systemów sterowania binarnego. Oprócz efektywności opisu pewnej klasy systemów, używany model powinien też posiadać elementy analizy wybranych własności. W przypadku modelowania systemów współbieżnych mogą to być opracowane algorytmy analizy pod kątem wykrywania blokad, pułapek, czy też badania bezpieczeństwa. Istnieje wiele metod analizy sieci Petriego, bazujących głównie na ich grafie znakowań, jednakże metody te są mało efektywne w sytuacjach, gdy sieć Petriego posiada duży współczynnik współbieżności [5,11]. Wynika to głównie z faktu, iż przestrzeń stanów sieci jest wykładniczo uzależniona od jej stopnia równoległości. Opracowano także metody analizy sieci wykorzystujące zredukowaną przestrzeń stanów [5,13,14]. Jednak są one przeznaczone dla sieci bez interpretacji. W artykule autorzy przedstawiają metodę analizy sieci Petriego z łukami zabraniającymi, jako bazową do zastosowań w sieciach interpretowanych, wykorzystującą technikę przybliżonej symulacji omawianą szeroko w pracach [5,13]. 2. SIECI PETRIEGO Dla pełniejszego przedstawienia tematu, niezbędnym wydaje się wprowadzenie szeregu definicji podstawowych. Def.1 W ujęciu klasycznym sieć Petriego definiuje się jako czwórkę uporządkowaną: Σ = (P, T, Fo , m 0 ) (1) gdzie: P – niepusty, skończony zbiór miejsc (np.: P = {p1,p2,...,pn}), T – niepusty, skończony zbiór tranzycji (np.: T = {t1,t2,...,tm}), oraz P ∩ T = ∅, Fo – niepusty, skończony zbiór łuków skierowanych, takich że: Fo⊂(P×T)∪(T×P), m0 – funkcja znakowania początkowego m0: P → N ∪ {0}. Def.2 Sieć Petriego z łukami zezwalającymi i zabraniającymi: Σ A = (P, T, F, m 0 ) (2) gdzie: F jest zbiorem łuków takich że: F = Fo∪Fe∪Fi, Fo: Fo ⊂ (P×T)∪(T×P), Fe: Fe ⊂ (P×T), Fi: Fi ⊂ (P×T), symbole pozostałe jak w (1). Def.3 Interpretowaną sieć Petriego można przedstawić jako: Σ I = (P, T, F, X, Y, m 0 , δ, λ) (3) gdzie: P,T,F,m0 – definiowane są tak jak poprzednio, X i Y– są alfabetami wejściowym i wyjściowym, δ – jest funkcją przyporządkowującą każdej tranzycji pewien podzbiór z przestrzeni wejścia δ: T → X (formułę logiczną cond), λ – jest funkcją przyporządkowującą każdemu miejscu pewien podzbiór z przestrzeni wyjścia λ: P → Y. Dodatkowo zdefiniować można szereg pojęć pomocniczych. Def.4 Zbiorami miejsc wejściowych, zezwalających, zabraniających oraz wyjściowych tranzycji t nazywamy odpowiednio zbiory Ptin(o), Ptin(e), Ptin(i) oraz Ptout, takie że: Ptin(o)={p∈P: (p,t)∈Fo}, Ptin(e)={p∈P: (p,t)∈Fe}, Ptin(i)={p∈P: (p,t)∈Fi}, Ptout={p∈P: (t,p)∈Fo}. Def.5 Zbiorami tranzycji wejściowych oraz wyjściowych miejsca p nazywamy odpowiednio zbiory Tpin oraz Tpout, takie że: Tpin={t∈T: (t,p)∈Fo}, Tpout={t∈T: (p,t)∈Fo}. Def.6 Funkcją aktywności miejsca nazywamy taką funkcję ac(p)→{true, false}, która każdemu miejscu sieci przypisuje wartość true, jeśli miejsce to posiada znacznik, oraz false w sytuacji przeciwnej. Def.7 Znakowaniem (markowaniem) m nazywamy taką funkcję która każdemu miejscu sieci przyporządkowuje pewną liczbę równą liczbie znaczników przebywających w tym miejscu w określonym momencie czasu. Def.8 Sieć nazywamy żywą wtedy i tylko wtedy, gdy dla każdego osiągalnego znakowania m możliwe jest przygotowanie każdej tranzycji t∈T w wyniku wykonania sekwencji tranzycji σ. Def.9 Sieć nazywamy bezpieczną wtedy i tylko wtedy, gdy dla każdego osiągalnego znakowania m w żadnym miejscu nie przebywa więcej niż jeden znacznik. Def.10 Znakowanie m sieci nazywamy blokadą wtedy i tylko wtedy, gdy w tym znakowaniu dla każdej tranzycji t∈T warunki przygotowania zostają niespełnione. Działanie sieci wyznaczone jest poprzez warunki przygotowania tranzycji oraz akcje związane z jej wykonaniem. Dla sieci interpretowanych z łukami zezwalającymi i zabraniającymi przedstawiono je w Tab.1. Tab.1. Warunki i akcje wykonania tranzycji Warunki wykonania tranzycji t: Akcje związane z wykonaniem tranzycji t: ∀in ( o ) ac(p) := false a) a) ∀ ac(p) = true p∈Pt p∈Ptin ( o ) b) c) d) cond( t ) = true ∀in ( e ) ac(p) = true p∈Pt ∀ ac(p) = false p∈Ptin ( i ) b) c) d) ∀ ac(p) := true p∈Ptout ∀ ∀ y := false ∀ ∀ y := true p∈Ptin ( o ) y∈λ ( p ) p∈Ptout y∈λ ( p ) 3. ANALIZA SIECI PETRIEGO PRZEZ BADANIE CZĘŚCI PRZESTRZENI STANÓW Podstawowym podejściem do analizy sieci Petriego jest konstruowanie i analiza jej przestrzeni stanów (grafu znakowań). Jednakże ze względu na wykładniczą zależność rozmiaru przestrzeni stanów od współczynnika współbieżności sieci, metodyka taka w większości sytuacji praktycznych nie jest efektywna. Z tego też powodu opracowano inne metody analizy. Wymienić tu można choćby analizę statyczną, gdzie badanie sieci ogranicza się do rozwiązywania układów równań liniowych [12] lub logicznych [14] oraz analizę zredukowanej przestrzeni stanów [13]. To ostatnie podejście polega na konstruowaniu pewnego charakterystycznego fragmentu grafu osiągalności, zachowującego wybrane własności sieci. Najpopularniejszą odmianą takiego podejścia jest metoda stubborn set (nazywana dalej optymalną symulacją) [13]. Def 11 Zbiorem stubborn nazywamy pewien podzbiór TS tranzycji sieci Petriego Σ, który dla znakowania m spełnia następujące warunki: 1) jeśli t∈TS jest nieaktywna, to istnieje miejsce p, takie że: p∈Ptin(o), ac(p)=0, ∀t’∈Tpin: t’∈TS; 2) jeśli t∈TS jest aktywna, to ∀t’∈T: (Ptin(o)∩Pt’in(o)≠∅ ⇒ t’∈TS); 3) TS zawiera przynajmniej jedną aktywną tranzycję. Jeśli w każdym znakowaniu bada się wykonania tranzycji należących tylko do jednego ze zbiorów stubborn (optymalna symulacja), to otrzymuje się podgraf grafu znakowań, zawierający wszystkie blokady występujące w sieci. Istnieją warianty metody wykorzystującej zbiór stubborn, za pomocą których można badać też inne własności, zwłaszcza w przypadku przynależności sieci do określonej klasy. Na przykład dla sieci klasy EFC z jednym znacznikiem w znakowaniu początkowym (αsieci), można w ten sposób badać własności żywotności i bezpieczeństwa sieci [8,15]. 3.1. Sieć z łukami zabraniającymi Graf osiągalności GZ sieci ΣZ z łukami zabraniającymi jest podgrafem grafu osiągalności G takiej samej sieci Σ bez łuków zabraniających. Graf Gopt optymalnej symulacji sieci Σ też jest podgrafem G, ale nie koniecznie Gopt⊆GZ, i możliwa jest sytuacja, kiedy ewolucja sieci w kierunku, istotnym dla analizy sieci ΣZ, jest ominięta przez Gopt. Rozpatrzmy sieć z (rys. 1a). Łuk zabraniający (p5,t1) może spowodować blokadę: {p1, p5, p6}. Konstruowanie podgrafu osiągalności przez metodę optymalnej symulacji może doprowadzić do sytuacji z rys. 1b, w której nie wykryto blokady. p1 t1 t2 p4 p5 p1, p2,p3 p1, p2,p3 p3 p2 p2,p3,p4 t3 p3,p4,p5 p2,p3 p3,p4,p5 p2,p3 p6 p4,p5,p6 t4 a) p1,p3,p5 p2,p3,p4 p1,p5,p6 p4,p5,p6 b) c) Rys. 1. Sieć z łukami zabraniającymi i graf skonstruowany przez metodę upartego zbioru Dla sieci z łukami zabraniającymi proponuje się zmodyfikowanie definicji zbioru stubborn: Def. 12 TS jest zbiorem stubborn dla znakowania m sieci Petriego z łukami zabraniającymi wtedy i tylko wtedy, gdy spełnione są warunki 1-3 z (def. 7) oraz: 1) jeśli dla tranzycji t∈TS: Ptin(i)≠∅, to ∀p∈Ptin(i): ∀t’∈Tpin: t’∈TS; 2) jeśli t∈TS, p∈Ptout oraz p∈Pt’in(i), to t’∈TS. Wprowadzenie punktów 1) i 2) zapewnia, że w trakcie generowania podgrafu osiągalności nie zostaną pominięte sytuacje, w których dalsza ewolucja sieci w pewnym kierunku jest zablokowana łukiem zabraniającym. Jeśli pewna tranzycja jest aktywna w znakowaniu badanym i posiada łuk zabraniający, łączący z nią miejsce nie zawierające znacznika, to do zbioru stubborn należy również dodać taką aktywną tranzycję, której wykonanie spowoduje blokadę. Podgraf grafu osiągalności zgodny z def.12 pokazano na rys. 1c. 3.2. Sieć z łukami zezwalającymi Przykład sieci z łukiem zezwalającym oraz przykład analizy wykorzystującej optymalną symulację zgodną z def.13 pokazano na rys. 2. p1 p1, p2,p3 p3 p2 t1 t2 p4 p5 t3 p6 t4 p2,p3,p4 p3,p4,p5 p2,p3 p1,p3,p5 p1,p5,p6 p4,p5,p6 Rys. 2. Przykład analizy sieci z łukami zezwalającymi Dla sieci z łukami zabraniającymi i zezwalającymi definicję zbioru stubborn można przedstawić następująco: Def. 13 TS jest zbiorem stubborn dla znakowania m sieci z łukami zabraniającymi i zezwalającymi, wtedy i tylko wtedy, gdy: 1) jeśli t∈TS jest nieaktywna, to istnieje miejsce p, takie że: p∈(Ptin(o)∪Ptin(e)), ac(p)=0, ∀t’∈Tpin: t’∈TS; 2) jeśli t∈TS jest aktywna, to ∀t’∈T: ((Ptin(o)∪Ptin(e))∩(Pt’in(o)∪Pt’in(e))≠∅ ⇒ t’∈TS); 3) TS zawiera przynajmniej jedną aktywną tranzycję; 4) jeśli dla tranzycji t∈TS: Ptin(i)≠∅, to ∀p∈Ptin(i): ∀t’∈Tpin: t’∈TS; 5) jeśli t∈TS, p∈Ptout oraz p∈Pt’in(i), to t’∈TS. 3.3. Sieć interpretowana W podrozdziale niniejszym scharakteryzowano taki przypadek sieci interpretowanych, w których pewne sygnały, należące do zbioru sygnałów wyjściowych, przyporządkowane funkcją etykietującą λ(P) do wybranych miejsc, są równocześnie użyte jako warunek zezwolenia tranzycji δ(T). W rzeczywistości może to odpowiadać klasie sieci z wyróżnionym zbiorem sygnałów wewnętrznych. Wyżej wzmiankowane warunki są równoważne łukom zabraniającym lub zezwalającym i dalej zapisywane będą odpowiednio jako λ(p) → δ( t ) oraz λ ( p ) → δ( t ) ⇔ δ( t ) → λ ( p ) . Def. 10 TS jest zbiorem stubborn dla znakowania m sieci interpretowanej, wtedy i tylko wtedy, gdy: 1) jeśli t∈TS jest nieaktywna, to istnieje miejsce p, takie że: (p∈Ptin(o)∨ δ( t ) → λ(p) ), ac(p)=0, ∀t’∈Tpin: t’∈TS; 2) jeśli t∈TS jest aktywna, to ∀t’∈T: (Ptin(o)∩Pt’in(o))≠∅ ⇒ t’∈TS); 3) jeśli t∈TS jest aktywna, to ∀t’∈T: (( ∃p ∋ (δ( t ) → λ(p)) ∧ (δ( t ' ) → λ(p)) ) ⇒ t’∈TS); 4) TS zawiera przynajmniej jedną aktywną tranzycję; 5) jeśli dla tranzycji t∈TS: λ (p) → δ{t} , to ∀t’∈Tpin: t’∈TS; 6) jeśli t∈TS, p∈Ptout oraz λ(p) → δ{t '} , to t’∈TS. 3.3. Definicja uogólnionego zbioru stubborn Uwzględniając wszystkie wcześniej opisane elementy opisu, używane w interpretowanych sieciach Petriego, można przedstawić postać uogólnioną zbioru stubborn, jako superpozycję postaci zdefiniowanych w (def.7-10). Def. 11 TS jest zbiorem stubborn dla znakowania m sieci interpretowanej z łukami zabraniającymi i zezwalającymi, wtedy i tylko wtedy, gdy: 1) jeśli t∈TS jest nieaktywna, to istnieje miejsce p, takie że: (p∈(Ptin(o)∪Ptin(e)) ∨ λ (p) → δ( t ) ), ac(p)=0, ∀t’∈Tpin: t’∈TS; 2) jeśli t∈TS jest aktywna, to ∀t’∈T: ((Ptin(o)∪Ptin(e))∩(Pt’in(o)∪Pt’in(e))≠∅ ⇒ t’∈TS); 3) jeśli t∈TS jest aktywna, to ∀t’∈T: (( ∃p ∋ (δ( t ) → λ (p)) ∧ (δ( t ' ) → λ (p)) ) ⇒ t’∈TS); 4) TS zawiera przynajmniej jedną aktywną tranzycję; 5) jeśli dla tranzycji t∈TS: Ptin(i)≠∅, to ∀p∈Ptin(i): ∀t’∈Tpin: t’∈TS; 6) jeśli dla tranzycji t∈TS: λ (p) → δ{t} , to ∀t’∈Tpin: t’∈TS; 7) jeśli t∈TS, p∈Ptout oraz p∈Pt’in(i), to t’∈TS; 8) jeśli t∈TS, p∈Ptout oraz λ(p) → δ{t '} , to t’∈TS. 4. PODSUMOWANIE Proponowana metoda optymalnej symulacji może zostać użyta do wykrywania stanów blokad [6], określania własności żywotności i bezpieczeństwa [7,8] sieci interpretowanych, a w szczególności sieci z łukami zabraniającymi i zezwalającymi oraz z wyróżnionym zbiorem sygnałów wewnętrznych. W artykule zdefiniowano zbiór stubborn, będący kluczowym elementem analizy, dla różnych elementów opisu, wykorzystywanych w sieciach interpretowanych, a także wyprowadzono jego postać uogólnioną jako superpozycję postaci częściowych. Dalsze badania ukierunkowane zostaną na wykorzystanie opisywanej metodologii do badania wybranych własności sieci hierarchicznych [1]. BIBLIOGRAFIA [1] G. Andrzejewski, Hierarchical Petri Net as a Representation of Reactive Behaviors, ACS’2001, Part 2, s. 145-154, Szczecin, Polska, 2001. [2] Z. Banaszak, J. Kuś, M. Adamski, Sieci Petriego, Modelowanie, Sterowanie i Synteza Systemów Dyskretnych, Skrypt Wydawnictwa WSI w Zielonej Górze, 1993. [3] R. David, H. Alla, Petri Nets & Grafcet. Tools for modelling discrete event systems, New York: Prentice Hall, 1992. [4] D. Harel, Starecharts: A Visual Formalism for Complex Systems, Science of Computer Programming, #8, pp. 231-271, 1987. [5] M. Heiner, Petri net-based system analysis without state explosion, High Performance Computing ’98, Boston, pp. 1-10, 1998. [6] A. Karatkevich, Dependence between Some Behavioral Properties of α-Nets, Proceedings of the Fourth International Conference CAD DD’2001- Minsk, pp. 57-60, 2001. [7] A. Karatkevich, M. Adamski, M. Wegrzyn, Rapid Correctness Analysis for Sequential Function Chart, 45. Internationales Wissenschaftliches Kolloquium, Technische Universität Ilmenau, pp. 679-684, 2000. [8] А.Г. Короткевич, Анализ корректности α-сетей, Сборник “Логическое проектирование”, вып. 1, Минск: ИТК АНБ, C. 86-96, 1996. [9] T. Kozłowski, Petri Net Specification Format (PNSF). Bristol: University of Bristol, 1994. [10] R.W. Lewis, Programming industrial control systems using IEC 1131-3, IEE, London, 1995. [11] T. Murata, Petri Nets: Properties, Analysis and Applications, Proceedings of the IEEE, Vol.77, No.4, ss.541-580, 1989. [12] J.L. Peterson, Petri net theory and the modeling of systems. Prentice-Hall, Inc., Englewood Cliffs, 1981. [13] A. Valmari, State of Art Report: STUBBORN SETS, Petri Nets Newsletter, No 46, GI, pp.6-14, Bonn, 1994. [14] А.Д. Закревский, Параллельные алгоритмы логического управления, ИТК АНБ, Минск, 1999. [15] А.Д. Закревский, Элементы теории α-сетей, Проектирование систем логического управления, Минск, ИТК АН БССР, С. 4-12, 1986.