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 (PT) (TP) – 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 (TP) – 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