Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Wprowadzenie do sieci Petriego Paweł Witas. Co to są sieci Petriego ? Sieci warunków i zdarzeń Każdy warunek jest reprezentowany przez okrąg. Każde zdarzenie.

Podobne prezentacje


Prezentacja na temat: "Wprowadzenie do sieci Petriego Paweł Witas. Co to są sieci Petriego ? Sieci warunków i zdarzeń Każdy warunek jest reprezentowany przez okrąg. Każde zdarzenie."— Zapis prezentacji:

1 Wprowadzenie do sieci Petriego Paweł Witas

2 Co to są sieci Petriego ? Sieci warunków i zdarzeń Każdy warunek jest reprezentowany przez okrąg. Każde zdarzenie jest reprezentowane przez kwadrat. Spełnienie jakiegoś warunku oznacza się umieszczając kropkę (znacznik) w odpowiadającym mu okręgu. Zbiór warunków spełnionych w pewnej konfiguracji systemu nazywamy przypadkiem. e Spełnione są warunki wejściowe warunkiwejściowewarunkiwyjściowe

3 Co to są sieci Petriego ? Sieci warunków i zdarzeń Każdy warunek jest reprezentowany przez okrąg. Każde zdarzenie jest reprezentowane przez kwadrat. Spełnienie jakiegoś warunku oznacza się umieszczając kropkę (znacznik) w odpowiadającym mu okręgu. Zbiór warunków spełnionych w pewnej konfiguracji systemu nazywamy przypadkiem. e Spełnione są warunki wejściowe warunkiwejściowewarunkiwyjściowe i wystąpiło zdarzenie e

4 Co to są sieci Petriego ? Sieci warunków i zdarzeń Każdy warunek jest reprezentowany przez okrąg. Każde zdarzenie jest reprezentowane przez kwadrat. Spełnienie jakiegoś warunku oznacza się umieszczając kropkę (znacznik) w odpowiadającym mu okręgu. Zbiór warunków spełnionych w pewnej konfiguracji systemu nazywamy przypadkiem. e Spełnione są warunki wyjściowe warunkiwejściowewarunkiwyjściowe

5 Przykładowa sieć warunków i zdarzeń Przykładowa sieć warunków i zdarzeń Wiosna Początek lata Lato Początekjesieni Jesień Początek zimy Zima lub wiosna Niejesień Początekwiosny Zima

6 Przykładowa sieć warunków i zdarzeń Przykładowa sieć warunków i zdarzeń Wiosna Początek lata Lato Początekjesieni Jesień Początek zimy Zima lub wiosna Niejesień Początekwiosny Zima

7 Przykładowa sieć warunków i zdarzeń Przykładowa sieć warunków i zdarzeń Wiosna Początek lata Lato Początekjesieni Jesień Początek zimy Zima lub wiosna Niejesień Początekwiosny Zima

8 Przykładowa sieć warunków i zdarzeń Przykładowa sieć warunków i zdarzeń Wiosna Początek lata Lato Początekjesieni Jesień Początek zimy Zima lub wiosna Niejesień Początekwiosny Zima

9 Przykładowa sieć warunków i zdarzeń Przykładowa sieć warunków i zdarzeń Wiosna Początek lata Lato Początekjesieni Jesień Początek zimy Zima lub wiosna Niejesień Początekwiosny Zima

10 Przykładowa sieć warunków i zdarzeń Przykładowa sieć warunków i zdarzeń Wiosna Początek lata Lato Początekjesieni Jesień Początek zimy Zima lub wiosna Niejesień Początekwiosny Zima

11 Przykładowa sieć warunków i zdarzeń Przykładowa sieć warunków i zdarzeń Wiosna Początek lata Lato Początekjesieni Jesień Początek zimy Zima lub wiosna Niejesień Początekwiosny Zima

12 Przykładowa sieć warunków i zdarzeń Przykładowa sieć warunków i zdarzeń Wiosna Początek lata Lato Początekjesieni Jesień Początek zimy Zima lub wiosna Niejesień Początekwiosny Zima

13 Przykładowa sieć warunków i zdarzeń Przykładowa sieć warunków i zdarzeń Wiosna Początek lata Lato Początekjesieni Jesień Początek zimy Zima lub wiosna Niejesień Początekwiosny Zima

14 Sieci miejsc i przejść (tranzycji) Każde miejsce jest reprezentowane przez okrąg i posiada określoną pojemność znaczników (ozn. przez K) Każde przejście jest reprezentowane przez kwadrat i jest aktywną składową systemu mogącą produkować, przesyłać i zmieniać obiekty (reprezentowane przez znaczniki). Łuki wskazują, które składowe systemu są ze sobą bezpo- średnio połączone i w których kierunkach obiekty mogą przepływać przez sieć. Każdy łuk sieci posiada wagę (liczbę naturalną różną od 0) Sieci składające się z miejsc i przejść modelują właściwo- ści systemu związane z liczbą, rozkładem i przepływem obiektów, których poszczególnych egzemplarzy się nie rozróżnia

