Modelowanie procesów współbieżnych

Podobne dokumenty
Modelowanie procesów współbieżnych

Najkrótsza droga Maksymalny przepływ Najtańszy przepływ Analiza czynności (zdarzeń)

miejsca przejścia, łuki i żetony

Sieci Petriego. Sieć Petriego

Rozszerzenia sieci Petriego

Definicja sieci. Sieć Petriego jest czwórką C = ( P, T, I, O ), gdzie: P = { p 1, p 2,, p n } T = { t 1, t 2,, t m }

Rozszerzenia sieci Petriego

Analiza sieci Petriego

procesów Współbieżność i synchronizacja procesów Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak

Analiza sieci Petriego

Przetwarzanie rozproszone

1. Sieci Petriego. Rys. 1-1 Przykład sieci Petriego

Matematyczne Podstawy Informatyki

Literatura. adów w cyfrowych. Projektowanie układ. Technika cyfrowa. Technika cyfrowa. Bramki logiczne i przerzutniki.

WOJSKOWA AKADEMIA TECHNICZNA WYDZIAŁ CYBERNETYKI

Akademia Górniczo-Hutnicza im. Stanisława Staszica w Krakowie

Komputerowe Systemy Przemysłowe: Modelowanie - UML. Arkadiusz Banasik arkadiusz.banasik@polsl.pl

Wykład I. Wprowadzenie do baz danych

Temat: Zastosowanie wyrażeń regularnych do syntezy i analizy automatów skończonych

Sterowniki Programowalne (SP) Wykład 11

SFC zawiera zestaw kroków i tranzycji (przejść), które sprzęgają się wzajemnie przez połączenia

Proces rozproszony 1

Kurs programowania. Wykład 12. Wojciech Macyna. 7 czerwca 2017

Myśl w języku Python! : nauka programowania / Allen B. Downey. Gliwice, cop Spis treści

TEORIA GRAFÓW I SIECI

Programowanie komputerów

Logika Temporalna i Automaty Czasowe

Sterowniki Programowalne (SP)

1. Synteza automatów Moore a i Mealy realizujących zadane przekształcenie 2. Transformacja automatu Moore a w automat Mealy i odwrotnie

G. Wybrane elementy teorii grafów

1 Automaty niedeterministyczne

Przykładowe pytania z części PSPICE. 1. Podaj zasady tworzenia pliku symulacyjnego. 2. Czy składnia PSPICE jest czuła na wielkość liter? 3.

Język UML w modelowaniu systemów informatycznych

Przykłady grafów. Graf prosty, to graf bez pętli i bez krawędzi wielokrotnych.

Teoria grafów - Teoria rewersali - Teoria śladów

Teoria grafów podstawy. Materiały pomocnicze do wykładu. wykładowca: dr Magdalena Kacprzak

Co to jest jest oprogramowanie? 8. Co to jest inżynieria oprogramowania? 9. Jaka jest różnica pomiędzy inżynierią oprogramowania a informatyką?

SIECI PETRIEGO WYŻSZEGO RZEDU Kolorowane sieci Petriego. Kolorowane sieci Petriego 1

Algorytmy Równoległe i Rozproszone Część X - Algorytmy samostabilizujące.

Definicje. Algorytm to:

Zagadnienia (1/3) Data-flow diagramy przepływów danych ERD diagramy związków encji Diagramy obiektowe w UML (ang. Unified Modeling Language)

Rysunek 1: Przykłady graficznej prezentacji klas.

Diagramy ERD. Model struktury danych jest najczęściej tworzony z wykorzystaniem diagramów pojęciowych (konceptualnych). Najpopularniejszym

Podstawy programowania. Wykład 7 Tablice wielowymiarowe, SOA, AOS, itp. Krzysztof Banaś Podstawy programowania 1

1 Działania na zbiorach

Podstawy programowania 2. Temat: Drzewa binarne. Przygotował: mgr inż. Tomasz Michno

W naukach technicznych większość rozpatrywanych wielkości możemy zapisać w jednej z trzech postaci: skalara, wektora oraz tensora.

Zbiory, relacje i funkcje

