WOJSKOWA AKADEMIA TECHNICZNA
WYDZIAŁ CYBERNETYKI
Modelowanie Systemów Teleinformatycznych
Sprawozdanie z ćwiczenia laboratoryjnego nr 6
Temat ćwiczenia:
Modelowanie systemów równoległych z zastosowaniem
sieci Petriego
Data wykonania ćwiczenia 14.06.2012r.
Ćwiczenie wykonał:
Mateusz Suchocki, I1G1S4
Ćwiczenie prowadził:
mgr inż. Łukasz LASZKO
1. Treść zadania laboratoryjnego
Zad.1
W programie PIPE odtworzyć niżej pokazaną sieć Petriego (rysunek 1) symulującą działanie automatu
do kawy. Zbadać jej własności (ograniczoność, bezpieczeństwo, występowanie zakleszczeń) oraz
wygenerować i opisać graf osiągalności. Następnie zmodyfikować sieć, uszczegółowiając proces
przygotowania napoju tak, aby składał się on z kawy, wody, mleka i cukru (przyjąć założenie o
niewyczerpalności wspomnianych składników). Po tym znów zbadać własności utworzonej sieci (jak
zmieniły się one w stosunku do sieci pierwotnej ?).
Ograniczyć liczbę możliwych do przygotowywania napojów do 30. Zbadać własności sieci, wyciągnąć
wnioski.
Rysunek 1
Zad.2
Za pomocą sieci Petriego zamodelować proces nawiązywania połączenia
w protokole TCP (tzw. 3-way TCP handshake). Zbadać własności utworzonej sieci.
Zad.3
Poniższa sieć Petriego (rysunek 2) stanowi prezentację najprostszego przypadku problemu
producenta i konsumenta. Należy odtworzyć ją w programie PIPE oraz zbadać jej własności.
Następnie dokonać modyfikacji tej sieci, dodając jednego producenta (jaki ma to wpływ na bufor ?).
Ponownie zmodyfikować sieć, dodając jeszcze jednego producenta i drugiego konsumenta.
Wyeliminować problem nieograniczoności sieci. Pokazać jak może dojść do zakleszczenia w tej sieci.
Powrócić do pierwotnej postaci sieci (jeden producent, jeden konsument). Zmodyfikować sieć tak,
by działała ona zgodnie z następującym scenariuszem:
W stanie początkowym producent ma wyprodukowanych 5 elementów,
Konsument, który może skonsumować tylko dokładnie 2 elementy naraz, po konsumpcji
wysyła sygnał zwrotny do producenta, informując go
o zakończeniu konsumpcji,
Po otrzymaniu sygnału od konsumenta, producent wznawia produkcję.
Nie dopuścić do zakleszczenia w sieci.
Rysunek 2
2. Realizacja zadania
2.1. Automat do kawy
2.1.1. Sieć Petriego symulująca działanie automatu do kawy
2.1.1.1.
Badanie własności sieci
Rysunek powyżej przedstawia wyniki przeprowadzonych badań własności zamodelowanej
sieci. Widać jest na nim, iż sieć ograniczona, bezpieczna i nie posiada zakleszczeń.
2.1.1.2.
Graf osiągalności
Na powyższym diagramie osiągalności można zaobserwować, trzy stany ja również
przedstawione jest które wykonanie tranzycji prowadzi do danego stanu.
2.1.2. Sieć Petriego symulująca działanie automatu do kawy z uszczegółowieniem
procesu przygotowania napoju
2.1.2.1.
Badania własności sieci
2.1.2.2.
Graf osiągalności
Jak widać graf osiągalności nie zmienił się po dodaniu 4 miejsc, związane jest to z tym, iż
przejście do stanu S2 uzależnione jest jedynie od terazycji T3 jak również nie jest naniesione żadne
ograniczenie blokujące wykonanie tej tranzycji.
2.1.3. Sieć Petriego symulująca działanie automatu do kawy z ograniczoną liczbą
przygotowywanych napojów
2.1.3.1.
Badanie własności sieci
2.1.3.2.
Graf osiągalności
Po dodaniu ograniczenia wykonywanych napojów do 30, automatycznie graf osiągalności
zmienia się i przypomina ‘łańcuch’. Związane jest to z tym, iż zostało dodane nowe miejsce P7
(naniesiono na nim ograniczenie liczby przetrzymywanych znaczników do 30), które przyjmuje
jedynie znaczniki. Tak więc przyjmując znaczniki zmienia się znakowanie sieci, z czym wiąże się
graf osiągalności.
2.2. Nawiązywanie połączenia w protokole TCP (3-way TCP handshak)
2.2.1. Sieć Petriege symulująca działanie nawiązywanie połączenia w protokole TCP
2.2.1.1.
Badanie własności sieci
2.2.1.2.
Graf osiągalności
2.3. Problem producenta i konsumenta
2.3.1. Sieć Petriego symulująca problem producenta i konsumenta
2.3.1.1.
Badania własności sieci
2.3.1.2.
Graf osiągalności
2.3.2. Sieć Petriego symulująca problem producenta i konsumenta (2producentów)
2.3.2.1.
Badanie zajętości bufora
Po wykonaniu symulacji dla 300 kroków dla sieci z jednym producentem w buforze
znajdowało się zaledwie 12 znaczników. Natomiast dla wykonania symulacji również dla 300
kroków dla zamodelowanej sieci Petriego z dwoma konsumentami liczba znaczników w buforze
znacznie wzrosła (72 znaczniki w buforze). Może to prowadzić do zapchania bufora jeśli zostanie
ograniczona liczba znaczników jaką może przechowywać.
2.3.3. Sieć Petriego symulująca problem producenta i konsumenta (2 producentów i 2
konsumentów)
2.3.3.1.
Badania własności sieci
Na powyższym rysunki widać iż zamodelowana sięc jest ograniczona, nie jest bezpieczna jak
również posiada zakleszczenie. Przedstawiona jest również najktótsza ścieżka wykonywanych
tranzycji do doprowadzenia sytuacji, w której nastąpi zagłodzenie. Zagłodzenia nastąpi w
przypadku jak w miejscu P11 liczba dostarczonych znaczników będzie równa ograniczeniu jakie
zostało naniesione P11 (ograniczenie równe 10 znacznikó). W tym przypadku zagłodzeni zostaną
producencji jak również konsumencji po skonsumowaniu wszystkich produktów
wyprodukowanych do tego momentu.
2.3.4. Sieć Petriego symulująca problem producenta i konsumenta (sygnalizacja
producenta o skończonej konsumpcji)
2.3.4.1.
Badania własności sieci
Jak widać na rysunku przedstawionym po wyżej, w zamodelowanej sieci nie możliwe jest
wystąpienei zagłodzenia.
3. Wnioski
Zadanie zostało zrealizowane w programie PIPE, który umożliwia modelowanie sieci
Petriego. Narzędzie te udostępnia wiele funkcji związanych z modelowaniem jak i również
testowaniem stworzonych sieci. Głównym celem zadania laboratoryjnego było opracowanie
kilku sieci i zbadania jej własności, jak również wygenerowanie przy pomocy udostępnianych
narzędzi graf osiągalności. Po wykonaniu zadania można stwierdzić że sieci Petriego mają
szerokie zastosowanie co było widać na przykładach dla których były tworzone sieci.