15 Sieci miejsc i przejść Przejście się odpala, usuwając z każdego miejsca wejściowego ilość znaczników równą wadze odp. łuku i dodając do każdego miejsca wyjściowego ilość znaczników równą wadze odp. łuku. 4 2 miejscawejściowemiejscawyjściowe 2 1

16 Sieci miejsc i przejść Przejście się odpala, usuwając z każdego miejsca wejściowego ilość znaczników równą wadze odp. łuku i dodając do każdego miejsca wyjściowego ilość znaczników równą wadze odp. łuku. 4 2 miejscawejściowemiejscawyjściowe 2 1

17 Sieci miejsc i przejść Przejście się odpala, usuwając z każdego miejsca wejściowego ilość znaczników równą wadze odp. łuku i dodając do każdego miejsca wyjściowego ilość znaczników równą wadze odp. łuku. 4 2 miejscawejściowemiejscawyjściowe 2 1

18 Sieci miejsc i przejść Sytuacje, w których przejście nie jest gotowe do odpalenia K = 2 K = 3 K = 2 2 2

19 K = 3 K = 4 K = Sieci miejsc i przejść Sytuacje, w których przejście nie jest gotowe do odpalenia

20 Przykład sieci miejsc i przejść: System złożony z producenta i dwóch konsumentów - bufor może zawierać co najwyżej pięć znaczników - producent generuje w każdym kroku trzy znaczniki - co najwyżej jeden konsument ma w danej chwili dostęp do bufora do bufora - podczas dostępu do bufora każdy konsument usuwa dwa znaczniki dwa znaczniki - kroki produkcji są zliczane

21 Przykład sieci miejsc i przejść: System złożony z producenta i dwóch konsumentów Producent rozpoczyna działanie w stanie S1 Bufor Konsumenci rozpoczynają działanie w stanie S6 Licznik t1t1t1t1 t2t2t2t2 s1s1s1s1 s2s2s2s2 K=1 K=1 s6 s6 s6 s6 s5s5s5s5 s3s3s3s3 s4s4s4s4 K= K= K=5 t4t4t4t4 t5t5t5t5 t3t3t3t3 s7s7s7s7 K=2 K=2 K=1 32

22 Przykład sieci miejsc i przejść: System złożony z producenta i dwóch konsumentów Producent wytwarza trzy znaczniki Bufor Jeden z konsumentów przechodzi na pocz. kolejki Licznik t1t1t1t1 t2t2t2t2 s1s1s1s1 s2s2s2s2 K=1 K=1 s6 s6 s6 s6 s5s5s5s5 s3s3s3s3 s4s4s4s4 K= K= K=5 t4t4t4t4 t5t5t5t5 t3t3t3t3 s7s7s7s7 K=2 K=2 K=1 32

23 Przykład sieci miejsc i przejść: System złożony z producenta i dwóch konsumentów Producent przetwarza dane Bufor Konsument w S7 może pobrać dwa znaczniki Licznik t1t1t1t1 t2t2t2t2 s1s1s1s1 s2s2s2s2 K=1 K=1 s6 s6 s6 s6 s5s5s5s5 s3s3s3s3 s4s4s4s4 K= K= K=5 t4t4t4t4 t5t5t5t5 t3t3t3t3 s7s7s7s7 K=2 K=2 K=1 32

24 Przykład sieci miejsc i przejść: System złożony z producenta i dwóch konsumentów Producent przetwarza dane Bufor Konsument pobiera dwa znaczniki z bufora Licznik t1t1t1t1 t2t2t2t2 s1s1s1s1 s2s2s2s2 K=1 K=1 s6 s6 s6 s6 s5s5s5s5 s3s3s3s3 s4s4s4s4 K= K= K=5 t4t4t4t4 t5t5t5t5 t3t3t3t3 s7s7s7s7 K=2 K=2 K=1 32

25 Przykład sieci miejsc i przejść: System złożony z producenta i dwóch konsumentów Producent przetwarza dane Bufor Konsument przetwarza dane znajdując się w S5 Licznik t1t1t1t1 t2t2t2t2 s1s1s1s1 s2s2s2s2 K=1 K=1 s6 s6 s6 s6 s5s5s5s5 s3s3s3s3 s4s4s4s4 K= K= K=5 t4t4t4t4 t5t5t5t5 t3t3t3t3 s7s7s7s7 K=2 K=2 K=1 32