PROJEKT WSPÓŁFINANSOWANY ZE ŚRODKÓW UNII EUROPEJSKIEJ W RAMACH EUROPEJSKIEGO FUNDUSZU SPOŁECZNEGO OPIS PRZEDMIOTU

Podstawy programowania III WYKŁAD 4

UML w Visual Studio. Michał Ciećwierz

PROLOG WSTĘP DO INFORMATYKI. Akademia Górniczo-Hutnicza. Wydział Elektrotechniki, Automatyki, Informatyki i Inżynierii Biomedycznej.

Digraf. 13 maja 2017

koniec punkt zatrzymania przepływów sterowania na diagramie czynności

Spis treúci. 1. Wprowadzenie... 13

Problem zakleszczenia

Przetwarzanie rozproszone

Literatura. Bazy danych s.1-1

Przetwarzanie rozproszone

Podstawowe własności grafów. Wykład 3. Własności grafów

Modelowanie obiektowe - Ćw. 6.

LOGIKA I TEORIA ZBIORÓW

Systemy wbudowane. Uproszczone metody kosyntezy. Wykład 11: Metody kosyntezy systemów wbudowanych

Nazwa Wydziału Nazwa jednostki prowadzącej moduł Nazwa modułu kształcenia Kod modułu Język kształcenia Efekty kształcenia dla modułu kształcenia

KATEDRA INFORMATYKI TECHNICZNEJ. Ćwiczenia laboratoryjne z Logiki Układów Cyfrowych. ćwiczenie 204

Wykład IV PASCAL - łańcuch znaków, - procedury i funkcje, - sortowanie bąbelkowe

Wstęp do Techniki Cyfrowej... Teoria automatów

Modelowanie i Programowanie Obiektowe

Programowanie. programowania. Klasa 3 Lekcja 9 PASCAL & C++

Spis treści. Przedmowa Wykaz oznaczeń Wstęp Układy kombinacyjne... 18

Jeśli X jest przestrzenią o nieskończonej liczbie elementów:

W_4 Adaptacja sterownika PLC do obiektu sterowania. Synteza algorytmu procesu i sterowania metodą GRAFCET i SFC

Matematyka dyskretna. Andrzej Łachwa, UJ, /14

Matematyka dyskretna. Andrzej Łachwa, UJ, /15

LABORATORIUM PRZEMYSŁOWYCH SYSTEMÓW STEROWANIA

Teoretyczne podstawy informatyki

5. Algebra działania, grupy, grupy permutacji, pierścienie, ciała, pierścień wielomianów.

Diagramu Związków Encji - CELE. Diagram Związków Encji - CHARAKTERYSTYKA. Diagram Związków Encji - Podstawowe bloki składowe i reguły konstrukcji

TECHNOLOGIE OBIEKTOWE. Wykład 3

Teoria automatów i języków formalnych. Określenie relacji

Adaptacja sterownika PLC do obiektu sterowania. Synteza algorytmu procesu i sterowania metodą GRAFCET i SFC

Tutorial prowadzi przez kolejne etapy tworzenia projektu począwszy od zdefiniowania przypadków użycia, a skończywszy na konfiguracji i uruchomieniu.

PRZEWODNIK PO PRZEDMIOCIE

Język programowania DELPHI / Andrzej Marciniak. Poznań, Spis treści

BOGDAN ZARĘBSKI ZASTOSOWANIE ZASADY ABSTRAKCJI DO KONSTRUKCJI LICZB CAŁKOWITYCH

POLITECHNIKA OPOLSKA

Algorytmy grafowe. Wykład 1 Podstawy teorii grafów Reprezentacje grafów. Tomasz Tyksiński CDV

FUNKCJE. (odwzorowania) Funkcje 1

Analiza i projektowanie oprogramowania. Analiza i projektowanie oprogramowania 1/32

ECDL Podstawy programowania Sylabus - wersja 1.0

Projektowanie układów na schemacie

Zagadnienia egzaminacyjne INFORMATYKA. Stacjonarne. I-go stopnia. (INT) Inżynieria internetowa STOPIEŃ STUDIÓW TYP STUDIÓW SPECJALNOŚĆ

