TPN (czasowa sieć Petriego) – uzupełnienei instrukcji do laboratorium
Transkrypt
TPN (czasowa sieć Petriego) – uzupełnienei instrukcji do laboratorium
1 TPN (czasowa sieć Petriego) – uzupełnienei instrukcji do laboratorium OPROGRAMOWANIE: egapl.exe - zapewnia odpowiednie kodowanie znaków w interfejsie programu (nie jest konieczne, ale wówczas np. nie będzie właściwie wyświetlany symbol nieskończoności), wpr_tna.exe – interfejs służący do wprowadzenia opisu sieci TPN, tpn.exe – program do analizy TPN. Oprogramowanie najlepiej uruchamiać poprzez konsolę użytkownika (patrz przykład). Nie działa w systemach 64-bitowych (u mnie, Windows 7 64-bit, nie udało się „w trybie zgodności”, ale może to specyfika konkretnej instalacji). UWAGI: Oprogramowanie nie było przeznaczone do analizy dowolnych sieci Petriego, tylko do sieci Petriego modelujących drzewa niezdatności. Takie sieci nie zawierały dowolnych struktur (np. jak na rys. 1.), a w związku z tym nie nadaje się do analizy dowolnych czasowych sieci Petriego (np. takich, w których przybywa znaczników). Nie pamiętam również ograniczenia co do ilości klas generowanych w takiej sieci (o ile dobrze pamiętam, to ich liczba wynika z rozmiaru zmiennej typu „longint” w Pascalu – w takim języku był tworzony program ) i jak się zachowa program, gdy zostanie ona przekroczona (muszę to sprawdzić). Rys. 1. Struktura generująca znaczniki Wynikiem działania programu jest graf osiągalności zbudowany dla klas takiej sieci Petriego. WAŻNE: Proszę przed przystąpieniem do ćwiczenia zrozumieć różnicę pomiędzy stanem, a klasą – jest to opisane w instrukcji. W razie problemów z językiem angielskim – proszę o kontakt poprzez e-mail. PRZYKŁAD. 1. Przykład TPN. Załóżmy, że chcemy analizować sieć z rysunku 2. p1 t1 <1,1> p2 t0 <0,0> t2 <0,10> p0 t3 <0,∞> p3 Rys. 2. Przykład TPN 2 Proszę zwrócić uwagę, że: przejście t0 <0,0> jest „natychmiastowe” (gdyby wszystkie przejścia miały taki czas, to uzyskalibyśmy sieć Petriego jak we wcześniejszych ćwiczeniach), przejście t1 musi zostać odpalone nie wcześniej i nie później niż po jednaj jednostce czasu od przygotowania do odpalenia, przejście t2 może zostać odpalone „natychmiast”, ale nie później niż po upływie 10 jednostek czasu od przygotowania do odpalenia, przejście t3 może zostać odpalone „natychmiast”, ale nie ma ograniczenia na najpóźniejszy moment odpalenia (może np. nie zostać odpalone w ogóle). 2. Uruchamiamy oprogramowanie a. uruchamiamy konsolę (polecenie START>Uruchom>polecenie a następnie program egal.exe i wpr_tpn.exe cmd), b. wprowadzamy opis sieci - zgodnie z informacją na dole okna, uważając na: - jeśli chcemy skończyć, to zamiast wpisywać numer (miejsca, przejścia, itp. wpisujemy „-1” – zgodnie zresztą z komentarzem), - jeśli się pomylimy, to wpisujemy drugi raz ten sam łuk z wagą „0”, - jeśli chcemy wpisać symbol nieskończoności, to wpisujemy „32000” (UWAGA: program pozwala wpisywać wartości czasu od 0 do 31999, nie było to istotne, gdyż w sieciach Petriego modelujących drzewa błędów maksymalnie spotykałem wartości rzędu setek), - na końcu należy podać ilość przejść i miejsc w sieci (potrzebne do tworzenia macierzy) po podaniu ponownie wyświetli się okno – można skorygować, jeśli się pomyliliśmy lub wpisać „-1” jeśli chcemy zakończyć). Przykłady okien podczas wprowadzania: wprowadzanie łuku od p2 do t2 o wadze 1 zakończenie wprowadzania wprowadzenie przedziału czasu dla przejścia t3 <0,>; ze względu na niewłaściwe kodowanie znaków (Windows 1250) niewłaściwie wyświetla się symbol „”, przy czym przejść <0, > nie trzeba 3 podawać (takie wartości są automatycznie przypisywane do przejść – stąd komentarz „różne od …”) podanie ilości miejsc i przejść W wyniku działania programu powstają macierze opisujące poszczególne łuki oraz sieć (pliki F.TPN, H.TPN, itd.) – można je skopiować (i przechowywać), żeby w razie czego można było bez wprowadzania uruchomić analizę (kolejny program korzysta z tych plików). c. Uruchamiamy analizę - program tpn.exe 3. Wyniki są zapisywane w pliku klasy.tpn C0 (M 1 0 0 0) t0 t1 t3 C3 (M 0 0 0 1) C1 (M 0 1 0 0) t2 C2 (M 0 0 1 0) Proszę spróbować opracować sieć dla zmiany pór roku, ale z rokiem przestępnym co 4 lata. Za jednostkę czasu przyjmujemy jeden dzień .