26 Przykład sieci miejsc i przejść: System złożony z producenta i dwóch konsumentów Producent przetwarza dane Bufor Drugi konsument przecho- dzi na początek kolejki Licznik t1t1t1t1 t2t2t2t2 s1s1s1s1 s2s2s2s2 K=1 K=1 s6 s6 s6 s6 s5s5s5s5 s3s3s3s3 s4s4s4s4 K= K= K=5 t4t4t4t4 t5t5t5t5 t3t3t3t3 s7s7s7s7 K=2 K=2 K=1 32

27 Przykład sieci miejsc i przejść: System złożony z producenta i dwóch konsumentów Producent przetwarza dane Bufor Drugi konsument czeka na producenta Licznik t1t1t1t1 t2t2t2t2 s1s1s1s1 s2s2s2s2 K=1 K=1 s6 s6 s6 s6 s5s5s5s5 s3s3s3s3 s4s4s4s4 K= K= K=5 t4t4t4t4 t5t5t5t5 t3t3t3t3 s7s7s7s7 K=2 K=2 K=1 32

28 Przykład sieci miejsc i przejść: System złożony z producenta i dwóch konsumentów Producent kończy przetwarzanie danych Bufor Licznik t1t1t1t1 t2t2t2t2 s1s1s1s1 s2s2s2s2 K=1 K=1 s6 s6 s6 s6 s5s5s5s5 s3s3s3s3 s4s4s4s4 K= K= K=5 t4t4t4t4 t5t5t5t5 t3t3t3t3 s7s7s7s7 K=2 K=2 K=1 32 Drugi konsument czeka na producenta

29 Przykład sieci miejsc i przejść: System złożony z producenta i dwóch konsumentów Producent może wytworzyć trzy znaczniki. Bufor Licznik t1t1t1t1 t2t2t2t2 s1s1s1s1 s2s2s2s2 K=1 K=1 s6 s6 s6 s6 s5s5s5s5 s3s3s3s3 s4s4s4s4 K= K= K=5 t4t4t4t4 t5t5t5t5 t3t3t3t3 s7s7s7s7 K=2 K=2 K=1 32 Drugi konsument czeka na producenta

30 Przykład sieci miejsc i przejść: System złożony z producenta i dwóch konsumentów Bufor Licznik t1t1t1t1 t2t2t2t2 s1s1s1s1 s2s2s2s2 K=1 K=1 s6 s6 s6 s6 s5s5s5s5 s3s3s3s3 s4s4s4s4 K= K= K=5 t4t4t4t4 t5t5t5t5 t3t3t3t3 s7s7s7s7 K=2 K=2 K=1 32 Drugi konsument czeka na producenta Producent wytwarza trzy znaczniki

31 Przykład sieci miejsc i przejść: System złożony z producenta i dwóch konsumentów Producent przetwarza dane Bufor Licznik t1t1t1t1 t2t2t2t2 s1s1s1s1 s2s2s2s2 K=1 K=1 s6 s6 s6 s6 s5s5s5s5 s3s3s3s3 s4s4s4s4 K= K= K=5 t4t4t4t4 t5t5t5t5 t3t3t3t3 s7s7s7s7 K=2 K=2 K=1 32 Drugi konsument może pobrać dwa znaczniki

32 Przykład sieci miejsc i przejść: System złożony z producenta i dwóch konsumentów Bufor Drugi konsument pobiera dwa znaczniki z bufora Licznik t1t1t1t1 t2t2t2t2 s1s1s1s1 s2s2s2s2 K=1 K=1 s6 s6 s6 s6 s5s5s5s5 s3s3s3s3 s4s4s4s4 K= K= K=5 t4t4t4t4 t5t5t5t5 t3t3t3t3 s7s7s7s7 K=2 K=2 K=1 32 Producent przetwarza dane

33 Przykład sieci miejsc i przejść: System złożony z producenta i dwóch konsumentów Bufor Konsumenci przetwarzają dane Licznik t1t1t1t1 t2t2t2t2 s1s1s1s1 s2s2s2s2 K=1 K=1 s6 s6 s6 s6 s5s5s5s5 s3s3s3s3 s4s4s4s4 K= K= K=5 t4t4t4t4 t5t5t5t5 t3t3t3t3 s7s7s7s7 K=2 K=2 K=1 32 Producent przetwarza dane

34 Przykład sieci miejsc i przejść: System złożony z producenta i dwóch konsumentów Producent kończy przetwarzanie danych Bufor Licznik t1t1t1t1 t2t2t2t2 s1s1s1s1 s2s2s2s2 K=1 K=1 s6 s6 s6 s6 s5s5s5s5 s3s3s3s3 s4s4s4s4 K= K= K=5 t4t4t4t4 t5t5t5t5 t3t3t3t3 s7s7s7s7 K=2 K=2 K=1 32 Konsumenci przetwarzają dane