Język opisu sprzętu VHDL

Język programowania zbiór reguł określających, które ciągi symboli tworzą program komputerowy oraz jakie obliczenia opisuje ten program.

Turing i jego maszyny

5. Model komunikujących się procesów, komunikaty

Podstawowe procedury przy tworzeniu programu do sterownika:

POLITECHNIKA OPOLSKA

Matematyczne Podstawy Informatyki

Transkrypt:

Modelowanie procesów współbieżnych dr inż. Maciej Piotrowicz Katedra Mikroelektroniki i Technik Informatycznych PŁ piotrowi@dmcs.p.lodz.pl http://fiona.dmcs.pl/~piotrowi -> Modelowanie...

Literatura M. Ben-Ari, Podstawy programowania współbieżnego, WNT 1989 lub M. Ben-Ari, Podstawy programowania współbieżnego i rozproszonego, WNT, 1996 K. Jensen, Coloured Petri Nets, Basic Concepts, Analysis Methods and Practical Use, Vol. 1-3, Springer 1996 Dodatkowo: A. Jaszkiewicz, Inżynieria oprogramowania, Wydawnictwo Helion, Warszawa, 1997. S. Szejko (red.), Metody wytwarzania oprogramowania, Mikom, 2002 J. Górski (red.), Inżynieria oprogramowania w projekcie informatycznym, Mikom, 1999

Program przedmiotu Podstawy modelowania formalnego Sieci miejsc i przejść Kolorowane sieci Petriego Metody analizy formalnej współbieżnych systemów informatycznych Idea i abstrakcja programowania współbieżnego Problem wzajemnego wykluczania Pojęcia semafora i monitora Laboratorium: Wykorzystanie kolorowanych sieci Petriego do modelowania współbieżnych systemów informatycznych

Projekt informatyczny Specyfikacja Analiza wymagań - powinna definiować model logiczny i być sporządzona w oderwaniu od platformy, na której dokonuje się implementacji Projekt - powinien zawierać odniesienia do implementacji (definicje klas, relacje pomiędzy klasami) Model formalny ma pokazać zasadę działania obejmującą fragment funkcjonalności. wczesna identyfikacja stanów systemu identyfikacja akcji wykonywanych w systemie symulacja działania Implementacja Kod źródłowy, plik wynikowy, działająca aplikacja

Model formalny Model pośredni w procesie tworzenia oprogramowania lub systemu hardware/software. Konstruowany przy użyciu języka formalnego przejście w obszar wirtualny (wyższy poziom abstrakcji). Opis funkcjonalny projektowanego systemu Niezależny od planowanej implementacji Pozwala na przeprowadzenie symulacji Matematyczny aparat analizy formalizmu umożliwia skuteczną weryfikację modelu

Popularne metody formalne Automat skończony FSM Grafy przepływu DFG, CFG i CDFG Automat z reprezentacją danych FSMD Maszyna stanowo-programowa PSM Model CFSM stosowany w pakiecie POLIS Automat hierarchiczny z równoległością HCFSM Formuły logiki temporalnej (raczej wymagania) Sieci miejsc i przejść, sieci kolorowane

Analiza formalna Sprawdzenie zgodności zachowania modelu ze specyfikacją wejściową, Badanie abstrakcyjnych własności systemu, niezmiennych dla różnych sygnałów wejściowych, Wykonywana po każdym etapie projektowania pozwala wcześnie wychwycić błędy, które mogą nie wystąpić w symulacji

Ogólna postać modelu Formalnie, proces sekwencyjny Pi może być opisany (modelowany) przez uporządkowaną czwórkę: P i = <S i, S i0, e i, F > gdzie S i jest zbiorem stanów s i procesu P i S i 0 jest zbiorem stanów początkowych, S i 0 zawiera się w S i e i jest zbiorem zdarzeń procesu P i F jest funkcja tranzycji, taką że: F S i e S i jeżeli zajście zdarzenia E w stanie S jest możliwe i prowadzi do zmiany stanu na S i

