Sprawozdanie – projekt i implementacja symulatora Sieci SMO
Wojskowa Akademia Techniczna, Podstawy symulacji, Zajęcia
laboratoryjne
1
Projekt i implementacja
symulatora sieci SMO
Sprawozdanie
Autor: Rafał Lemancewicz I8E1S1
Prowadzący zajęcia: mgr inż. Michał Kapałka
Ocena:
Część modelowa
Część implementacyjna
Oceniany element
Punkty
Oceniany element
Szczegółowość modelu
/15
Wprowadzanie danych
„Elastyczność” modelu
/5
Przebieg symulacji
Prezentacja aspektów
dynamicznych
/15
Wyniki symulacji
Zbierane charakterystyki
/5
Wykorzystanie bibliotek symulacyjnych
Sprawozdanie cz. 1
/10
Wykonywanie eksperymentów
Organizacja kodu
Sprawozdanie cz. 2
Suma punktów
/50
Suma punktów
Ocena
Ocena
Rafał Lemancewicz, I8E1S1
Sprawozdanie – projekt i implementacja symulatora Sieci SMO
Wojskowa Akademia Techniczna, Podstawy symulacji, Zajęcia
laboratoryjne
2
1. Część modelowa
1.1 Wybrany system SMO - założenia
Wybrane parametry systemu masowej obsługi:
•
Generator z rozkładem Weibulla, zgłoszenia wchodzą do systemu pojedynczo
•
Gniazdo O1 z rozkładem jednostajnym, 2 kanały
•
Gniazdo O2 z rozkładem normalnym, 1 kanał
•
Gniazdo O3 z rozkładem trójkątnym, 1 kanał
•
Kolejka 1 ograniczona, FIFO
•
Kolejka 2 nieograniczona, LIFO
•
Kolejka 3 nieograniczona, FIFO
Zmienne losowe czasu czekania na zgłoszenie i czasu obsługi są niezależne.
Rafał Lemancewicz, I8E1S1
Sprawozdanie – projekt i implementacja symulatora Sieci SMO
Wojskowa Akademia Techniczna, Podstawy symulacji, Zajęcia
laboratoryjne
3
1.2.
Model systemu - obiekty, aktywności, zdarzenia
a) obiekty:
•
Gniazdo1Obj
•
Gniazdo2Obj
•
Gniazdo3Obj
•
Kolejka1Obj
•
Kolejka2Obj
•
Kolejka3Obj
•
GeneratorObj
•
KlientObj
b) aktywności:
•
Generuj - generuje nowego klienta, używana przez GeneratorObj
•
Obsługuj - obsługuje klienta, używana przez Gniazdo1Obj, Gniazdo2Obj,
Gniazdo3Obj
c) zdarzenia:
•
Ustaw, używane przez wszystkie obiekty
•
Wstaw, używane przez Kolejka1Obj, Kolejka2Obj, Kolejka3Obj
•
UstawCzas, używane przez KlientObj, Kolejka1Obj, Kolejka2Obj,
Kolejka3Obj
•
UsunKlienta, używane przez KlientObj
Rafał Lemancewicz, I8E1S1
Sprawozdanie – projekt i implementacja symulatora Sieci SMO
Wojskowa Akademia Techniczna, Podstawy symulacji, Zajęcia
laboratoryjne
4
1.3.
Model - aspekty dynamiczne
•
Losowe odstępy czasu przy generowaniu nowych elementów systemu
•
Losowe odstępy czasu obsługi klientów w gniazdach
•
Czas obsługi klienta w gnieździe jest zmienną losową
•
Usuwanie klienta w przypadku, gdy kolejka jest przepełniona
Rafał Lemancewicz, I8E1S1
Sprawozdanie – projekt i implementacja symulatora Sieci SMO
Wojskowa Akademia Techniczna, Podstawy symulacji, Zajęcia
laboratoryjne
5
1.4.
Dane wejściowe
▪
parametry dla generatora z rozkładem Weibulla (intensywność
strumienia zgłoszeń)
▪
parametry dla gniazda 1 z rozkładem jednostajnym
▪
parametry dla gniazda 2 z rozkładem normalnym
▪
parametry dla gniazda 3 z rozkładem trójkątnym
▪
zadeklarowana liczba dostępnych miejsc w kolejce 1
▪
wartości prawdopodobieństw p1, p2, p3
▪
liczba klientów
1.5.
Dane wyjściowe
◦
czas przebywania klienta w systemie (średnia, odchylenie standardowe)
◦
czas przebywania klienta w O1 (średnia, odchylenie standardowe)
◦
czas przebywania klienta w O2 (średnia, odchylenie standardowe)
◦
czas przebywania klienta w O3 (średnia, odchylenie standardowe)
◦
czas przebywania klienta w kolejce 1 (średnia, odchylenie standardowe)
◦
czas przebywania klienta w kolejce 2 (średnia, odchylenie standardowe)
◦
czas przebywania klienta w kolejce 3 (średnia, odchylenie standardowe)
◦
prawdopodobieństwo obsłużenia klienta w O1
◦
prawdopodobieństwo obsłużenia klienta w O2
◦
prawdopodobieństwo obsłużenia klienta w O3
Rafał Lemancewicz, I8E1S1
Sprawozdanie – projekt i implementacja symulatora Sieci SMO
Wojskowa Akademia Techniczna, Podstawy symulacji, Zajęcia
laboratoryjne
6
1.6.
Wnioski
Celem projektu było zamodelowanie zachowania się systemu z wieloma
stanowiskami obsługi. Rozpatrywany był system z wieloma gniazdami i kolejkami, po
jednej do każdego stanowiska. Głównym zadaniem projektowym, było
zasymulowanie takiego systemu i zbadanie jego zachowania.
System działa w następujący sposób: generator dodaje klientów do systemu w
czasie określonym przez rozkład Weibulla, następnie trafiają one do ograniczonej
kolejki FIFO, skąd trafiają do gniazda obsługi. Następnie klienci trafiają z ustalonymi
przez użytkownika prawdopodobieństwami do jednego z dwóch gniazd obsługi. Po
wyjściu z drugiego lub trzeciego gniazda klient może pozostać w systemie lub go
opuścić.
Rafał Lemancewicz, I8E1S1
Sprawozdanie – projekt i implementacja symulatora Sieci SMO
Wojskowa Akademia Techniczna, Podstawy symulacji, Zajęcia
laboratoryjne
7
2. Część implementacyjna
2.1. Zaimplementowane obiekty
▪
RandomObj - dostarcza rozkłady statystyczne dla generowanych losowo liczb
▪
TriggerObj - obiekt wyzwalacza
▪
ALL FileUseType – wszystkie opcje dla wejście/wyjście ASCII oraz wartości
binarnych
▪
StreamObj - strumien wejscia/wyjścia
▪
QueueObj - kolejka FIFO
▪
StackObj - kolejka LIFO
▪
RankedObj - kolejka priorytetowa
▪
StatQueueObj – kolejka FIFO plus dane statystyczne
▪
StatStackObj – sumuje liczbę obiektów zebranych w kolejce LIFO
▪
StatRankedObj – sumuje liczbę obiektów zebranych w kolejce priorytetowej
▪
ITimedStatObj - czasowo ważona statystyka dla INTEGER
▪
RStatObj - monitor statystyczny dla REAL
▪
IStatObj - monitor statystyczny dla INTEGER
Rafał Lemancewicz, I8E1S1
Sprawozdanie – projekt i implementacja symulatora Sieci SMO
Wojskowa Akademia Techniczna, Podstawy symulacji, Zajęcia
laboratoryjne
8
2.2. Wykorzystanie bibliotek symulacyjnych
RandMod – dostarcza możliwość generowania liczb losowych, w skład
zaimportowanych obiektów wchodzą:
RandomObj
MathMod – dostarcza możliwość wykorzystania podstawowych funkcji
matematycznych
SQRT – zwraca pierwiastek kwadratowy z liczby
SimMod – dostarcza interfejs dla przeprowadzenia symulacji, w skład
zaimportowanych funkcji i obiektów wchodzą:
SimTime - zwraca bieżący czas symulacji
StartSimulation - rozpoczyna symulacje
StopSimulation – zatrzymuje symulacje
InerruptMethod – przesyła wiadomość przerwania do specjalnej metody
opisanej przez „activity”
Interrupt - powoduje ze metoda zadanego typu odbiera wiadomość przerwania
po powrocie z oczekiwania
TriggerObj
IOMod – dostarcza funkcjonalność interfejsu wejścia/wyjścia, w skład zaimportowanych
obiektów wchodzą:
ReadKey –zatrzymuje wyniki rozwiązania na ekranie
ALL FileUseType
StreamObj
GrpMod – dostarcza funkcjonalność do reprezentowania i przechodzenia poprzez grupy
elementów, w skład zaimportowanych obiektów wchodzą:
QueueObj
StackObj
RankedObj
StatQueueObj
StatStackObj
Rafał Lemancewicz, I8E1S1
Sprawozdanie – projekt i implementacja symulatora Sieci SMO
Wojskowa Akademia Techniczna, Podstawy symulacji, Zajęcia
laboratoryjne
9
StatRankedObj
StatMod - dostarcza statystykę dla obiektów, w skład zaimportowanych obiektów i
zmiennych wchodzą:
SREAL - statystyki dla obiektu REAL
TSINTEGER - statystyki czasowo ważone dla INTEGER
ITimedStatObj
RStatObj
IStatObj
Rafał Lemancewicz, I8E1S1
Sprawozdanie – projekt i implementacja symulatora Sieci SMO
Wojskowa Akademia Techniczna, Podstawy symulacji, Zajęcia
laboratoryjne
10
2.3.
Wprowadzanie danych wejściowych
Dane podawane w programie:
◦
parametry rozkładów dla gniazd i generatora
◦
długość kolejek
◦
liczba „okienek” obsługi w gniazdach
Rafał Lemancewicz, I8E1S1
Sprawozdanie – projekt i implementacja symulatora Sieci SMO
Wojskowa Akademia Techniczna, Podstawy symulacji, Zajęcia
laboratoryjne
11
2.4.
Przebieg symulacji
Podczas procesu symulacji następuje wyświetlanie poniższych informacji:
◦
czas wystąpienia zdarzeń
◦
rodzaj zdarzeń
Przykładowe komunikaty wyświetlane podczas symulacji:
Generator: Wygenerowano klienta nr.: 4
Gniazdo1 klient nr: 4 priorytet 14
Gniazado1 dodano klienta nr: 4 SimTime 0.069467
Generator: Wygenerowano klienta nr.: 5
Gniazdo1 klient nr: 5 priorytet 17
Gniazdo1 dodano klienta nr: 5 SimTime 0.069467
Gniazdo1 pobrano do obslugi klienta nr 3 czas: 0.069467
Gniazdo1 pobrano do obslugi klienta nr 5 czas: 0.069467
Rafał Lemancewicz, I8E1S1
Sprawozdanie – projekt i implementacja symulatora Sieci SMO
Wojskowa Akademia Techniczna, Podstawy symulacji, Zajęcia
laboratoryjne
12
2.5.
Wyniki symulacji
Wynikami symulacji są następujące charakterystyki:
◦
Średnie czasy przebywania klienta
◦
Liczba klientów
◦
Liczba zajetych kanałów
◦
Liczba klientów w kolejce
◦
Prawdopodobieństwa
Rafał Lemancewicz, I8E1S1
Sprawozdanie – projekt i implementacja symulatora Sieci SMO
Wojskowa Akademia Techniczna, Podstawy symulacji, Zajęcia
laboratoryjne
13
2.6.
WIelokrotne przeprowadzenie eksperymentów
Eksperyment można przeprowadzić wielokrotnie dzięki ręcznemu wprowadzaniu
danych przez użytkownika. Dane (wyniki) są zapisywane do pliku. Wynik
przeprowadzenia eksperymentu widoczny jest w czasie działania programu.
Rafał Lemancewicz, I8E1S1
Sprawozdanie – projekt i implementacja symulatora Sieci SMO
Wojskowa Akademia Techniczna, Podstawy symulacji, Zajęcia
laboratoryjne
14
2.7.
Wnioski
Możliwość wielokrotnego przeprowadzenia eksperymentu dla różnych danych
pokazuje, że program nie zawsze będzie działać. Wszystko zależy od tego jakie dane
będziemy wpisywać między innymi dla poszczególnych rozkładów. Może zaistnieć
sytuacja, że w wyniku źle dobranych danych nie nastąpi pożądany przepływ
klientów. Stąd wniosek, że dane nie mogą być dowolne. Warto także podkreślić, że
wpływ na działanie SMO ma również liczba oczekujących klientów. Im większa liczna
klientów i krótsza kolejka tym dłuższa jest symulacja.
W programie istnieje możliwość włączenia lub wyłączenia komunikatów w trakcie
działania symulacji. Włączenie komunikatów pozwala nam obserwować jak
następuje przypływ klientów w poszczególnych SMO, czy jest on zajęty, czy klient
jest obsługiwany itp.
Rafał Lemancewicz, I8E1S1