35 Przykład sieci miejsc i przejść: System złożony z producenta i dwóch konsumentów Bufor Licznik t1t1t1t1 t2t2t2t2 s1s1s1s1 s2s2s2s2 K=1 K=1 s6 s6 s6 s6 s5s5s5s5 s3s3s3s3 s4s4s4s4 K= K= K=5 t4t4t4t4 t5t5t5t5 t3t3t3t3 s7s7s7s7 K=2 K=2 K=1 32 Konsumenci przetwarzają dane Producent może wytworzyć trzy znaczniki.

36 Przykład sieci miejsc i przejść: System złożony z producenta i dwóch konsumentów Bufor Licznik t1t1t1t1 t2t2t2t2 s1s1s1s1 s2s2s2s2 K=1 K=1 s6 s6 s6 s6 s5s5s5s5 s3s3s3s3 s4s4s4s4 K= K= K=5 t4t4t4t4 t5t5t5t5 t3t3t3t3 s7s7s7s7 K=2 K=2 K=1 32 Jeden z konsumentów kończy przetwarzać dane Producent wytwarza trzy znaczniki

37 Przykład sieci miejsc i przejść: System złożony z producenta i dwóch konsumentów Bufor Licznik t1t1t1t1 t2t2t2t2 s1s1s1s1 s2s2s2s2 K=1 K=1 s6 s6 s6 s6 s5s5s5s5 s3s3s3s3 s4s4s4s4 K= K= K=5 t4t4t4t4 t5t5t5t5 t3t3t3t3 s7s7s7s7 K=2 K=2 K=1 32 Pierwszy konsument przeszedł na koniec kolejki Producent przetwarza dane

38 Przykład sieci miejsc i przejść: System złożony z producenta i dwóch konsumentów Bufor Licznik t1t1t1t1 t2t2t2t2 s1s1s1s1 s2s2s2s2 K=1 K=1 s6 s6 s6 s6 s5s5s5s5 s3s3s3s3 s4s4s4s4 K= K= K=5 t4t4t4t4 t5t5t5t5 t3t3t3t3 s7s7s7s7 K=2 K=2 K=1 32 Konsumenci przesuwają się w kolejce FIFO Producent kończy przetwarzanie danych

39 Przykład sieci miejsc i przejść: System złożony z producenta i dwóch konsumentów Producent czeka na opróżnienie bufora Bufor Licznik t1t1t1t1 t2t2t2t2 s1s1s1s1 s2s2s2s2 K=1 K=1 s6 s6 s6 s6 s5s5s5s5 s3s3s3s3 s4s4s4s4 K= K= K=5 t4t4t4t4 t5t5t5t5 t3t3t3t3 s7s7s7s7 K=2 K=2 K=1 32 Konsument w S7 może pobrać dwa znaczniki

40 Żywotność sieci miejsc i przejść Istnieją różne kryteria żywotności sieci. Znakowanie możemy nazwać żywym jeżeli: - dla każdego znakowania następniczego istnieje pewne przejście aktywne (przygotowane do odpalenia), przejście aktywne (przygotowane do odpalenia), - każde przejście może czasami stawać się aktywne, - przy każdym znakowaniu każde przejście może stać się aktywne aktywne Sieć można nazwać żywą, jeżeli przyjmując dowolne z powyższych pojęć żywotności, możemy otrzymać znakowanie żywe.

41 Ta sieć miejsc i przejść jest żywa Pojemność znaczników każdego miejsca wynosi 1

42 Ta sieć miejsc i przejść jest żywa Pojemność znaczników każdego miejsca wynosi 1

43 Ta sieć miejsc i przejść jest żywa Pojemność znaczników każdego miejsca wynosi 1

44 Ta sieć miejsc i przejść jest żywa Pojemność znaczników każdego miejsca wynosi 1

45 Ta sieć miejsc i przejść jest żywa Pojemność znaczników każdego miejsca wynosi 1

46 Ta sieć miejsc i przejść jest żywa Pojemność znaczników każdego miejsca wynosi 1

47 Ta sieć miejsc i przejść jest żywa Pojemność znaczników każdego miejsca wynosi 1

48 Ta sieć miejsc i przejść jest żywa Pojemność znaczników każdego miejsca wynosi 1

49 Ta sieć miejsc i przejść jest żywa Pojemność znaczników każdego miejsca wynosi 1

50 Ta sieć miejsc i przejść nie jest żywa Pojemność znaczników każdego miejsca wynosi 1