Stany i zdarzenia Stan S i (t) procesu w chwili t czasu lokalnego jest w ogólności zbiorem wartości wszystkich zmiennych lokalnych skojarzonych z procesem w chwili t oraz ciągów wiadomości wysłanych (wpisanych) do incydentnych kanałów wyjściowych i ciągów wiadomości odebranych z incydentnych kanałów wejściowych do chwili t. Wartości stanów początkowych są zadawane wstępnie, bądź są wynikiem zajścia wyróżnionego zdarzenia inicjującego e i0. Zdarzenie e i odpowiada unikalnemu wykonaniu operacji atomowej, zmieniającemu stan Si procesu i ewentualnie stan incydentnych z procesem kanałów. Jeżeli operacja odpowiadająca zdarzeniu została wykonana, to powiemy, że zdarzenie zaszło. Funkcja tranzycji dopuszcza możliwość zajścia zdarzenia e tylko w tych stanach S, dla których <S, E, S 2 > należy do F. Powiemy że zdarzenie jest dopuszczalne (ang. allowed) w stanie S.

Sieci miejsc i przejść (Petriego) Sieci Petriego (1962) są grafami Graf jest uporządkowaną parą G:=(V,E), gdzie V to zbiór węzłów, a E to zbiór par rożnych węzłów - krawędzi Jeśli E jest zbiorem par nieuporządkowanych węzłow, graf jest niezorientowany Jeśli E jest zbiorem par uporządkowanych węzłow, graf jest zorientowany (digraf) Jeżeli dwa węzły może łączyć więcej niż jedna krawędź, graf nazywamy multigrafem.

Grafy Graf niezorientowany Graf zorientowany (digraf) multigraf

Sieć Petriego jako graf dwudzielny W grafie dwudzielnym zbiór węzłów V może być podzielony na dwa rozłączne podzbiory V1 i V2 takie, że krawędź zawsze łączy węzły z rożnych podzbiorów. W sieciach Petriego węzły pierwszego podzbioru są nazywane miejscami, drugiego - przejściami Symbolem miejsca jest okrąg bądź elipsa Symbolem przejścia jest belka (prostokąt) Krawędzie nazywane są łukami

Sieć Petriego - definicja formalna Siecią Petriego nazywamy piątkę, PM = (P, T, A, W, s 0 ), gdzie: P - zbiór (skończony) miejsc; T - zbiór (skończony) przejść; A P T T P- zbiór łuków; W: A N - funkcja wag przypisująca etykiety (liczby naturalne) do każdego łuku; s 0 : P *N- funkcja opisująca oznakowanie początkowe (initial marking), gdzie *N oznacza zbiór liczb całkowitych nieujemnych, tj. N*=N {0}. Zakłada się ponadto, że dla każdej sieci specyfikowanej jak wyżej spełniony jest warunek: P T = & P T.

Znaczniki w sieci Petriego Aby opisać dynamikę sieci Petriego (i moc je wykonywać ) wprowadza się pojęcie znacznika tokenu. Znaczniki są reprezentowane przez kółka/kropki i umieszczane w symbolu miejsca Oznaczają obecność (lub brak) np. zasobu Miejsca mogą przyjąć dowolną liczbę znaczników bądź też ich ograniczoną liczbę

Znaczniki a przejścia Znaczniki są stosowane do oznaczenia aktywacji przejścia Jeśli łuk łączy miejsce z przejściem, oznacza to że znacznik w miejscu jest potrzebny do aktywacji przejścia Jeśli jest wiele łuków (multigraf!), ich liczba określa liczbę wymaganych znaczników Przejście jest aktywne wtedy i tylko wtedy gdy dla wszystkich łuków dochodzących do przejścia spełniony jest warunek liczby znaczników

Zbiory wejściowe i wyjściowe Aby uprościć opis definiuje się zbiory wejściowe i wyjściowe Zbiór wejściowy (preset) przejścia t, oznaczany t, to zbiór wszystkich miejsc dla których istnieją łuki od tych miejsc do przejścia t Zbiór wyjściowy (postset) przejścia t, oznaczany t, to zbiór wszystkich miejsc dla których istnieją łuki od przejścia t do tych miejsc Podobne definicje dotyczą zbiorów wejściowych i wyjściowych miejsca p, oznaczanych odpowiednio p i p

