Czasowe Sieci Petriego

Transkrypt

Czasowe Sieci Petriego
Modelowanie i Analiza Systemów Informatycznych – Sieci Petriego
Czasowe Sieci Petriego
Zawartość tej instrukcji laboratoryjnej jest poprawionym i uzupełnionym tłumaczeniem fragmentu instrukcji laboratoryjnej:
„Information Systems Analysis. Petri Nets”, Paweł Skrobanek, PWr.
Wersja 2015.1
Wprowadzenie teoretyczne
Czasowa sieć Petriego (TPN)
TPN = <P, T, F, H, W, C, M0, SI>
gdzie: P – zbiór miejsc;
T – zbiór przejść;
F (PT) (TP) – zbiór łuków z miejsc do przejść i z przejść do miejsc;
W : F N – funkcja wagowa łuku (N – zbiór liczb naturalnych);
H (TP) – zbiór łuków hamujących (pominięto definicję funkcji wagowej, gdyż W : H {1});
C : P N – funkcja pojemności miejsca;
M0 : P N – funkcja wstępnego oznakowania;
SI : T Q+ x (Q+{}) – funkcja przypisująca statyczny przedział czasu odpalenia każdemu przejściu
(Q+ – zbiór liczb rzeczywistych nieujemnych).
Dwie liczby S i S, takie że SI(ti) = S,S i 0  S, S  S, S  , przypisane są do każdego przejścia ti.
Liczby te definiują czasowy przedział, w którym przejście t i musi zostać odpalone (instancję czasu, kiedy
przejście ti staje się dostępne, traktuje się jako czas zero).
Przykład 1 – pory roku
Dla Sieci Petriego modelującej zmiany pór roku zakładamy, że jednostką czasu jest dzień.
Wiosna trwa 93 dni, lato – 93, jesień – 90, a zima – 89. Sekwencję pór roku przedstawia modelu TPN
z rysunku poniżej.
Formalny opis tej sieci jest następujący:
P = {p0, p1, p2, p3},
T = {t0, t1, t2, t3},
F = {{p0,t0} 1, {p1,t1} 1, {p2,t2} 1, {p3,t3} 1,
{t3,p0} 1, {t0,p1} 1, {t1,p2} 1, {t2,p3} 1},
H = ,
M0 = {p0 = 1, p1 = 0, p2 = 0, p3 = 0},
SI = {t0 <93,93> t1 <93,93>, t2 <90,90>
t3 <89,89>.
W skróconej postaci:
SI = {<93,93>, <93,93>, <90,90>, <89,89>},
gdzie pozycja w zbiorze jest numerem przejścia.
Stan S Czasowej Sieci Petriego opisany jest oznakowaniem M i wektorem I (wektor par nieujemnych
wartości wyliczonych dla każdego przejścia, które jest dostępne do odpalenia w tym oznakowaniu).
Si = (Mk, Il), gdzie dla każdego stanu para: (Mk, Il) musi być inna.
strona 1 z 3
Przejście ti jest dostępne tylko jeśli:
• każde miejsce wejściowe zawiera wystarczającą liczbę znaczników,
• żadne miejsce wejściowe z łukami hamującymi nie ma znaczników,
• przejście ti jest dostępne w obecnym czasie (pozostałe dostępne przejścia można odpalić później).
Tak więc muszą być spełnione warunki (4) – (6) przejścia ti:
(4)
(p)(M(p)  F(p,ti))
(5)
(p)((I(ti,p) = 1)  (M(p) = 0))
(6)
i    min{k}
gdzie:  – względny czas (wobec „teraz”) odpalenia przejścia ti,
tk – inne przejście dostępne do odpalenia,
k – zakres zbioru przejść dostępnych przez M.
Odpalenie przejścia ti składa się z trzech kroków:
• usunięcie W(p,ti) znaczników z każdego wejściowego miejsca,
• dodanie W(ti,p) znaczników do każdego wyjściowego miejsca,
• wyliczenie nowego wektora I.
Te operacje dane są formułą (7):
(7)
(p)(M'(p) = M(p) – W(p,ti) + W(ti,p))
KROK 1: Usuń wszystkie pary z wektora I, które powiązane są z przejściami, które są niedozwolone,
gdy ti jest odpalane.
KROK 2: Przesuń czas wszystkich pozostałych przedziałów odpalania o wartość θ:
k = max{0, k – },
(8)
k = k – 
KROK 3: Wprowadź pary nowych dozwolonych przejść:
p = Sp,
(9)
p = Sp
Przykład 2
Przeanalizujmy przykład z rys. obok.
Przejście t1 jest dostępne do odpalenia, ale czas odpalenia  może być np.
0; 1,2; 1,46; 1,2345. Tak więc mamy nieskończenie wiele stanów.
Czas odpalenia opisujemy więc, używając nierówności, np. 0 3.
Zamiast wektora I mamy system nierówności nazywany domeną, a zamiast jednego stanu mamy zbiór
stanów (bo liczba  jest nieskończona) nazywany klasą.
Klasy stanów C są parami:
Ci = (Mk, Dl)
gdzie: • M – oznakowanie (wszystkie stany w klasie mają to samo oznakowanie),
• D – domena odpalania.
strona 2 z 3
Więcej informacji na ten temat w:
• B. Berthomieu, M. Menasche, A State Enumeration Approach for Analyzing Time Petri Nets, 3. European
Workshop on Applications and Theory of Petri Nets, Varenna (Italy), september 1982.
• B. Berthomieu, M. Menasche, Time Petri Nets for Analyzing and Veryfying Time Dependent Communication
Protocols, 3. IFIP WG 6.1 Workshop on Protocol Specification Testing and Verification, Rueschlikon
(Schwizerland), May-June 1983.
Diagram klas dla TPN ze str. 2 przedstawia rysunek obok.
Zadania do zrobienia
Zadanie 1.
Opisz główne różnice między PN a TPN.
Zadanie 2.
Rozbuduj model TPN ze str. 1 tak, aby uwzględnić rok przestępny.
Zadanie 3.
Wykonaj TPN dla sieci PN modelującej kontrolę świateł ulicznych, przedstawionej na poniższym rysunku (jej
opis jest w instrukcji do 1. laboratorium z Sieci Petriego).
Rozbuduj ten model zgodnie z następującymi warunkami:
• człowiek naciska przycisk, by mieć zielone światło,
• czas trwania zielonego światła dla człowieka wynosi dokładnie 30 sekund,
• czas trwania zielonego światła dla samochodów nie może być krótszy niż 45 sekund.
Pozostałe parametry czasowe powinny rozsądnie odpowiadać rzeczywistości.
Zadanie 4.
Wykonaj PTN dla sieci PN modelującej komunikację Bond–„M” z zad. 5 z instrukcji do 2. i 3. laboratorium
z Sieci Petriego.
Zaproponuj własne, rozsądne parametry czasowe, odpowiadające rzeczywistości.
strona 3 z 3