51 Czasowe sieci Petriego Czasową sieć Petriego możemy przedstawić jako zbiór (P, T, B, F, H, M 0, SIM), gdzie: P = {p 1,...,p m }- zbiór miejsc, T = {t 1,...,t n }- zbiór przejść (z ang. tranzycji), B: P T N- funkcja wagi łuku (przypisująca łukowi liczbę) z miejsca do przejścia F: T P N- funkcja wagi łuku z przejścia do miejsca H: T P 1- funkcja wagi łuku hamującego M 0 : P N- funkcja inicjująca znakowanie początkowe SIM: T Q + (Q + ) jest funkcją przyporządkowującą przejściu statyczny przedział czasu odpaleń. (Q + jest zbiorem liczb rzeczywistych nieujemnych). Zatem do każdego przejścia t i zostaną przypisane dwie liczby takie, że: oraz

52 Czasowe sieci Petriego Przejście t i jest przygotowane (ze względu na znakowanie) do odpalenia wtw gdy spełnione są warunki: Zatem, wtedy gdy w każdym miejscu, z którego prowadzi łuk do przejścia t i znajduje się co najmniej taka liczba znaczników jaka jest waga łuku, oraz gdy w każdym miejscu, do którego prowadzi łuk hamujący, nie ma znaczników.

53 Czasowe sieci Petriego Przejście t i jest przygotowane (ze względu na czas) do odpalenia wtw gdy spełniony jest warunek: Odpalenie przejścia t i polega na usunięciu znaczników z każdego miejsca, z którego prowadzi łuk do przejścia t i oraz na dodaniu znaczników do każdego miejsca, do którego prowadzi łuk z przejścia t i. Ilość usuniętych i dodanych znaczników jest równa wadze łuku. gdzie: - względny czas odpalania, t k - przejście przygotowane do odpalenia ze względu na znakowanie znakowanie Przejście jest przygotowane do odpalenia, jeżeli jest przygotowane do odpalenia ze względu na czas i znakowanie.

54 Specyfikacja i projektowanie oprogramowania czasu rzeczywistego wspomagane przez sieci Petriego. Paweł Witas

55 Dlaczego należy stosować metody formalne przy projektowaniu systemów czasu rzeczywistego ? Testowanie i śledzenie wykonania (odpluskwianie) systemu czasu rzeczywistego jest trudne i czasochłonne. Awarie systemów czasu rzeczywistego są bardziej niebezpieczne i kosztowne, niż awarie innych systemów. Zachodzi konieczność zapewnienia niezawodności systemu Niektóre sytuacje powodujące awarię: - niezachowanie kryteriów żywotności (zastój, zagłodzenie) - przekroczenie maksymalnego czasu reakcji - brak reakcji na zaistniałe zdarzenie - usługa dostarczana przez system jest różna od wymaganej

56 Analiza wymagań Specyfikacja Projektowanie Programowanie Integracja oprogramowania ze sprzętem Testowanie modułów Testowanie systemu Ocena i akceptacja Interakcja z klientem 2 - Brak interakcji z klientem Fazy realizacji systemu czasu rzeczywistego Wdrożenie systemu

57 Analiza wymagań Analiza wymagań jest procesem iteracyjnym, który kończy się sformułowaniem wymagań. Niezrozumienie wymagań może prowadzić do utworzenia systemu innego niż wymagany przez klienta. Analiza wymagań składa się z następujących etapów: 1. Analiza dziedzinowa polegająca na określeniu słownika (pojęć używanych w dziedzinie (branży) klienta) orazrelacji między elementami słownika 2. Zrozumienie i opis koncepcji operacyjnej łącznie z podaniem ograniczeń czasowych. 3. Sformułowanie wymagań w postaci dokumentu, który jest zrozumiały dla klienta.

58 Etap 1: Analiza dziedzinowa Pierwszy etap analizy wymagań polega na zrozumieniu otoczenia i celu konstruowanego systemu. Tworzony jest słownik ułatwiający zrozumienie terminologii używanej przez klienta. Słownik ten składa się zazwyczaj z szeregu definicji opisanych z zastosowaniem języka naturalnego. Podstawowe obiekty definiowane w słowniku są połączone przez relacje. Charakter tych relacji zależy od stosowanego podejścia. - w podejściu strukturalnym używa się diagramów przepływu danych (DFD). - w podejściu obiektowym używa się diagramów związków encji (ERD) opisujących relacje między danymi.

59 Etap 2:Zrozumienie i opis koncepcji operacyjnej łącznie z podaniem ograniczeń czasowych W pierwszym podetapie opisuje się zdarzenia i żądania generowane przez otoczenie. Jest to zazwyczaj realizowane w postaci Tablicy Zdarzeń.