Oznakowanie sieci Oznakowanie sieci Petriego to rozkład znaczników w sieci Jest to mapowanie P {0, 1, 2,...} opisujące liczbę znaczników w każdym miejscu Oznakowanie sieci na początku analizy zwane jest oznakowaniem początkowym

Wykonanie przejścia Jeśli przejście jest aktywne, może zostać wykonane (ang. fired odpalone) Jeśli przejście jest wykonywane, ze wszystkich miejsc wejściowych usuwana jest odpowiednia liczba znaczników (uwzględniając łuki wielokrotne) Następnie właściwa liczba znaczników jest wstawiana w miejsca wyjściowe - również uwzględniając łuki wielokrotne Liczba znaczników usuniętych i dodanych może być różna!

Wykonanie przejścia przykład

Wykonanie przejścia przykład

Wykonanie przejścia przykład

Przydatność sieci Petriego Modelowanie przepływu sterowania dla złożonych procesów Możliwość prowadzenia symulacji (wykonywania modelu) ilustracja działania testowanie zachowania określenie prędkości itp. Analiza formalna systemu wyszukiwanie problemów niewidocznych podczas symulacji (blokad, zagłodzeń itp.)

Znaczenie miejsc i przejść Miejsca wejściowe Przejście Miejsca wyjściowe Prewarunki Zdarzenie Postwarunki Żądane zasoby Operacja, zadanie Zwalniane zasoby Dane wejściowe Wykonanie obliczeń Wyniki obliczeń Warunki Klauzula logiczna Konkluzje Sygnały wejściowe Przetwarzanie Sygnały wyjściowe Rejestry, bufory Akcja procesora Rejestry, bufory

Przykładowe modele Na serwerze Uniwersytetu w Hamburgu http://www.informatik.uni-hamburg.de/tgi/petrinets/introductions/aalst

Przykładowe modele Sender Receiver Ready Mess_Buff Ready Send mess Receive Wait for ack Ack_Buff Received Send ack

Przykładowe modele

Własności formalne sieci Własności są podstawą dla analizy formalnej Często badane: osiągalność (reachability) żywotność (liveness) ograniczoność (boundedness)

Osiągalność znakowań Zbiór znakowań osiągalnych R(M 0 ) to zbiór wszystkich możliwych znakowań osiągalnych ze znakowania początkowego M 0 Jeśli znakowanie M jest w R(M 0 ), oznacza to że istnieje sekwencja odpaleń przekształcająca M w M 0 Przydatne w analizie systemów, np.: Czy stan pożądany może w ogóle zostać osiągnięty? Czy system może dotrzeć do stanu niepożądanego?

Graf osiągalności Graf skierowany do badania osiągalności Węzły reprezentują znakowania Krawędzie - przejścia między znakowaniami Konstruowany poprzez znalezienie wszystkich przejść ze znakowania początkowego, następnie przejść ze znakowań odkrytych w poprzednim kroku itd. Z reguły prowadzi do bardzo dużych grafów.

Żywotność Znakowanie M x jest żywotne jeśli dla każdego przejścia t i każdego osiągalnego znakowania M y istnieje sekwencja odpaleń M y która zawiera t Innymi słowy, każde przejście w sieci może być wykonane nieskończoną liczbę razy Sieć jest strukturalnie żywotna jeśli wszystkie znakowania początkowe są żywotne Właściwość stosowana w modelowaniu zakleszczeń

Ograniczoność sieci Znakowanie M x jest ograniczone jeśli istnieje dodatnia liczba całkowita taka, że dla każdego osiągalnego znakowania M y (elementu R(M x )) liczba znaczników w każdym miejscu jest ograniczona przez k. Inaczej - żadne miejsce nie może zawierać więcej niż k znaczników Sieć jest strukturalnie ograniczona jeśli wszystkie znakowania początkowe są ograniczone. Jeśli k=1, znakowanie nazywa się bezpiecznym Stosowana w modelu ograniczonych zasobów

