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.