60 Etap 2:Zrozumienie i opis koncepcji operacyjnej łącznie z podaniem ograniczeń czasowych Każda odpowiedź systemu ma podobną postać jak zdarzenie, stąd zbiór wszystkich odpowiedzi systemu może być zebrany również w postaci Tablicy Odpowiedzi.

61 Etap 2:Zrozumienie i opis koncepcji operacyjnej łącznie z podaniem ograniczeń czasowych W drugim podetapie statyczny opis z pierwszego podetapu uzupełnia się przez podanie scenariuszy opisujących interakcję między otoczeniem a systemem. System jest traktowany jako czarna skrzynka produkująca odpowiedzi na zdarzenia występujące w otoczeniu. Scenariusze są bliskie sekwencjom testującym używanym fazie testowania systemu, gdzie bada się odpowiedzi (reakcje) systemu na generowane zdarzenia. Scenariusze mogą być więc wykorzystane przy planowaniu tych sekwencji w fazie testowania systemu.

62 Specyfikacja Specyfikacja jest dokumentem, na podstawie którego wykonana będzie ocena i odbiór wykonanego systemu. Powinna ona bardzo precyzyjnie określać działanie tworzonego systemu wewnątrz globalnego systemu, oraz zawierać opis sekwencji testujących. Specyfikacja musi zostać zatwierdzona przez klienta przed rozpoczęciem projektowania. Faza specyfikacji jest niezwykle istotna, gdyż błędy w specyfikacji kosztują niewspółmiernie dużo, jeśli zostaną wykryte dopiero w następnych fazach realizacji. Faza specyfikacji składa się zazwyczaj z dwóch etapów, gdzie w pierwszym etapie definiuje się interfejs między systemem a otoczeniem, natomiast w drugim etapie opisywane jest zachowanie systemu.

63 Etap 1: Interfejs między systemem a otoczeniem Zdefiniowane w fazie analizy wymagań tablice zdarzeń i odpowiedzi są dobrymi danymi wejściowymi do opisu interfejsu między systemem a otoczeniem. Interfejs może być określony przez diagram składający się z bloków specyfikujących moduły otoczenia (czujniki, przyciski, wyświetlacze, urządzenia wykonawcze) oraz ze strzałek łączących bloki. Wyróżnia się strzałki pojedyncze reprezentujące przepływ sygnałów oraz podwójne specyfikujące przepływ danych. Diagram ten może być uszczegółowiony przez informacje zawarte w odpowiednich tablicach. Każdy wiersz tablicy opisuje wówczas jeden przepływ i jego atrybuty, np. źródło i adres docelowy, typ danych (ciągłe, binarne,dyskretne o zadanym zakresie) i własności dynamiczne (czas życia).

64 Etap 2: Zachowanie systemu W tym etapie specyfikacji definiuje się oczekiwane zachowanie systemu przy pomocy czasowych sieci Petriego. część buforowa akcja wykonana przez system (uproszczenie) obsługa sygnał z otoczenia bufor K = 2 K = n K = 1

65 Etap 2: Zachowanie systemu W tym etapie specyfikacji definiuje się oczekiwane zachowanie systemu przy pomocy czasowych sieci Petriego. część buforowa akcja wykonana przez system (uproszczenie) sygnał z otoczenia obsługa bufor K = 2 K = n K = 1

66 Etap 2: Zachowanie systemu W tym etapie specyfikacji definiuje się oczekiwane zachowanie systemu przy pomocy czasowych sieci Petriego. część buforowa akcja wykonana przez system (uproszczenie) sygnał z otoczenia obsługa bufor K = 2 K = n K = 1

67 Etap 2: Zachowanie systemu W tym etapie specyfikacji definiuje się oczekiwane zachowanie systemu przy pomocy czasowych sieci Petriego. część buforowa akcja wykonana przez system (uproszczenie) obsługa sygnał z otoczenia bufor K = 2 K = n K = 1

68 Etap 2: Zachowanie systemu W tym etapie specyfikacji definiuje się oczekiwane zachowanie systemu przy pomocy czasowych sieci Petriego. część buforowa akcja wykonana przez system (uproszczenie) obsługa sygnał z otoczenia bufor K = 2 K = n K = 1

69 Etap 2: Zachowanie systemu W tym etapie specyfikacji definiuje się oczekiwane zachowanie systemu przy pomocy czasowych sieci Petriego. część buforowa akcja wykonana przez system (uproszczenie) obsługa sygnał z otoczenia bufor K = 2 K = n K = 1