Ograniczenia sieci miejsc i przejść Niemożność modelowania podobnych (choć nie identycznych) procesów za pomocą tej samej sieci Wszystkie znaczniki są identyczne Niemożność określenia dodatkowych własności - nie ma sposobu aby znacznik niósł dodatkowe informacje Zaawansowane sieci obejście powyższych ograniczeń: sieci kolorowane sieci hierarchiczne sieci obiektowe i in.

Kolorowane sieci Petriego Głównym założeniem jest wprowadzenie różnych typów znaczników, mogących przenosić dowolny rodzaj danych Pozwalają konstruować bardziej kompaktowe modele poprzez współdzielenie podobnych fragmentów Obsługują dodatkowe dane

Kolorowane sieci Petriego Każdy znacznik ma przypisane dane kolor Dana może być typem prymitywnym (wartość), łańcuchem znakowym, strukturą itd. Typ wartości to zbiór kolorów Każde miejsce w CPN ma swój zbiór kolorów (typ)

Pojęcie wielozbioru Wprowadzone w celu opisu faktu istnienia kilku egzemplarzy tego samego elementu. Klasyczna teoria zbiorów opis wyłącznie z punktu widzenia przynależności (lub nie) elementu do zbioru wstawienie elementu do zbioru w którym taki element występuje nie zmienia zawartości tego zbioru. Teoria wielozbiorów odpowiednie współczynniki określające ilość wystąpień danego elementu wielozbiorze

s S m ( s)`s Definicja wielozbioru Wielozbiór m nad niepustym zbiorem S funkcja m [S N] Dowolna nieujemna liczba całkowita m(s) N jest ilością wystąpień elementu s w tym wielozbiorze. Wielozbiór jest zazwyczaj reprezentowany w postaci pewnej sumy: s S m ( s)`s S MS oznacza zbiór wszystkich wielozbiorów nad zbiorem S m(s) (s S) nazywa się współczynnikiem elementu s ; Element s S należy do wielozbioru m(s) 0; fakt ten zapisujemy s m.