70 Etap 2: Zachowanie systemu W tym etapie specyfikacji definiuje się oczekiwane zachowanie systemu przy pomocy czasowych sieci Petriego. część buforowa akcja wykonana przez system (uproszczenie) obsługa sygnał z otoczenia bufor K = 2 K = n K = 1

71 Etap 2: Zachowanie systemu W tym etapie specyfikacji definiuje się oczekiwane zachowanie systemu przy pomocy czasowych sieci Petriego. część buforowa akcja wykonana przez system (uproszczenie) obsługa sygnał z otoczenia bufor K = 2 K = n K = 1

72 Reguły dotyczące konstrukcji sieci Petriego opisującej zachowanie systemu: 1.Przypisz strzałkę wejściową do każdego przejścia, którego wykonanie (firing) zależy od odpowiednich sygnałów/danych generowanych przez otoczenie. 2.Przypisz strzałkę wyjściową do każdego przejścia, którego wykonanie stanowi zakończenie akcji (obsługi) oraz odpowiednie sygnały/dane są wysyłane do otoczenia. 3. Sprawdź, czy porządek akcji definiowany przez sieć Petriego jest zgodny z odpowiadającymi mu sekwencjami określonymi w scenariuszach (w fazie analizy wymagań). 4. Sprawdź zachowanie dostępności systemu dla sygnałów wejściowych, gdy system jest zajęty przetwarzaniem danych. 5. Zweryfikuj kompletność sygnałów we/wy, które są użyte w sieci Petriego - porównaj z definicją interfejsu. 6.Sprawdź kompletność akcji (obsług) opisanych przez sieć Petriego w porównaniu do określonych w scenariuszach.

73 Projektowanie wstępne Celem projektowania wstępnego jest podział systemu na zadania i zdefiniowanie interfejsu między zadaniami. Projektowanie wstępne może być traktowane jako przejście od zewnętrznego opisu systemu (specyfikacja) do opisu uwzględniającego wewnętrzną współbieżność procesów. Wynik podziału systemu na zadania może być zapisany w postaci diagramu, gdzie poszczególne bloki odpowiadają zadaniom, pojedyncze strzałki opisują przepływ sygnałów synchronizacyjnych, a podwójne opisują przepływ danych.

74 Zestaw reguł podziału systemu na zadania: 1. Dla każdej pary zdarzeń (zdarzenie_i, zdarzenie_j) zbadaj, czy odpowiadające im akcje powinny być realizowane w porządku sekwencyjnym, czy współbieżnie. Jeżeli wymagane jest, aby po obsłudze zdarzenia_i obowiązkowo nastąpiła obsługa zdarzenia_j, (lub odwrotnie), to obsługi tych zdarzeń powinny zostać zawarte w jednym zadaniu. W przeciwnym wypadku (współbieżność) obsługi tych zdarzeń należy umieścić w odrębnych zadaniach. 2. Dla każdej pary (zdarzenie_i, akcja_j) zbadaj, czy obsługa zdarzenia_i implikuje sekwencyjne wykonanie akcji_j. Jeśli występuje taka sekwencyjna zależność, to obsługę zdarzenia_i oraz akcję_j należy umieścić w jednym zadaniu, w przeciwnym przypadku należy zdefiniować dwa zadania: jedno dla obsługi zdarzenia_i, drugie dla obsługi akcji_j.

75 Zestaw reguł podziału systemu na zadania: 3. Dla każdej pary (akcja_i, akcja_j) zbadaj, czy żądane jest ich sekwencyjne wykonanie. Jeśli tak, to należy je umieścić w jednym zadaniu, w przeciwnym przypadku należy utworzyć dwa zadania: oddzielne dla akcji_i oraz oddzielne dla akcji_j.

76 Projektowanie szczegółowe Celem projektowania szczegółowego jest określenie struktury wewnętrznej każdego z zadań. Sieć Petriego jest konstruowana dla każdego zadania określonego w etapie projektowania wstępnego. Postępowanie jest tu podobne jak w przypadku specyfikacji, ale przedmiot rozważań jest inny (dotyczy wewnętrznej struktury zadań). Projektowanie stanowi kolejny krok w kierunku rozwiązania problemu, zatem struktura zadań powinna uwzględniać nie tylko zagadnienia synchronizacji i komunikacji, lecz również strukturę odpowiednich algorytmów.

77 Reguły dotyczące konstruowania sieci Petriego: 1. Przypisz strzałkę wejściową do każdego przejścia, którego wykonanie zależy od odebrania sygnału synchronizacyjnego lub danych z innego zadania. 2. Przypisz strzałkę wyjściową do każdego przejścia, którego wykonanie kończy realizację akcji/obsługi i wysyła sygnał lub dane do innego zadania. 3. Sprawdź kompletność przepływów wejściowych i wyjściowych w sieci Petriego względem odpowiednich przepływów opisanych w fazie projektowania wstępnego

78 Reguły dotyczące konstruowania sieci Petriego: 4. Sprawdź dokładnie każdy przypadek, gdy zadanie oczekuje na sygnał lub dane z innego zadania i spróbuj stosować konstrukcję, która nie blokuje zadania oczekującego. Można uniknąć zawieszenia zadania przez przełączenie zadania na inny rodzaj działań. żądanieobsługi obsługadostarczona żądanieobsługi obsługazakończona Zadanie oczekujące na obsługę Zadanie wykonujące obsługę

79 Reguły dotyczące konstruowania sieci Petriego: 5. Przeprowadź adaptację struktury zadania, tak aby uwzględnić elementy i konstrukcje docelowego języka programowania, np.. struktura loop-select when c i => accept e i dla języka Ada. dla języka Ada.... e1e1e1e1 e2e2e2e2 enenenen c1c1c1c1 c2c2c2c2 cncncncn

80 Weryfikacja poprawności Systematyczne uwzględnianie poprawności w każdym kroku tworzenia oprogramowania, jest cechą charaktery- styczną zaproponowanego podejścia. Wyróżnia się dwa uzupełniające się sposoby postępowania: Tworzenie systemu na podstawie opisu z faz poprzednich Tworzenie systemu na podstawie opisu z faz poprzednich z zastosowaniem reguł zapewniających spójność tworzenia. z zastosowaniem reguł zapewniających spójność tworzenia. Sprawdzanie poprawności jako odpowiedniości opisów Sprawdzanie poprawności jako odpowiedniości opisów w bieżącej fazie w porównaniu do poprzedniej. w bieżącej fazie w porównaniu do poprzedniej.

81 Weryfikacja poprawności Zastosowanie sieci Petriego umożliwia komputerowe wspomaganie analizy poprawności w fazie specyfikacji i projektowania systemu (przy pomocy edytora sieci Petriego, wyposażonego w moduł do badania własności sieci). 1. W fazie specyfikacji możliwe jest sprawdzenie czy specyfikacja została prawidłowo skonstruowana. Analiza dotyczy wówczas zarówno własności bezpieczeństwa, tzn. sprawdzenia, czy niepożądane (złe) stany (blokada, zakleszczenie) nigdy nie wystąpią (dowód niewprost), jak również własności żywotności, polegającej na sprawdzeniu, czy wybrane (dobre) stany (odpowiedź na zdarzenie, dostęp do zasobu) zostaną osiągnięte.

82 Weryfikacja poprawności 2. W fazie projektowania analiza może być prowadzona dwoma sposobami: Sprawdzenie, czy analogiczne własności, jak w przypadku Sprawdzenie, czy analogiczne własności, jak w przypadku specyfikacji są spełnione. Analiza ta dotyczy innego opisu systemu tj. systemu reprezentowanego przez zbiór współbieżnych zadań. Jest to związane z zachowaniem spójności tworzonego systemu. Analiza nowych własności, wynikających z dokładniej- Analiza nowych własności, wynikających z dokładniej- szego opisu w danym etapie. Dotyczy to osiągalności ważniejszych ścieżek, stanów i współpracy między zadaniami.

83 Podsumowanie Zastosowanie sieci Petriego umożliwia systematyczne rozwijanie systemu z uwzględnieniem analizy poprawności. Formalny charakter tego narzędzia czyni proces tworzenia oprogramowania bardziej deterministycznym i uporządkowa- nym. W szczególności istotnie zwiększyły się możliwości systematycznej analizy poprawności i sterowania procesem wytwarzania oprogramowania. Sieci Petriego są aktualnie coraz powszechniej stosowane jako narzędzie do opisu i analizy własności ze względu na następujące cechy: przejrzysta i widoczna reprezentacja współbieżności; przejrzysta i widoczna reprezentacja współbieżności; możliwości hierarchizacji (sieci kolorowane); możliwości hierarchizacji (sieci kolorowane); komputerowe wspomaganie analizy własności; komputerowe wspomaganie analizy własności; wyrażanie czasu i zależności czasowych. wyrażanie czasu i zależności czasowych.

84 Bibliografia Gilles Motet, Tomasz Szmuc Specyfikacja i projektowanie oprogramowania czasu rzeczywistego wspomagane przez sieci Petriego Wolfgang Reisig Sieci Petriego


Pobierz ppt "Wprowadzenie do sieci Petriego Paweł Witas. Co to są sieci Petriego ? Sieci warunków i zdarzeń Każdy warunek jest reprezentowany przez okrąg. Każde zdarzenie."

Podobne prezentacje


Reklamy Google