Operacje na wielozbiorach Dla dowolnych wielozbiorów m, m 1, m 2 S MS definiujemy: dodawanie wielozbiorów: mnożenie skalarne porównanie wielozbiorów moc wielozbioru różnicę wielozbiorów (dla m 2 m 1 ) Wielozbiór nazywa się skończonym, jeżeli m < s S s s m )` ( S s s s m s m m m ` )) ( ) ( ( 2 1 2 1 S s `s m s n m n )) ( ( ) ( ) ( ) ( ), ( ) ( ) ( 2 1 2 1 2 1 2 1 s m s m S s m m s m s m S s m m m(s) m S s S s s s m s m m m ))` ( ) ( ( 1 2 1 2

Własności operacji Dla dowolnych wielozbiorów m, m 1,m 2, m 3 S MS oraz nieujemnych liczb całkowitych n, n 1, n 2 spełnione są warunki: przemienność m 1 +m 2 = m 2 +m 1 łączność m 1 +(m 2 +m 3 ) = (m 1 +m 2 )+m 3 element zerowy, jedynka m+ = m, 1 m = m 0 m = n (m 1 +m 2 ) = (n m 1 ) + (n m 2 ) (n 1 +n 2 ) m = (n 1 m) + (n 2 m) n 1 (n 2 m) = (n 1 n 2 ) m m 1 +m 2 = m 1 + m 2 n m = n m

Wykorzystanie wspólnych zasobów p_processes p1 tp1 p2 2 R 3 q_processes q2 2 3 tp2 tq2 p3 S q3 tp3 tq3

Wykorzystanie wspólnych zasobów

Wspólna pętla dla procesów colset u = with p,q; colset RS = with r s; var x:u;

Sieć kolorowana - definicja formalna Kolorowaną siecią Petriego nazywamy krotkę CPN = (, P, T, A, N, C, G, E, I), gdzie: - skończony niepusty zbiór typów, zwany zbiorem kolorów; P - skończony zbiór miejsc; T - skończony zbiór przejść; A - skończony zbiór łuków, taki że: P T = P A = T A = ; N - funkcja wierzchołków, N : A P T T P ; C - funkcja kolorów, C : P ; G - funkcja dozorów, G : T EB, gdzie EB jest zbiorem wyrażeń o wartościach boolean, wykorzystujących kolory; E - funkcja wyrażeń łuków, E : A EC, gdzie EC jest zbiorem wyrażeń o wartościach w wielozbiorach kolorów; I - funkcja inicjalizacji, I : P ECP, gdzie ECP jest zbiorem wyrażeń opisujących oznakowanie początkowe

Wyrażenia łuków Umożliwiają wykorzystanie danych zawartych w znacznikach Ich wartością jest wielozbiór znaczników określający typ i liczbę znaczników przepływających przez łuk Mogą zawierać zmienne, operacje na zmiennych, operatory logiczne. Dla różnych znaczników mogą przybrać rożne wartości Mogą być więc traktowane jako funkcje: argumentami wyrażeń są znaczniki (ich typ i wartość) wyrażenia zwracają znaczniki (typ i wartość) oraz determinują ich przepływy

Warunki przejść (guards) Są wyrażeniami boolowskimi przypisanymi do przejść Umieszczane w nawiasach kwadratowych przy przejściach Stanowią dodatkowe warunki, które muszą być spełnione aby uaktywnić przejście

Przykłady sieci kolorowanych

Przykłady sieci kolorowanych

Potrzeba podzielności modeli Współczesne języki programowania wyższego poziomu umożliwiają konstrukcję programu z mniejszych komponentów modułów i funkcji/procedur Elementy rozważane mniej lub bardziej niezależnie Możliwość podziału pracy Przejrzystość programu

Sieci hierarchiczne Odpowiedź na potrzeby modularności systemu Formalne wiązanie ze sobą mniejszych sieci Możliwość analizy formalnej całości, jak i poszczególnych części Każda część jest kolorowaną siecią Petriego (strony) Siecią kolorowaną jest również złożenie komponentów (strona nadrzędna) Podstawowy problem sposób zdefiniowania połączeń

Typy hierarchizacji Podstawianie przejść Reprezentacja złożonej procedury przez pojedyncze przejście Łączenie miejsc Wyspecyfikowanie zbioru miejsc uważanych za identyczne

Podstawianie przejść Wyższy poziom prosty model zdarzenia Niższy poziom szczegółowa specyfikacja procedury Możliwa jest translacja strony nadrzędnej w sieć niehierarchiczną (zastąpienie podstawianych przejść treściami podstron)

Przypisanie portów Niezbędna wiedza na temat sposobu połączenia strony z wyższą w hierarchii Powiązanie wierzchołków gniazdowych (otoczenie podstawianego przejścia na stronie nadrzędnej) z wierzchołkami portowymi (wybrane miejsca na podstronie) Porty wejściowe Wyjściowe Dwukierunkowe Ogólne (typu general) Podstawienie nie jest przejściem nie dotyczą go niektóre wymagania (np. odnośnie istnienia znaczników we wszystkich miejscach wejściowych

Instancje stron Każde podstawienie przejścia na stronie nadrzędnej generuje instancję podstrony (podstawianej) Również strona nadrzędna może mieć wiele instancji Formalne określenie liczby instancji stron nadrzędnych i podstron przez wielozbiory Graf hierarchii sieci wierzchołki reprezentują strony sieci (po jednym dla każdej nazwa i numer strony wpisane w wierzchołku) łuki relacje zależności stron (graf skierowany); do łuków przypisane są nazwy odpowiadających im podstawień przejść.

Przykład podstawiania stron

Przykład podstawiania stron

Łączenie miejsc Wyróżnienie zbioru miejsc traktowanych jako identyczne Reprezentują pojęciowo pojedyncze miejsce muszą podlegać tym samym zdarzeniom Dodanie/ujęcie znacznika z jednego miejsc powoduje taką samą zmianę w pozostałych Miejsca z jednej instancji strony złączenie jest wyłącznie ułatwieniem dla rysującego graf

Telefony duża sieć hierarchiczna

Telefony duża sieć hierarchiczna

Telefony duża sieć hierarchiczna

Telefony duża sieć hierarchiczna

Telefony duża sieć hierarchiczna Graf hierarchii sieci (tylko jedna instancja każdej ze stron)