ROZPRAWA DOKTORSKA POLITECHNIKA WARSZAWSKA. Wydział Elektroniki i Technik Informacyjnych. mgr inż. Andrzej Sikora
|
|
- Tadeusz Orłowski
- 7 lat temu
- Przeglądów:
Transkrypt
1 POLITECHNIKA WARSZAWSKA Wydział Elektroniki i Technik Informacyjnych ROZPRAWA DOKTORSKA mgr inż. Andrzej Sikora Modelowanie i symulacja rozproszona mobilnych sieci ad-hoc Promotor prof. nzw. dr hab. E. Niewiadomska-Szynkiewicz Warszawa, 2015
2 ii
3 Pracę tę dedykuję mojej żonie, Agnieszce.
4 iv
5 Spis tre±ci Streszczenie ix Abstract ix Wykaz skrótów i oznacze« x Spis rysunków xiii Spis tablic xvi 1. Wprowadzenie Problematyka badawcza Tezy i zadania badawcze Ukªad pracy Bezprzewodowe sieci ad-hoc Cechy charakterystyczne sieci ad-hoc Rodzaje i budowa sieci ad-hoc Modelowanie mobilnej sieci ad-hoc Model sieci ad-hoc Model otoczenia v
6 3.3. Model w zªa sieci ad-hoc Model referencyjny dla komunikacji bezprzewodowej Modelowanie propagacji radiowej Modele zyczne Modele probabilistyczne i statystyczne Modelowanie bª dów Struktura poª cze«i wyznaczanie zasi gu komunikacji radiowej Modelowanie ruchu w zªów sieci Indywidualne modele ruchu Grupowe modele ruchu Dedykowane modele ruchu Model ruchu PFM Zaªo»enia modelu Sztuczna funkcja potencjaªu Algorytm wyznaczania trajektorii ruchu w zªa sieci Realizacja algorytmu HPFM w symulatorze Symulacja komputerowa w projektowaniu sieci teleinformatycznych Symulacja systemów zdarze«dyskretnych Rozproszona symulacja dyskretna Symulacja synchroniczna Symulacja asynchroniczna Symulatory sieci teleinformatycznych Przegl d symulatorów sieci ns NetSim Riverbed Modeler vi
7 OMNeT TOSSIM QualNet Symulacja sieci mobilnej rodowisko ASim/Java do symulacji systemów zdarze«dyskretnych Architektura ASim/Java Symulatory w ±rodowisku ASim/Java Symulator MobASim Architektura symulatora MobASim Implementacja symulatora MobASim Symulacyjne badanie algorytmów formowania sieci ad-hoc Wprowadzenie Formowanie mobilnej sieci sensorowej Scenariusz testowy Formowanie sieci losowej Formowanie sieci regularnej Sie samoorganizuj ca si Algorytm hybrydowy formowania sieci Algorytm hybrydowy uwzgl dniaj cy obszary kluczowe Algorytm hybrydowy uwzgl dniaj cy awarie w zªów Podsumowanie Podsumowanie 131 Bibliograa 134 Skorowidz Dodatek A 151 vii
8 viii
9 Streszczenie Niniejsza rozprawa dotyczy zagadnień związanych z modelowaniem i symulacją mobilnych sieci ad-hoc (MANET). Sieci tego typy odgrywają coraz większą rolę w zastosowaniach cywilnych i wojskowych, w tym w monitorowaniu środowiska i wspieraniu akcji ratunkowych. Zakładając możliwość sterowania ruchem urządzeń tworzących sieć, autor sformułował matematyczny model mobilnej sieci ad-hoc i zaproponował algorytm do planowania trajektorii ruchu urządzeń tworzących sieć. Następnie przedstawił cztery algorytmy formowania spójnej mobilnej sieci ad-hoc wykorzystujące autorski model ruchu węzłów. W pracy rozważane są również zagadnienia związane z projektowaniem uniwersalnych środowisk do symulacji komputerowej. Przedstawione autorskie środowisko do symulacji systemów zdarzeń dyskretnych ASim/Java wspomaga tworzenie rozproszonych symulatorów różnych systemów fizycznych. Zbudowany z jego wykorzystaniem symulator sieci MANET (MobASim) może znaleźć szerokie zastosowanie zarówno w badaniu nowych technologii opracowanych dla sieci ad-hoc, jak i projektowaniu sieci dedykowanych konkretnym zastosowaniom. W pracy prezentowane są możliwości zastosowania wykonanych środowisk do symulacji, w tym aplikacja wspomagająca formowanie sieci ad-hoc monitorującej pomieszczenia. Abstract Modeling and simulation are traditional methods used to evaluate computer networks design. This dissertation addresses issues associated with modeling, simulation and application of wireless, mobile, and ad-hoc networks (MANETs). Mobile self-organizing ad hoc networks can significantly enhance the capability to coordinate the emergency actions as well as monitor contaminated areas, explore unmanned space, inspect and control working environments. Due to the inherent complexity of these systems, the development of applications relying on mobile network nodes and wireless communication protocols would be greatly simplified by the use of specific tools for supporting testing and performance evaluation. Modeling and simulation are widely used in the design and development of wireless ad hoc networks. In this dissertation a mobile ad hoc network (MANET) is modeled using discrete event systems methodology (DEVS). The focus is on wireless transmission and mobility models. A novel algorithm for efficient calculating of motion trajectories for wireless devices is introduced. Particular attention is paid to software environments for parallel and distributed simulation of mobile ad hoc networks. The functionality of Java-based simulation tools (ASim/Java and MobASim) developed by the autor are described. The practical case studies are provided to illustrate the operation and performance of the presented software. ix
10 Wykaz skrótów i oznacze«manet VANET DESS DTSS DEVS DEVN PL PF RSD GVT LVT t s T K t S W S D S L D i OT S O O i S P Env i Vol i p a i r (a) i Mobile Ad-hoc Networks Vehicle Ad-hoc Networks Differential Equation System Specification Discrete Time System Specification Discrete Event System Specification Discrete Event Specified Network Formalism proces logiczny proces fizyczny rozproszona symulacja dyskretna Global Virtual Time Local Virtual Time najmniejszy niezerowy krok zmiany czasu symulowanego w symulacji dyskretnej punkt na osi czasu symulowanego, w którym następuje koniec symulacji aktualny stan zegara odmierzającego postęp czasu symulowanego mobilna sieć ad-hoc, system złożony trójwymiarowy obszar roboczy sieci S zbiór węzłów sieci S zbiór skierowanych połączeń w sieci S urządzenie o indeksie i = 1,...,N należące do zbioru S D model otoczenia sieci S zbiór przeszkód w przestrzeni roboczej W przeszkoda o indeksie i = 1,...,M należąca do zbioru S O model propagacji radiowej sygnału w przestrzeni roboczej W wielościan obwoluta urządzenia D i lub przeszkody O i wnętrze wielościanu Env i wierzchołek wielościanu Env i o indeksie a = 1,...,P i odległość euklidesowa pomiędzy punktami c i i p a i o indeksie a = 1,...,P i r (a,b) i odległość euklidesowa pomiędzy punktami p a i i p b i i o indeksach a,b = 1,...,P i c i q i v i v i v mini v maxi Xi M Ui M u vi u ωi punkt referencyjny urządzenia D i kwaternion opisujący orientację urządzenia D i w przestrzeni roboczej W prędkość urządzenia D i wartość prędkości urządzenia D i minimalna wartość prędkości urządzenia D i maksymalna wartość prędkości urządzenia D i zmienne stanu urządzenia D i związane z jego ruchem zmienne sterujące ruchem urządzenia D i zadana prędkość liniowa urządzenia D i zadana prędkość kątowa urządzenia D i x
11 g i ξ i s l i L i ψi l r l si cov l si e i E i φ e i i Pt e i i Xi E Ui E u ri u l s i Θ i B i b i Xi B Ui B γ ri γ si X i U i Z i Zi O Zi P fi E f M i f B i f I i f g i fi t Pl i j Pt i Pr i j Pn i punkt docelowy ruchu urządzenia D i poziom zasobu energii, jakim dysponuje urządzenie D i zmienna binarna informująca o włączeniu lub wyłączeniu czujnika numer l = 1,...,L i liczba czujników zainstalowanych w urządzeniu D i moc elektryczna pobierana przez włączony czujnik numer l = 1,...,L i maksymalny zasięg pomiarów czujnika numer l = 1,...,L i obszar objęty pomiarami czujnika numer l = 1,...,L i stan energetyczny modułu radiowego urządzenia D i liczba dostępnych stanów energetycznych modułu radiowego urządzenia D i moc elektryczna pobierana przez moduł radiowy urządzenia D i w stanie e i poziom mocy sygnału nadawanego przez moduł radiowy urządzenia D i w stanie e i zmienne stanu określające stan energetyczny urządzenia D i zmienne sterujące modułem radiowym i czujnikami urządzenia D i zmienna sterująca modułem radiowym urządzenia D i zmienna binarna sterująca czujnikiem numer l = 1,...,L i funkcja nieliniowa opisująca proces rozładowywania się baterii urządzenia D i w okresie t rozmiar bufora danych urządzenia D i liczba pakietów danych zapisanych w buforze urządzenia D i zmienne stanu opisujące bufor danych urządzenia D i zmienne sterujące buforem danych urządzenia D i liczba pakietów danych do zapisu w buforze danych urządzenia D i liczba pakietów danych do usunięcia z bufora danych urządzenia D i wektor zmiennych stanu urządzenia D i wektor zmiennych sterujących urządzeniem D i wektor zakłóceń przeszkody zakłócające ruch urządzenia D i zakłócenia propagacji sygnału radiowego odbieranego przez urządzenie D i funkcja zmiany stanu energetycznego urządzenia D i funkcja zmiany położenia i orientacji urządzenia D i funkcja zmiany rozmiaru danych w buforze urządzenia D i wewnętrzna funkcja przejścia stanu urządzenia D i funkcja generująca wyjścia z urządzenia D i funkcja wyznaczająca zmianę czasu symulowanego t tłumienie propagacyjne pomiędzy nadającym węzłem D j, a odbierającym węzłem D i poziom mocy sygnału radiowego nadanego przez nadajnik urządzenia D i poziom mocy sygnału radiowego odebranego przez odbiornik urządzenia D i, a nadanego przez nadajnik urządzenia D j poziom mocy szumu urządzenia D i xi
12 Pi i j poziom mocy interferencji przy transmisji radiowej sygnału nadanego przez urządzenie D j i odebranego przez urządzenie D i Ps i czułość odbiornika radiowego urządzenia D i BER bit error rate PER packet error rate SNIR signal-to-noise and interference ratio SNR signal-to-noise ratio wl i j zmienna binarna równa 1, gdy urządzenie D i może odebrać i zdekodować sygnał radiowy od urządzenia D j wi i j zmienna binarna równa 1, gdy urządzenie D j generuje istotne interferencje przy odbiorze innych sygnałów radiowych przez urządzenie D i S Ci zbiór urządzeń, od których urządzenie D i może odebrać i zdekodować sygnał radiowy dim(d i ) liczba węzłów sieci będących w bezpośrednim zasięgu transmisji bezprzewodowej węzła D i r ti j zasięg transmisji radiowej pomiędzy nadającym urządzeniem D j i odbierającym urządzeniem D i r inti j zasięg interferencji generowanych przez urządzenie D j istotnych przy odbiorze innych sygnałów radiowych przez urządzenie D i Φ(z) dystrybuanta standaryzowanego rozkładu normalnego N(0,1) g i położenie celu ruchu urządzenia D i w modelu PFM V i sztuczna funkcja potencjału wprowadzona w modelu PFM ε i waga sztucznej funkcji potencjału V i dˆ i odległość referencyjna urządzenia D i od celu w modelu PFM dˆ i j odległość referencyjna pomiędzy urządzeniami D i i D j w modelu PFM Φ i (c i,p 1 i,...,pp i i ) funkcja kary za niespełnienie ograniczenia na kształt wielościanu Env i C dokładność pomiaru położenia punktu w przestrzeni W, d b droga hamowania urządzenia D i poruszającego się z prędkością maksymalną, d v maksymalna odległość z jakiej urządzenie D i może zidentyfikować przeszkodę, d o odległość od najbliższej przeszkody kolidującej z ruchem urządzenia D i. xii
13 Spis rysunków Wykorzystanie sieci MANET do tworzenia zastępczej infrastruktury komunikacyjnej [127] Przykładowa obwoluta obiektu mobilnego na płaszczyźnie Tryby pracy modułu komunikacji radiowej CC2420 (napięcie elektryczne regulowane w zakresie V) i wartości zmiennych stanu Model węzła sieci ad-hoc Model OSI dla bezprzewodowej sieci ad-hoc Przykładowe topologie sieci wyznaczone w symulatorze MobASim dla różnych wykładników n modelu propagacji radiowej F: a) n = 2, σ = 6 db, b) n = 2, n = 3.1 dla wyróżnionych obszarów, σ = 6 db, c) n = 3.1, σ = 6 db Przykładowe wartości zmiennych wl i j oraz wi i j dla nadającego węzła D 4 i trzech węzłów nasłuchujących D 1, D 2, D Wzorce ruchu w mobilnych sieciach ad-hoc Węzeł sieci D 1, który porusza się w kierunku celu g 1 i współpracuje z węzłami D 2 i D Funkcja potencjału ˆ d i = Wykres wartości siły F i, ˆ d i = Sytuacja początkowa: węzeł sieci, punkt docelowy oraz przeszkoda (chwila t k ) Etap 1. Wyznaczenie nowego położenia punktu c i Etap 2. Wyznaczone nowe położenia punktów p 1 i,p2 i,p3 i i p 4 i Etap 3. Docelowe położenie punktu c i,(k+1) w chwili t k Położenie węzła D i wyznaczone za pomocą algorytmu HPFM Zastosowane metody modyfikacji kierunku ruchu L oraz R. W przypadku strategii D zwrot przesunięcia będzie taki, jak w strategii L xiii
14 Trajektorie ruchu czterech obiektów mobilnych poruszających się w grupie. Strategia omijania przeszkody D, L oraz R. Wyniki z symulatora MobA- Sim [128] Wpływ położenia punktu referencyjnego c i na orientację obiektu D i podczas przemieszczania się Realizacja rozproszonej symulacji dyskretnej przykład: linia produkcyjna Diagram klas JPA biblioteki ASim/Java Architektura symulatora zbudowanego z wykorzystaniem środowiska ASim/Java Linia montażowa Sieć komputerów Model przełącznika w sieci Frame Relay Model wykorzystania kolejek PQ CBWFQ Architektura symulatora MobASim Przykładowy ekran graficznego interfejsu użytkownika symulatora MobA- Sim formularz danych dla sensora mobilnego Podział algorytmów formowania mobilnej sieci sensorowej Wpływ odległości pomiędzy węzłami na pokrycie przestrzeni W siecią sensorów Plan hali przylotów - obszaru działania formowanej sieci monitorującej Wyniki symulacji formowania losowej sieci (wariant W2): końcowa topologia i zmieniające się w czasie parametry sieci Wyniki symulacji formowania losowej sieci (wariant W3): końcowa topologia i zmieniające się w czasie parametry sieci Średnie wyniki formowania sieci losowej podstawie prób na obszarze bez przeszkód liczba węzłów izolowanych SD I. Sieć spójna % prób, niespójna = % prób Przykładowa ilustracja topologii sieci ad-hoc z izolowaną stacją bazową A) lub jednym węzłem izolowanym B) Sieci regularne: A) kratownica, B) graf trójkątny Schemat generowania wierzchołków grafu trójkątnego xiv
15 Wyniki symulacji algorytmu formowania regularnej sieci(wariant W1): końcowa topologia i zmieniające się w czasie parametry sieci ad-hoc Wyniki symulacji algorytmu formowania regularnej sieci (wariant W2): końcowa topologia i zmieniające się w czasie parametry sieci Wyniki symulacji algorytmu formowania regularnej sieci (wariant W3): końcowa topologia i zmieniające się w czasie parametry sieci Wyniki symulacji algorytmu samoorganizacji sieci (wariant W1): końcowa topologia i parametry sieci Wyniki symulacji algorytmu samoorganizacji sieci (wariant W2): końcowa topologia i zmieniające się w czasie parametry sieci Wyniki symulacji algorytmu samoorganizacji sieci (wariant W3): końcowa topologia i zmieniające się w czasie parametry sieci Wyniki symulacji hybrydowego algorytmu samoorganizacji (wariant W2): końcowa topologia i zmieniające się w czasie parametry sieci Wyniki symulacji hybrydowego algorytmu samoorganizacji (wariant W3): końcowa topologia i zmieniające się w czasie parametry sieci Wyniki symulacji hybrydowego algorytmu samoorganizacji sieci (wariant W2) z uwzględnieniem korytarza komunikacyjnego dla pieszych Wyniki symulacji hybrydowego algorytmu samoorganizacji sieci (wariant W3) z uwzględnieniem korytarza komunikacyjnego dla pieszych Wyniki symulacji algorytmu formowania regularnej sieci (wariant W3) z uwzględnieniem awarii napędu dwóch węzłów Wyniki symulacji hybrydowego algorytmu samoorganizacji sieci (wariant W3) z uwzględnieniem awarii napędu dwóch węzłów Procent pokrycia obszaru roboczego siecią pomiarową uzyskany w eksperymentach symulacyjnych Średnia liczba połączeń bezprzewodowych przypadająca na jeden węzeł uformowanej sieci wyniki eksperymentów symulacyjnych Sumaryczna droga pokonana przez węzły podczas formowania sieci różnymi algorytmami wyniki eksperymentów symulacyjnych Czas formowania sieci różnymi algorytmami wyniki eksperymentów symulacyjnych xv
16 Spis tabel Wartości współczynników n oraz P LAF modelu propagacji I dla dwóch wybranych częstotliwości sygnału radiowego: 2,4 GHz oraz 5,2 GHz. Wartości P LAF są dla tych częstotliwości niezależne od liczby stropów Indywidualne modele ruchu w sieciach ad-hoc według [140] Grupowe modele ruchu w sieciach ad-hoc według [140] Pozostałe modele ruchu w sieciach ad-hoc według [140] Pola danych struktury ASimDO Pola danych struktury ASimPO Czasy symulacji linii montażowej Liczba dodatkowych komunikatów, symulacja linii montażowej Różne okna czasowe, symulacja linii montażowej Czasy symulacji sieci komputerowej Wyniki wydajnościowe symulatora sieci Frame Relay Parametry węzła D i symulowanej sieci ad-hoc xvi
17 Rozdziaª 1 Wprowadzenie 1.1. Problematyka badawcza Bezprzewodowe mobilne sieci ad-hoc (MANET ang. Mobile Ad-hoc Networks) należą do grupy najnowszych technologii stosowanych w telekomunikacji. Są one tworzone przez zestaw samoorganizujących się mobilnych urządzeń komunikacji bezprzewodowej zdolnych do budowy sieci komunikacyjnej bez udziału stałej infrastruktury i urządzeń centralnych. Czas pracy sieci w danej konfiguracji jest zazwyczaj krótki i odpowiada zapotrzebowaniom pojawiającym się w danej chwili. Do zalet sieci ad-hoc można zaliczyć przede wszystkim mobilność, elastyczność i krótki czas tworzenia infrastruktury sieciowej oraz odporność sieci na awarie. Transmisja danych w tego typu sieciach może być realizowana wieloma ścieżkami z wykorzystaniem różnych węzłów pośredniczących. W przypadku awarii, usunięcia lub przemieszczania się jednego z węzłów odpowiedni algorytm rutingu dynamicznie wyznacza możliwą trasę transmisji danych. W ostatnich latach obserwuje się nowe trendy w rozwoju sieci ad-hoc [41]. Pomimo przewidywanego w literaturze [42] sukcesu komunikacji z wykorzystaniem węzłów pośredniczących, sieci ad-hoc nie weszły do powszechnego użytku. Znalazły jednak swoje bardzo ważne zastosowania w wyspecjalizowanych obszarach działania sieci teleinformatycznych. Są to przede wszystkim sieci czujników oraz sieci pojazdów stosowane w sytuacji, gdy nie ma dostępu do stałej infrastruktury lub nie może być ona wykorzystana. Drugim obserwowanym trendem w rozwoju sieci ad-hoc jest rozważanie mobilności urządzeń tworzących sieć jako istotnej zalety, która pozwala na opracowanie nowych rozwiązań i otwiera nowe obszary badań w tej tematyce [41]. Zwrócono też uwagę na użyteczność uzupełnienia sieci składającej się z urządzeń mobilnych o urządzenia stacjonarne [41]. Wynika to m.in. z ograniczeń klasycznych sieci ad-hoc i jest związane z często niewielkimi zasobami energetycznymi i mocami obliczeniowymi urzą- 17
18 dzeń tworzących sieć. Ważną rolę odgrywają też stacje bazowe gromadzące i przetwarzające dane pomiarowe oraz interfejsy do wydajnych środowisk obliczeniowych, np. klastrów, chmur. Projektowanie i zarządzanie już funkcjonującymi sieciami ad-hoc wymaga rozwiązania szeregu problemów. Należą do nich m.in. określenie odpowiedniej pojemności sieci, która zapewni wymaganą jakość i realizację zapotrzebowań, uwzględnienie zakłóceń i interferencji w transmisji pomiędzy węzłami, lokalizacja węzłów, zapewnienie bezpieczeństwa transmisji oraz odpowiednie zarządzanie zasobami energetycznymi. Istotne jest zachowanie spójności sieci, a więc unikanie izolowanych węzłów lub grup węzłów, które znajdują się poza zasięgiem transmisji radiowej pozostałych urządzeń tworzących sieć. Problemem, który utrudnia pracę projektanta jest mała liczba publicznie dostępnych i umożliwiających prowadzenie badań wdrożeń tych sieci. Z tego powodu preferuje się eksperymenty prowadzone z modelem sieci ad-hoc. Modelowanie matematyczne i symulacja komputerowa są uznawane za skuteczne techniki wspomagające badania i zarządzanie złożonymi systemami. Od wielu lat są powszechnie używane do analizy działania i wydajności sieci komputerowych. Zostały z powodzeniem wykorzystane do testowania nowych rozwiązań sprzętowych i protokołów zwiększających jakość oraz różnorodność oferowanych zastosowań sieci komputerowych. W ostatnich latach symulacja komputerowa stała się odrębną interdyscyplinarną dziedziną nauki i techniki, zajmującą się budową modeli, wykonaniem badań z modelem oraz analizą otrzymanych wyników [119, 124]. Celem symulacji jest uzyskanie odpowiedzi na pytanie jak system będzie się zachowywał w określonej sytuacji. W związku z tym, że budując model staramy się, aby był on możliwie dokładnym odpowiednikiem fizycznego systemu, wyniki badań symulacyjnych, czyli eksperymentów z modelem, można z pewnym przybliżeniem przenieść na rzeczywisty system. Za istotny trend w dziedzinie symulacji komputerowej należy uznać rozwój systemów oprogramowania do prowadzenia eksperymentów symulacyjnych. Rezultatem tych prac są specjalizowane narzędzia do symulacji dedykowane konkretnym rozwiązaniom (w tym sieciom ad-hoc) oraz uniwersalne aplikacje wspierające badania symulacyjne systemów różnej natury. Tego typu narzędzia zostały opracowane i wykonane przez autora i są prezentowane w niniejszej rozprawie. Symulacja systemów sieciowych złożonych z wielu oddziałujących na siebie podsieci przekracza zazwyczaj możliwości pojedynczych komputerów mimo, że wydajność maszyn ciągle wzrasta. Ponadto, w rzeczywistych sieciach często występują okresy czasu, w których poszczególne podsieci działają niezależnie, a synchronizacja ich pracy następuje w momencie wymiany danych. Naturalne jest więc zastosowanie technik zrównoleglenia obliczeń i wykorzystanie równoległych lub rozproszonych środowisk sprzętowych. 18
19 1.2. Tezy i zadania badawcze Tematyka rozprawy obejmuje metody i narzędzia do projektowania mobilnych, bezprzewodowych sieci ad-hoc. Celem jest zwrócenie uwagi na rolę symulacji komputerowej w procesie tworzenia tego typu sieci. Prowadzenie prac projektowych wykorzystujących symulację komputerową, wymaga opracowania modeli wiernie oddających pracę fizycznych urządzeń tworzących sieć oraz narządzi informatycznych wspierających eksperymenty badawcze. W pracy postawione zostały następujące tezy: 1. Modelowanie matematyczne i symulacja komputerowa sa ważnymi narzędziami do projektowania sieci ad-hoc oraz weryfikacji nowych technologii i zastosowań tego typu sieci. 2. Analiza i projektowanie złożonych systemów sieciowych wymaga wykorzystania wydajnych środowisk oprogramowania do symulacji komputerowej. 3. Zastosowanie sieci mobilnych do realizacji wielu praktycznych zadań wymaga opracowania realistycznych modeli ruchu spełniajacych wymagania narzucone przez aplikację. W celu potwierdzenia słuszności postawionych tez zrealizowano następujące zadania badawcze: 1. Opracowano ogólny model matematyczny mobilnej sieci ad-hoc. 2. Opracowano model ruchu węzłów sieci oraz algorytm wyznaczania trajektorii ruchu zakładający współpracę urządzeń i omijanie przeszkód. 3. Wykonano środowisko oprogramowania wspomagające tworzenie wydajnych, równoległych symulatorów systemów zdarzeń dyskretnych, w tym sieci teleinformatycznych. 4. Wykonano symulator mobilnej bezprzewodowej sieci ad-hoc. 5. Przeprowadzono eksperymenty symulacyjne, które potwierdziły użyteczność wykonanych systemów komputerowych. 6. Opracowano cztery algorytmy formowania spójnej sieci sensorowej, wykorzystujące autorski algorytm do planowania ruchu urządzeń. 7. Przeprowadzono eksperymenty symulacyjne, analizę wyników i ocenę zaproponowanych algorytmów formowania sieci sensorowej. 19
20 1.3. Ukªad pracy Rozprawa składa się z ośmiu rozdziałów. Pierwszy rozdział stanowi wprowadzenie w obszar zagadnień rozważanych w pracy. Rozdział drugi zawiera podstawowe informacje dotyczące bezprzewodowych sieci ad-hoc. Autor wprowadza w nim podstawowe definicje, prezentuje cechy charakterystyczne rozważanych sieci oraz rozwijane w ostatnich latach zastosowania tego typu sieci. Szczególna uwaga jest zwrócona na systemy zbudowane z urządzeń mobilnych. Rozdział trzeci jest poświęcony zagadnieniom modelowania mobilnych sieci ad-hoc. W rozdziale tym wprowadzono formalny, ogólny model tego typu sieci. Skupiono się na modelowaniu urządzeń, z których zbudowana jest sieć, modelowaniu ruchu węzłów oraz propagacji sygnału radiowego. Istotnym elementem tego rozdziału jest prezentacja autorskiego modelu ruchu urządzeń stosującego sztuczną funkcję potencjału i wykorzystującego ten model algorytmu do wyznaczania trajektorii ruchu. Metody symulacji sieci teleinformatycznych stanowią przedmiot rozważań prowadzonych w rozdziale czwartym. Szczególna uwaga zwrócona jest na techniki modelowania oraz symulacji systemów zdarzeń dyskretnych. Omawiane są metody rozproszonej symulacji synchronicznej i asynchronicznej. W rozdziale piątym prezentowany jest przegląd dostępnych na rynku symulatorów sieci teleinformatycznych. Przegląd ten jest ukierunkowany na narzędzia umożliwiające symulację mobilnych sieci ad-hoc. Przygotowane przez autora oprogramowanie wspierające tworzenie rozproszonych symulatorów systemów zdarzeń dyskretnych (ASim/Java) oraz praktyczne realizacje symulatorów wykonane w tym środowisku zostały opisane w rozdziale szóstym. Prezentowane są symulatory sieci przewodowych oraz symulator bezprzewodowej mobilnej sieci ad-hoc (MobASim). Uzupełnieniem rozdziału szóstego jest Dodatek A, w którym znalazł się przykład konfiguracji opisywanego symulatora sieci ad-hoc. Rozdział siódmy zawiera opis eksperymentów symulacyjnych przeprowadzonych w środowisku MobASim. Omawiane są cztery różne techniki formowania mobilnej sieci sensorowej wykorzystujące autorski model ruchu, opisany w rozdziale trzecim. Rozdział kończy dyskusja wyników zastosowania wspomnianych algorytmów formowania sieci do rozwiązania praktycznego zadania. Rozprawę zamyka rozdział ósmy, który zawiera podsumowanie wykonanych prac i wskazuje potencjalne kierunki dalszych badań. 20
21 Rozdziaª 2 Bezprzewodowe sieci ad-hoc 2.1. Cechy charakterystyczne sieci ad-hoc Bezprzewodowe sieci ad-hoc są tworzone przez samoorganizujące się urządzenia komunikacji bezprzewodowej zdolne do utworzenia sieci komunikacyjnej bez udziału stałej infrastruktury sieciowej i wyszczególnionych urządzeń centralnych. Urządzenia tworzące sieć (węzły sieci) będące w zasięgu radiowym komunikują się ze sobą bezpośrednio. Mogą one pełnić rolę terminala końcowego, jak i stacji pośredniczącej w transmisji danych. Urządzenia są rozlokowane w przestrzeni, często obejmują swoim działaniem duże obszary. W większości zastosowań topologia sieci ad-hoc zmienia się w sposób dynamiczny węzły mogą się przemieszczać. Czas pracy sieci w danej konfiguracji jest zazwyczaj krótki i odpowiada zapotrzebowaniom pojawiającym się w danej chwili. Charakterystyczne cechy sieci ad-hoc, decydujące o jej zakresie zastosowań to: mobilność, elastyczność, skalowalność, szybkość tworzenia infrastruktury sieciowej oraz odporność na awarie. Ze względu na wymienione własności sieci tego typu są zazwyczaj formowane w sytuacji zapotrzebowania na transmisję danych, która z różnych powodów nie może być zrealizowana z wykorzystaniem infrastruktury stałej, np. na obszarach o utrudnionym dostępie lub w sytuacjach kryzysowych. Komunikacja w sieciach ad-hoc odbywa się najczęściej z wykorzystaniem węzłów pośredniczących, są to więc sieci stosujące transmisję typu multihop. Przesyłanie danych jest zazwyczaj realizowane wieloma ścieżkami, z wykorzystaniem różnych węzłów pośrednich. W przypadku awarii, usunięcia lub przemieszczania się jednego z węzłów, odpowiedni algorytm rutingu dynamicznie wyznacza nową trasę transmisji danych. Problemem w tej sytuacji jest zachowanie spójności sieci, a więc unikanie izolowania węzłów lub grup węzłów, które znajdą się poza zasięgiem komunikacji pozostałych urządzeń tworzących sieć. 21
22 Projektowanie, budowanie i zarządzanie siecią ad-hoc wymaga rozwiązania szeregu problemów. Należą do nich ustalenie liczby urządzeń niezbędnych do jej utworzenia oraz określenie topologii i odpowiedniej pojemności sieci, która zagwarantuje wymaganą jakość transmisji oraz realizację zapotrzebowań. Ze względu na stosowane medium transmisyjne konieczna jest kompensacja zakłóceń i interferencji pomiędzy węzłami oraz zapewnienie bezpieczeństwa i jakości transmisji przy ograniczonych zasobach energetycznych urządzeń Rodzaje i budowa sieci ad-hoc W ostatnich latach obserwuje się duże zainteresowanie sieciami typu ad-hoc. Są to środowiska intensywnie rozwijane [29, 41, 42, 95]. Można wyróżnić kilka rodzajów takich sieci różniących się budową i zastosowaniem. Najważniejsze dwie grupy to sieci WSN i MANET. Bezprzewodowe sieci sensorowe (WSN - Wireless Sensor Network) to systemy tworzone przez bezprzewodowe czujniki (zazwyczaj statyczne) najczęściej wykorzystywane do monitorowania wybranych parametrów otoczenia. Sieci tego typu znajdują między innymi zastosowanie w nadzorowaniu upraw rolniczych, rozproszonych instalacjach przemysłowych [41, 64, 100, 110], w systemach diagnostyki i monitoringu zdrowia pacjenta [70, 162], w systemach zarządzających instalacjami w tzw. inteligentnych budynkach [4, 99, 110], w monitorowaniu stanu elementów infrastruktury [41, 58, 98], w aplikacjach militarnych na polu walki [41, 80, 111], w monitorowaniu zanieczyszczeń środowiska [41], zmian klimatu, badanych ekosystemów [43, 105, 160] itd. Część z tych zastosowań uwzględnia możliwość zmiany położenia przez monitorowany obiekt i wspiera mobilność sensorów (np. sieć Zebranet [105]). Drugą istotną grupę zastosowań sieci ad-hoc stanowią aplikacje realizowane przez sieci mobilne MANET (Mobile Ad-hoc Networks, [42]), w których kluczową cechą jest mobilność urządzenia zmieniają swoje położenie, często przemieszczając się z dużymi prędkościami. Przykładem są intensywnie rozwijane sieci komunikacji bezprzewodowej pomiędzy pojazdami w ruchu drogowym oraz pomiędzy pojazdami i infrastrukturą drogową (VANET - Vehicle Ad-hoc Networks, [41]). Sieci tego typu są wykorzystywane do budowy systemów ostrzegania w czasie rzeczywistym (rozsyłanie ostrzeżeń i informacji drogowych), systemów sterowania ruchem drogowym oraz innych systemów wspomagających kierowcę. Ważnym zastosowaniem sieci MANET jest organizowanie komunikacji w sytuacjach kryzysowych, gdy stała infrastruktura sieciowa uległa zniszczeniu, rys ) czy wspieranie działań militarnych na polu walki. Oprócz przedstawionych scenariuszy wykorzystania sieci MANET istnieje grupa potencjalnych zastosowań, które aktualnie są na etapie badań i nie doczekały się jeszcze gotowych realizacji. Przykładem mogą być sieci z tolerancją opóźnień w komunikacji międzyplanetarnej, [41]. Niniejsza praca koncentruje się na zagadnieniach projektowania systemów heterogenicz- 22
23 Rys Wykorzystanie sieci MANET do tworzenia zastępczej infrastruktury komunikacyjnej [127]. nych łączących bezprzewodowe sieci sensorowe i mobilne sieci ad-hoc. W większości zastosowań urządzenia wykorzystywane do budowy tego typu sieci składają się z następujących modułów: Interfejs radiowy, który realizuje komunikację bezprzewodową w trybie ad-hoc, zgodnie z wspieranym standardem transmisji radiowej. Mikroprocesor z pamięcią, który zarządza pozostałymi modułami i realizuje algorytmy związane z przetwarzaniem danych i współpracą z innymi węzłami sieci. Źródło zasilania w postaci baterii lub akumulatora z możliwością doładowywania go energią pochodzącą z źródeł zewnętrznych (np. energią słoneczną). Czujniki (np. temperatury, oświetlenia, wilgotności itd.) do pomiaru wybranych parametrów otoczenia. Moduł lokalizacji (np. GPS, odpowiednie oprogramowanie) wykorzystywany w nawigacji i stosowanych protokołach transmisji. Napęd, który pozwala na zmianę położenia węzła sieci ad-hoc w sposób kontrolowany. Ruch może być również realizowany z wykorzystaniem zewnętrznych obiektów mobilnych przenoszących węzeł sieci (np. robot, człowiek itp.). 23
24 Bezprzewodowe sieci ad-hoc w typowych zastosowaniach najczęściej realizowane są z wykorzystaniem technologii komunikacyjnych z grupy WLAN (Wireless Local Area Network, np. IEEE ) lub WPAN (Wireless Personal Area Network, np. IEEE [1], ZigBee [133], Bluetooth). W niniejszej pracy autor skupia swoją uwagę na sieciach ad-hoc zgodnych ze standardem IEEE opisanym w pracy [1]. 24
25 Rozdziaª 3 Modelowanie mobilnej sieci ad-hoc Celem niniejszego rozdziału jest sformułowanie ogólnego modelu matematycznego bezprzewodowej sieci tworzonej przez wyposażone w czujniki urządzenia, które mogą się przemieszczać w przestrzeni. Zakłada się, że zadania, jakie ma realizować sieć, wymagają często zbierania danych pomiarowych z znacznych obszarów, a więc liczba węzłów sieci może być duża. Ze względu na koszty takiej infrastruktury sieć zbudowana jest zazwyczaj z tanich urządzeń o niewielkich zasobach energetycznych i mocach obliczeniowych Model sieci ad-hoc Rozważamy sieć ad-hoc składającą się z N mobilnych urządzeń komunikacji bezprzewodowej. Ze względu na możliwy ruch urządzeń i zmieniające się przy tym warunki środowiska, parametry modelowanej sieci zmieniają się w czasie z określoną dynamiką. W celu uproszczenia modelu w niniejszym rozdziale przyjęto, że wszystkie sformułowania dotyczą ustalonej chwili czasu t. Przyjmijmy, że rozważana mobilna sieć ad-hoc S działa w trójwymiarowej przestrzeni W nazwanej dalej obszarem aktywności sieci lub obszarem roboczym sieci. Zdefiniujmy ten obszar jako: W = {(o i ) : o i R 3,o i = [x i,y i,z i ],i = 1,...,I}, (3.1.1) gdzie o opisuje wszystkie punkty przestrzeni R 3, które mogą być osiągane przez obiekty, x i, y i, z i to współrzędne kartezjańskie punktu o. Bezprzewodowa sieć ad-hoc jest zazwyczaj przedstawiana w postaci grafu S = (S D,S L ),S D /0,S L /0, (3.1.2) 25
26 gdzie S D = {D i : i = 1,...,N} (3.1.3) S L = {(D i,d j ) : D i S D,D j S D,i, j = 1,...,N,i j} (3.1.4) S D w powyższych formułach oznacza zbiór węzłów sieci urządzeń komunikacji bezprzewodowej działających w trybie ad-hoc, a S L jest zbiorem istniejących w danej chwili t skierowanych, bezpośrednich połączeń pomiędzy dowolną parą węzłów D i i D j [81, 132, 141, 161]. Węzeł sieci ad-hoc może być źródłem ruchu sieciowego, jego odbiorcą lub pośrednikiem w transmisji danych pomiędzy węzłami, które nie znajdują się w swoim zasięgu transmisji radiowej. Urządzenia i łącza bezprzewodowe tworzą sieć ad-hoc obserwowaną w chwili t. Topologia tej sieci zależna jest m.in. od położenia węzłów sieci w przestrzeni W, parametrów nadajnika, odbiornika oraz warunków środowiska wpływających na propagację fali radiowej. W bezprzewodowych sieciach ad-hoc najczęściej tworzone są topologie typu gwiazda (ang. star), siatka (ang. mesh) lub drzewo (ang. tree). Urządzenia tworzące sieć mogą być w pełni autonomiczne. Innym rozwiązaniem jest sieć, w której działa pewna aplikacja centralna, podejmująca na bieżąco decyzje dotyczące działania całej sieci oraz lokalna aplikacja podejmująca lokalne decyzje sterujące, dotyczące tylko danego węzła sieci. Obie aplikacje tworzą hierarchiczną strukturę sterowania, w której centralna aplikacja przekazuje zmienne sterujące lub koordynujące aplikacji lokalnej przez wysyłanie odpowiednich komunikatów. W sytuacji, gdy w sieci nie ma wyróżnionej centralnej jednostki sterującej, każdy z węzłów zarządzany jest przez lokalną aplikację. Struktura sterowania jest więc zdecentralizowana i płaska Model otoczenia Sieć funkcjonuje w pewnym środowisku, które wpływa na jej działanie przez różnego rodzaju oddziaływania. W przypadku, gdy tworzą ją urządzenia, które mogą się poruszać trajektoria ruchu każdego węzła sieci jest m.in. determinowana przez przeszkody występujące w przestrzeni roboczej W. Przyjmijmy, że S O oznacza zbiór przeszkód O i, i = 1,...,M. Przeszkody mogą być statyczne (np. budynki, drzewa, wzniesienia terenu itd.) lub mobilne (np. pojazdy w ruchu ulicznym). Wynik oddziaływania pozostałych węzłów ze zbioru S D zależy od realizowanego zadania. W przypadku zakładającym współpracę urządzeń ruch węzła zależy od zachowania węzłów znajdujących się w jego zasięgu radiowym. W sytuacji braku kooperacji pozostałe węzły są traktowane jako przeszkody. Na funkcjonowanie sieci istotny wpływ mają również właściwości i uwarunkowania przestrzeni roboczej, które wpływają na zasięg i jakość transmisji radiowej (np. warunki atmosferyczne, ściany w pomieszczeniach itd.). Sformułujmy 26
27 więc ogólny model środowiska, w którym działa sieć. Oznaczmy go przez OT : OT = (S O,S P ), (3.2.1) gdzie S O = {O i : i = 1,...,M} to zbiór przeszkód w przestrzeni W, a S P oznacza model propagacji radiowej sygnału w danym środowisku Model w zªa sieci ad-hoc Modelowanie transmisji bezprzewodowej oraz ruchu urządzeń tworzących sieć ad-hoc wymaga wiedzy na temat położenia i kształtu urządzeń mobilnych i przeszkód. W niniejszej pracy przyjmuje się, że węzły sieci i przeszkody są bryłami sztywnymi. W celu uproszczenia obliczeń bryły te są wpisywane w wielościan Env i, który stanowi obwolutę urządzenia D i lub przeszkody O i (rys ). Wierzchołki wielościanu Env i oznaczymy przez p a i, gdzie a = 1,...,P i, a wnętrze wielościanu przez Vol i. Dodatkowo, wewnątrz urządzenia D i wybieramy pewien punkt, który będziemy nazywać punktem referencyjnym obiektu i oznaczymy przez c i. Punkt referencyjny może odpowiadać np. miejscu umieszczenia anteny modułu radiowego, urządzenia GPS lub napędu. Z węzłem sieci wiążemy układ współrzędnych, którego początek jest w punkcie c i. Orientacja układu lokalnego względem układu globalnego (inercjalnego) jest opisana za pomocą kwaternionu q i = [q i 0,qi 1,qi 2,qi 3 ]. Przyjmuje się, że liczba i początkowe położenia wierzchołków wielościanu Env i oraz położenie punktu referencyjnego c i są określane arbitralnie przez twórcę modelu. Dodatkowo założono, że położenia wierzchołków wielościanu Env i w lokalnym układzie współrzędnych są stałe. Rys Przykładowa obwoluta obiektu mobilnego na płaszczyźnie. Ze względu na założenie, że obiekty są bryłami sztywnymi wprowadzone zostało ograniczenie wymuszające zachowanie stałych odległości pomiędzy poszczególnymi wierzchołkami wielościanu Env i i punktem c i. p a i {p 1 i,...,pp i i } r (a) i = c i p a i = const, (3.3.1) 27
28 p a i,p b i {p1 i,...,pp i i } a<b r (a,b) i = p a i p b i = const, (3.3.2) gdzie a i b to indeksy wierzchołków wielościanu Env i, r (a) i jest odległością euklidesową pomiędzy punktami c i i p a i, a r(a,b) i odległością euklidesową pomiędzy punktami p a i i p b i (rys ). Przyjęto dodatkowo, że wnętrza Vol i wielościanów ograniczających urządzenia i przeszkody nie mogą mieć części wspólnych, co wynika z założenia o unikaniu kolizji. Spełnienie tego warunku wymusza wprowadzone ograniczenie: Di,D j S D, Vol i Vol j = /0, (3.3.3) O i,o j S O gdzie Vol i jest wnętrzem wielościanu Env i, a Vol j wnętrzem wielościanu Env j. Urządzenie D i może poruszać się z prędkością v i. Przyjęto założenie, że odczyt położenia urządzenia jest wykonywany co krok zmiany czasu t. Dokładność wyników uzyskanych za pomocą modelu wzrasta wraz ze zmniejszaniem długości okresu t. Średnia prędkość jest obliczana z następującej formuły: v i = c i(t + t) c i (t). (3.3.4) t Jednym z parametrów ruchu urządzenia D i jest maksymalną wartość prędkości v maxi, z jaką może poruszać się pojazd. v i = { 0 urządzenie nie porusza się, v i urządzenie porusza się, 0 < v i v maxi. (3.3.5) Podsumowując, można zdefiniować wektor zmiennych stanu urządzenia D i związanych z jego ruchem: X M i = {(c i,q i,v i ) : 0 v i v max,i }. (3.3.6) Na wektor zmiennych sterujących wpływających na położenie urządzenia składają się zadana prędkość liniowa u vi oraz zadana prędkość kątowa u ωi : U M i = (u vi,u ωi ). (3.3.7) O kierunku i szybkości poruszania się urządzeń tworzących sieć ad-hoc decyduje przede wszystkim cel działania sieci. W wielu zastosowaniach wymaga się dotarcia przez poszczególne węzły sieci do z góry zadanych punktów g i w przestrzeni roboczej W, nazywanych w dalszej części pracy punktami docelowymi. Są to wielkości zadane w rozważanym układzie sterowania. Zasób energii jakim w danej chwili dysponuje urządzenie węzeł sieci ad-hoc jest zazwyczaj ograniczony. Oznaczmy stan tego zasobu za pomocą zmiennej ξ i. Wartość ta może 28
29 odpowiadać np. poziomowi naładowania akumulatora zasilającego urządzenie. Zwykle wyrażana jest w jednostkach mah, wraz z podanym napięciem elektrycznym. Energia jest zużywana przez różne moduły urządzenia, tj. procesor, moduł radiowy, detektory itd. Zakładając, że zasoby urządzenia nie są wykorzystywane przez układ jezdny oraz, że węzeł sieci, ze względu na niewielkie moce obliczeniowe, nie wykonuje intensywnych obliczeń, głównymi konsumentami energii są moduł radiowy oraz detektory. W formułowanym modelu energetycznym urządzenia D i ograniczymy się więc do uwzględnienia zużycia energii przez układy pomiarowy i komunikacyjny. Urządzenia tworzące sieci ad-hoc są zazwyczaj wyposażone w różnego rodzaju detektory. Przyjmijmy uproszczony model opisujący działanie czujnika. Wykorzystamy do opisu zmienną binarną s l i {0,1}, gdzie l = 1,...,L i jest numerem czujnika zainstalowanego w węźle D i, a L i liczbą tych czujników. Przyjmijmy, że detektor l może znajdować się w jednym z dwóch stanów, tj. wyłączony s l i = 0 i włączony sl i = 1, a zasięg pomiarów włączonego detektora l obejmuje powierzchnię koła o promieniu r s l i i środku w punkcie c i. Przyjmiemy ponadto, że ψ l i oznacza moc elektryczną pobieraną przez włączony czujnik pomiarowy l. Moduł radiowy urządzenia D i może w danej chwili działać w jednym z E i stanów w zależności od aktywności nadajnika i odbiornika radiowego. Stan ten będziemy dalej nazywali stanem energetycznym urządzenia i oznaczymy symbolem e i {1,2,...,E i }. Z stanem modułu radiowego wiąże się zużycie energii przez D i. Niech φ e i i oznacza pobór mocy elektrycznej przez moduł radiowy urządzenia D i znajdującego się w stanie e i. Przyjmijmy, że e i = 1 oznacza stan uśpienia, w którym moduł radiowy nie bierze udziału w komunikacji jest wyłączony, a e i = 2 oznacza stan nasłuchu, podczas którego węzeł sieci D i jest przygotowany do odbioru danych drogą bezprzewodową od innego węzła D j. Pozostałe stany energetyczne (2 < e i E i ) oznaczają, że urządzenie jest w trybie nadawania danych z różnym poziomem mocy sygnału radiowego Pt e i i. W stanie uśpienia i nasłuchu moc nadawanego sygnału jest równa 0 W. Załóżmy, że wraz ze wzrostem indeksu stanu e i {3,...,E i } zwiększa się poziom mocy nadawanego sygnału (Pti 3 <... < Pt E i i ), a tym samym zasięg transmisji bezprzewodowej, co w konsekwencji może spowodować zmiany topologii rozważanej sieci ad-hoc. Poziom mocy sygnału radiowego jest najczęściej mierzony w jednostce dbm 1, i ta jednostka jest przyjęta w dalszej części pracy. Stosując wprowadzone oznaczenia możemy zapisać wektor zmiennych określających stan energetyczny urządzenia D i w chwili t: X E i = {(ξ i,e i,s i ) : 0 ξ i ξ max,i,e i {1,...,E i },s i = [s 1 i,...,s L i i ]}, (3.3.8) gdzie ξ i oznacza aktualny poziom naładowania baterii urządzenia D i, e i stan energetyczny urządzenia, ξ max,i maksymalny poziom naładowania baterii, a s i = [s 1 i,...,sl i i ] jest podwektorem o rozmiarze L i grupującym binarne zmienne stanu czujników należących do urządzenia D i. 1 jednostka poziomu mocy w skali logarytmicznej liczona w odniesieniu do 1 mw. 29
30 Wektor zmiennych sterujących UE i tworzą zmienne przełączające stan modułu radiowego oraz wszystkich detektorów zamontowanych w urządzeniu. U E i = (u ri,u 1 s i,...,u L i s i ), (3.3.9) gdzie u ri {1,...,E i } oznacza zmienną sterującą modułem radiowym zmieniającą stan tego modułu, a u l s i {0,1} zmienną sterująca pracą l-tego detektora. Założono, że okres przebywania przez moduł radiowy oraz czujniki urządzenia D i w danym stanie wynosi co najmniej t. Pozwala to na wyznaczenie energii zużytej w czasie t przez urządzenie D i. Równanie na zmianę poziomu naładowania baterii urządzenia D i w chwili t, spowodowaną przez sterowania u ri i u l s i, przyjmuje następującą postać ξ i (t) = ξ i (t t) φ e i i (t) t L i l=1 (s l i ψ l i ) t Θ i (ξ i (t t), t), (3.3.10) gdzie φ e i i (t) i ψ l i oznaczają pobór mocy elektrycznej odpowiednio przez moduł radiowy i l-ty czujnik i-tego urządzenia, ξ i (t t) jest poziomem naładowania baterii w chwili poprzedniej, a Θ i (ξ i (t t), t) jest nieliniowym członem opisującym proces rozładowywania się baterii urządzenia D i w okresie t. Stany energetyczne, które może przyjmować popularny interfejs komunikacji radiowej CC2420 [2] prezentuje rysunek Rys Tryby pracy modułu komunikacji radiowej CC2420 (napięcie elektryczne regulowane w zakresie V) i wartości zmiennych stanu. Zadania przesyłania danych w sieci ad-hoc oraz gromadzenia pomiarów wykonanych przez czujnik wymagają, aby węzeł sieci dysponował buforem służącym do przechowywania danych, do czasu ich wysłania do odbiorcy lub przetworzenia przez lokalną aplikację sterującą. W pracy założono, że gromadzone dane są podzielone na równej wielkości pakiety, a urządzenie D i 30
31 dysponuje buforem danych, w którym może przechowywać maksymalnie B i pakietów danych. Obserwowana w chwili t liczba pakietów w buforze węzła D i wynosi b i B i. Założono, że urządzenie D i może zapisać w buforze pakiet danych tylko wtedy, gdy b i < B i. W wielu przypadkach dane odebrane przez węzeł lub pomiary z czujnika mogą być źródłem sterowań urządzeniem. Ma to miejsce np. w sytuacji, gdy sieć jest zarządzana przez centralną aplikację sterującą lub wartość odczytana przez detektor wyzwala zdarzenie zmieniające stan urządzenia. Oznaczmy stan bufora urządzenia przez Xi B. Przyjmuje on wartości z przedziału X B i [0,B i ]. Równanie stanu bufora węzła D i w chwili t można zapisać za pomocą następującej formuły: X B i (t) = X B i (t t) + γ ri (t) γ si (t), (3.3.11) gdzie γ ri (t) jest liczbą pakietów danych zapisanych w buforze w chwili t, a γ si (t) jest liczbą pakietów danych usuniętych z bufora w chwili t. Polecenia zapisu i usunięcia danych tworzą wektor sterowań buforem danych U B i : U B i = (γ ri,γ si ). (3.3.12) Podsumowując, wymienione w rozdziale zmienne składają się na wektor zmiennych stanu oraz sterowań urządzenia D i : X i = (Xi M,Xi E,Xi B ), U i = (Ui M,Ui E,Ui B ). (3.3.13) Oznaczmy przez Z O zakłócenia związane z występowaniem przeszkód w przestrzeni roboczej W, a przez Z P zakłócenia środowiska wpływające na transmisję radiową. Wartości zakłóceń wynikają z przyjętego modelu otoczenia (3.2.1), w którym działa urządzenie D i. Otrzymujemy wektor zmiennych zakłócających wpływających na działanie urządzenia D i Z i = (Z O i,z P i ). (3.3.14) Wielkości wejściowe sieci S to wspomniane zmienne sterujące U i oraz zakłócenia Z i generowane przez środowisko, w którym działa sieć. W zależności od przyjętego scenariusza działania sieci tworzące ją urządzenia mogą być w pełni autonomiczne lub wykonywać pewne zadania zlecane im przez inne węzły, bądź jednostkę koordynującą działanie całego systemu. W sytuacji, gdy w sieci nie ma wyróżnionej jednostki centralnej w każdym węźle działa lokalna aplikacja sterująca pracą węzła. Zadania aplikacji centralnej i lokalnej mogą np. polegać na wskazaniu docelowego położenia węzła w przestrzeni W, zleceniu nadania komunikatu z odpowiednią mocą czy wykonania pomiaru. Przejdźmy teraz do sformułowania ogólnych postaci funkcji opisujących zmiany stanu urzą- 31
32 dzenia D i pod wpływem zmiennych wejściowych: f E i funkcja zmiany stanu energetycznego węzła sieci D i (uwzględnia zmiany stanu modułu radiowego i detektorów). f E i : U E i X E i X E i. (3.3.15) f M i funkcja zmiany położenia, orientacji i prędkości z jaką porusza się węzeł sieci D i. f M i : U M i X M i Z O i X M i. (3.3.16) f B i funkcja zmiany rozmiaru danych w buforze urządzenia D i w wyniku zapisu lub usunięcia danych. Zapisane dane mogą pochodzić od innych węzłów sieci lub z odczytów czujnika. f B i : U B i X B i X E i Z P i X B i. (3.3.17) f I i wewnętrzna funkcja przejścia stanu do opisu sytuacji, w których zmiana stanu urządzenia nie jest związana ze zmianą wejść (np. rozładowanie baterii, awaria, itp.). f I i : X i X i. (3.3.18) W prezentowanym modelu jako dane wyjściowe Y i urządzenia D i przyjmujemy dane pomiarowe pobierane z bufora i wysyłane do innych węzłów lub stacji bazowej i/lub informacje o aktualnym położeniu i poziomie naładowania baterii D i. Funkcja wyjścia f g i przyjmuje następującą postać: f g i : Xi E Xi B Xi M Y i. (3.3.19) W symulacji zdarzeniowej zmiany stanu urządzenia zachodzą w nieregularnych chwilach czasu w wyniku wystąpienia zdarzenia. W przypadku braku zdarzeń o znacznikach czasowych równych aktualnemu czasowi symulowanemu t, konieczne jest odpowiednie zwiększenie wartości t. Zmiana czasu symulowanego realizowana jest przez dodanie do wartości t kroku t, który jest wyznaczany za pomocą funkcji f t i. f t i : X E i X B i X M i t. (3.3.20) Podsumowując, możemy przedstawić uproszczoną specyfikację węzła mobilnej sieci adhoc: W sposób graficzny prezentuje ją rysunek D i = U i,z i,x i,y i, fi E, fi M, fi B, fi I, f g i, f i t. (3.3.21) 32
33 Rys Model węzła sieci ad-hoc. Korzystając z modeli (3.3.21) oraz (4.1.3) możemy sformułować ogólny model mobilnej sieci ad-hoc zbudowanej z N urządzeń D i : S = T K,U,Z,Y,{D i },{S Ci },{Fi U },{Fi Z },{F j,i },{G i } : i, j = 1,,N, (3.3.22) I i ={D j : (D j,d i ) S L ;i j;i, j = 1,,N}, (3.3.23) gdzie T K oznacza okres czasu, na którym analizujemy rozważany system, U i Z odpowiednio, wejścia sterujące i zakłócające sieci z jej otoczenia (tzw. wejścia zewnętrzne), Y wyjścia z sieci (tzw. wyjścia zewnętrzne), {D i } jest zbiorem N modeli urządzeń, S Ci jest zbiorem urządzeń które mogą przesłać bezpośrednio dane do urządzenia D i, funkcja Fi U : U U i dekomponuje zmienne sterujące U sieci S na zmienne sterujące U i urządzenia D i, funkcja Fi Z : Z Z i dekomponuje zmienne zakłócające Z sieci S na zmienne zakłócające Z i urządzenia D i, funkcja F j,i : Y j U i definiuje przesłanie danych pomiędzy urządzeniami D j i D i, a funkcja G i : Y i Y określa sposób agregacji zmiennych wyjściowych Y i urządzenia D i w zmienne wyjściowe Y sieci S Model referencyjny dla komunikacji bezprzewodowej W przedstawionym w literaturze modelu komunikacji sieciowej OSI (ang. Open Systems Interconnection) dla bezprzewodowych sieci ad-hoc rozważa się pięć warstw: fizyczną, łącza danych, sieci, transportową i aplikacji [29, 65], rys Wymienione warstwy pełnią nastę- 33
34 pujące funkcje: Warstwa fizyczna (PHY). W warstwie tej są realizowane funkcje zmiany stanu aktywności modułu radiowego, pomiaru poziomu mocy odebranego sygnału (ED ang. energy detection), wyboru częstotliwości kanału komunikacyjnego, wysyłania i odbierania danych, oceny jakości łącza bezprzewodowego (LQI ang. link quality indicator), detekcji zajętości kanału komunikacyjnego (CCA ang. clear channel assessment) oraz modulacji sygnału. Warstwa łącza danych (MAC). W warstwie tej działają algorytmy dostępu do współdzielonego medium transmisyjnego, zestawiania połączeń bezprzewodowych pomiędzy parą węzłów sieci oraz oceny poziomu błędów w transmisji. Warstwa sieci (NWK). Warstwa obejmuje algorytmy rutingu, zarządzania siecią, bezpieczeństwa w sieci, kontroli topologii i adresowania węzłów. Warstwa transportowa w sieciach ad-hoc uwzględniana jest w sytuacjach, gdy zewnętrzny dostęp do sieci lub realizowana aplikacja wymaga stosowania protokołu transmisyjnego, np. UDP, TCP. Warstwa aplikacji (APL) dostarcza interfejsu, przez który aplikacje użytkownika mogą zarządzać siecią, urządzeniami, bezpieczeństwem itd. Rys Model OSI dla bezprzewodowej sieci ad-hoc. Bardzo ważnymi protokołami w sieciach ad-hoc są protokoły z grupy MAC (Medium Access Protocol). Odpowiadają one za organizowanie komunikacji węzłów przez współdzielone medium transmisyjne. Głównym ich zadaniem jest ograniczanie interferencji i kolizji wpływających na przepustowość sieci i opóźnienia transmisji danych. W ostatnich latach powstało wiele realizacji protokołów MAC [1, 29, 65, 102, 115]. W zależności od oferowanej funkcjonalności, a tym samym różnego poziomu skomplikowania, wyróżnia się trzy klasy tych protokołów [81]: Klasa 1: Metody losowego dostępu do medium transmisyjnego dopuszczają kolizje. Transmisja ponawiana jest po losowym czasie oczekiwania. Reprezentantem tej grupy jest protokół CSMA/CA bez rezerwacji [1]. 34
35 Klasa 2: Metody pełnego blokowania dostępu do medium transmisyjnego. Eliminują kolizje przez blokowanie nadawania przez wszystkie węzły znajdujące się w zasięgu aktualnej transmisji. Rozwiązują problem węzła ukrytego. Do tej klasy należą protokoły CSMA/CA z rezerwacją [1], S-MAC [168], EMAC [155]. Klasa 3: Metody wybiórczego blokowania dostępu do medium transmisyjnego. Eliminują kolizje przez blokowanie nadawania przez wybrane węzły znajdujące się w zasięgu aktualnej transmisji. Protokoły te wymagają dodatkowego kanału sygnalizacyjnego lub mechanizmu rezerwacji. Rozwiązane są problemy węzła ukrytego i węzła eksponowanego. Protokoły tej klasy to: RBCS [92], DBTMA [77]. Komunikacja w sieciach typu multihop wymaga wyznaczenia ścieżki transmisji pomiędzy dwoma wybranymi węzłami. Do tego celu stosuje się szybkie protokoły rutingu. Wyróżnia się dwie grupy takich protokołów [29]: proaktywne (ang. proactive) ścieżki są wyznaczane przy każdej zmianie topologii, nawet wtedy, gdy nie ma zapotrzebowań ruchowych wymagających nowych ścieżek, reaktywne (ang. reactive) ścieżki są wyznaczane na żądanie, w momencie pojawienia się zapotrzebowania na transfer danych. Rozważane w pracy sieci ad-hoc wykorzystują transmisję radiową. Badania symulacyjne sieci tego typu obejmują m.in. symulację propagacji radiowej. Zazwyczaj w symulatorach implementowane są uproszczone modele propagacji radiowej oraz najpopularniejsze wersje protokołów MAC i protokołów warstw wyższych. Rozwiązania mniej popularne analizowane są przeważnie na bazie symulacji dedykowanej testowanemu protokołowi. W następnym rozdziale dokonano przeglądu modeli propagacji radiowej opisanych w literaturze. Wybrane modele zostały zrealizowane w symulatorze wykonanym przez autora i prezentowanym w niniejszej pracy Modelowanie propagacji radiowej Zakłada się, że komunikacja bezprzewodowa pomiędzy węzłem D i i węzłem D j jest możliwa wtedy, gdy węzeł D i jest w stanie odebrać i zdekodować sygnał wysłany przez węzeł D j, a węzeł D j może odebrać i zdekodować sygnał wysłany przez węzeł D i. Komunikacja bezprzewodowa realizowana jest poprzez łącze radiokomunikacyjne, składające się w uproszczeniu z nadajnika i odbiornika radiowego, połączonych bezprzewodowym medium transmisyjnym ośrodkiem rozchodzenia się fal radiowych [96]. Podstawowym zagadnieniem rozważanym podczas modelowania komunikacji bezprzewodowej jest określenie spadku mocy sygnału przesyłanego przez łącze radiokomunikacyjne. Spadek mocy sygnału radiowego pomiędzy nadajnikiem 35
36 węzła D j i odbiornikiem radiowym węzła D i nazwano tłumieniem propagacyjnym (ang. path loss) i oznaczono symbolem Pl i j. Współczynnik Pl i j informuje o tym jaka część mocy sygnału Pt j nadanego praz węzeł sieci D j dociera do odbiornika radiowego węzła D i oraz umożliwia sformułowanie bilansu energetycznego łącza radiowego w postaci następującego równania: Pl i j [db] = 10log G jg i Pt j [mw]. (3.5.1) Pr i j [mw] Po przekształceniu równania i zmianie jednostek otrzymujemy: Pl i j [db] = Pt j [dbm] + G j [db] + G i [db] Pr i j [dbm]. (3.5.2) W powyższych wzorach G i jest zyskiem energetycznym anteny odbiornika, G j zyskiem energetycznym anteny nadajnika, Pt j poziomem mocy sygnału nadanego przez węzeł D j, a Pr i j poziomem mocy sygnału nadanego przez węzeł D j i odebranego przez węzeł D i. Wartość tłumienia propagacyjnego Pl i j zależy do wielu czynników fizycznych i może być wyznaczona empirycznie na drodze eksperymentalnej lub za pomocą modelu propagacji radiowej. W literaturze [79, 139] przedstawiono dwie grupy modeli propagacji radiowej modele fizyczne oraz modele probabilistyczne i statystyczne Modele zyczne W modelach fizycznych analizowane są wszystkie aspekty propagacji sygnału radiowego w danym środowisku, propagacja w wolnej przestrzeni, odbicia, ugięcia, załamania sygnału. Pozwala to na uzyskanie bardzo dokładnych estymat przesyłanego sygnału. Ze względu na swoją złożoność i wymagania obliczeniowe modele fizyczne stosowane są najczęściej w prostych scenariuszach dla sieci statycznych (np. niewielka liczba nadajników, odbiorników, przeszkód). Do modeli fizycznych należą m.in.: A. Model propagacji w wolnej przestrzeni (ang. free-space/line-of-sight propagation). Model ten służy do wyznaczenia tzw. tłumienia podstawowego i podawany jest najczęściej w formie równania Friis a [79, 96, 139, 154]: ( G j G i λ 2 ) Pl i j(a) (d)[db] = 10log (4π) 2 d 2, (3.5.3) gdzie d jest odległością euklidesową pomiędzy nadajnikiem i odbiornikiem radiowym, λ = c f jest długością fali, c prędkością światła, f częstotliwością (np. 2.4 GHz). W modelu założono, że antena nadajnika emituje sygnał radiowy izotropowo (równomiernie we wszystkich kierunkach). W sytuacji, gdy wzmocnienia G j oraz G i są równe 1, może- 36
37 my zastosować zapis równania (3.5.3) w wygodnej formie zaproponowanej w zaleceniach Międzynarodowej Unii Telekomunikacyjnej [89, 154]: Pl (A) (d)[db] = log f [MHz] + 20logd[km]. (3.5.4) B. Model odbić (ang. reflection). Odbicia sygnału zachodzą w sytuacji, gdy fala radiowa napotyka obiekty fizyczne o dużych wymiarach względem długości propagowanej fali λ (np. budynki, ściany, podłoże, itp.). Odbicia sygnału powodują, że fala radiowa może dotrzeć do odbiornika więcej niż jedną drogą. Sygnał odbity może mieć jednak poziom mocy niższy niż sygnał oryginalny, zależnie od rodzaju materiału, z którego zbudowana jest odbijająca sygnał przeszkoda. C. Model ugięć (ang. diffraction). Ugięcia sygnału zachodzą na krawędziach przeszkód znajdujących się na drodze propagowanej fali. Ugięcia sygnału pozwalają na transmisję radiową sięgającą poza przeszkody (np. linię horyzontu, budynki), ale powodują spadek poziomu mocy sygnału radiowego. D. Model rozpraszania (ang. scattering). Rozpraszanie sygnału ma miejsce w sytuacji, gdy propagowana fala napotyka dużą liczbę przeszkód o rozmiarach małych względem długości propagowanej fali (np. drzewa, latarnie, powierzchnie chropowate). Zastosowanie modelu rozpraszania sygnału może zwiększyć wyznaczony poziom mocy sygnału odbieranego przez odbiornik względem poziomu wyznaczonego za pomocą modeli odbić i ugięć sygnału Modele probabilistyczne i statystyczne Modele probabilistyczne i statystyczne są tworzone na podstawie wyników eksperymentów. Eksperymenty te polegają na wykonywaniu dużej liczby pomiarów utraty mocy przesyłanego sygnału w określonych warunkach działania sieci (np. biuro, hala fabryczna, otwarta przestrzeń miejska, itp.). Uzyskane w ten sposób współczynniki pozwalają na oszacowanie wielkości utraty mocy sygnału radiowego przesyłanego w podobnym środowisku. Modele probabilistyczne i statystyczne nie są oczywiście tak dokładne jak modele fizyczne, są za to mniej skomplikowane, nie wymagają tak dużych mocy obliczeniowych, przez co mogą być wykorzystane do symulacji złożonych sieci ad-hoc. W literaturze dominują trzy rodzaje modeli statystycznych [79, 81, 139], które wspólnie składają się na model wyznaczania spadku mocy sygnału radiowego. Są to: E. Model zmian dużej skali (ang. log-distance path loss model). Model, w którym utrata mocy przesyłanego sygnału uzależniona jest od odległości euklidesowej pomiędzy nadawcą, 37
38 a odbiorcą sygnału oraz wykładnika n odpowiedniego dla rozważanego środowiska. Tłumienie propagacyjne w modelu E wyrażone jest za pomocą następującego równania: Pl i j(e) (d)[db] = Pl i j(a) (d 0 )[db] + 10nlog( d d 0 ), (3.5.5) gdzie: d oznacza odległość od nadajnika, d 0 odległość referencyjną od nadajnika (np. 1m, 10m), Pl i j(a) (d 0 ) stałe tłumienie podstawowe wyznaczone w odległości referencyjnej d 0 od nadajnika za pomocą równania (3.5.3), n wyznaczony empirycznie wykładnik modelu zależny od środowiska propagacji (np. 2 w wolnej przestrzeni, 2-4 w budynkach, 3-4 tereny wiejskie, 4-5 tereny miejskie [79, 90, 139]). F. Model efektów średniej skali (ang. log-normal shadowing model). Model wolnych, losowych zmian mocy nadanego sygnału o logarytmicznym rozkładzie normalnym czyli model lognormalny. Zmiany sygnału wynikają z ukształtowania terenu, warunków atmosferycznych, niesymetrycznych wzmocnień anteny, itp. Model propagacji radiowej średniej skali zakłada, że logarytmiczna wartość mocy odebranego sygnału na okręgu (sferze) o promieniu r wokół źródła sygnału ma rozkład normalny, z odchyleniem standardowym równym σ oraz wartością średnią równą µ = 0. Pl i j(f) (d)[db] = Pl i j(a) (d 0 )[db] + 10nlog( d d 0 ) + X σ, (3.5.6) gdzie: X σ oznacza zmienną losową o logarytmicznym rozkładzie normalnym [db], σ odchylenie standardowe [db] (wartość stabelaryzowana dla wybranych środowisk). G. Model efektów małej skali (ang. small-scale fading model). Jest to model szybkich, losowych zmian amplitudy sygnału (głównie zaników) przy małej zmianie położenia odbiornika radiowego względem innych obiektów mobilnych i stacjonarnych. Fluktuacje amplitudy sygnału wynikają m.in. z propagacji sygnału wieloma ścieżkami (odbicia, itp.), efektu Dopplera przy węzłach mobilnych, ruchu innych obiektów na drodze propagacji fali radiowej oraz szerokości pasma transmitowanego sygnału. Zjawiska te najczęściej modelowane są za pomocą rozkładów prawdopodobieństwa Rayleight a i Rice a oraz modeli statystycznych [79, 96, 139, 154]. Współcześnie stosowane zaawansowane techniki rozpraszania widma sygnału (np. PSSS - parallel sequence spread spectrum, DSSS - direct sequence spread spectrum itp.), znacząco zmniejszają wpływ zjawisk małej skali na transmisję bezprzewodową [142]. Z tego powodu modele efektów małej skali są rzadko rozważane w symulacjach bezprzewodowych sieci ad-hoc. Oprócz wymienionych uniwersalnych statystycznych modeli propagacji E, F i G stosowane są również inne modele dedykowane konkretnym środowiskom propagacji fali radiowej oraz 38
39 wskazanym zakresom długości fali radiowej. Należą do nich m.in.: modele propagacji radiowej w nieregularnej przestrzeni otwartej [139] (autorzy: Longley, Rice, Durkin), modele propagacji radiowej w przestrzeni miejskiej: grupa modeli COST 231 [96] (autorzy: Walfisch, Bertoni, Ikegami, Hata), model ITU-R P.1411 [91], model Okumury-Haty [96, 139], modele propagacji radiowej wewnątrz budynków, modele tłumienia przez ściany i stropy model ITU-R P.1238 [90] i inne mniej znane modele [96, 139], modele propagacji radiowej w systemach łączności morskiej i lotniczej [96]. Z punktu widzenia komunikacji bezprzewodowej w sieciach ad-hoc szczególnie istotne są modele propagacji fali radiowej wewnątrz budynków oraz w terenie otwartym zaproponowane w zaleceniach Międzynarodowej Unii Telekomunikacyjnej (ITU) [154]. Są to: H. Zalecenie ITU-R P.1411 [91]. Modele propagacji radiowej zapisane w tym dokumencie dotyczą wybranych pięciu otwartych środowisk działania sieci bezprzewodowej. Należą do nich: gęsto zabudowane tereny miejskie z bardzo wysokimi budynkami, tereny miejskie z wysokimi budynkami, tereny miejskie z niskimi budynkami/przedmieścia, osiedla domów jednorodzinnych, tereny wiejskie. Dla każdego z tych obszarów zdefiniowano zestawy charakterystycznych parametrów (np. wysokość budynków, szerokość ulic, szybkość samochodów, szybkość i liczba pieszych itd.). Grupa modeli propagacji radiowej opisanych w zaleceniu uwzględnia cechy charakterystyczne środowiska, w którym realizowana jest komunikacja bezprzewodowa oraz zróżnicowane zakresy częstotliwości dostępne we współczesnych urządzeniach radiowych. I. Zalecenie ITU-R P.1238 [90]. Podstawowy model propagacji radiowej wewnątrz budynków definiuje w zaleceniu poniższe równanie: Pl (I) (d)[db] = 20log f [MHz] + 10nlogd[m] + P LAF (m)[db] 28, (3.5.7) gdzie n jest współczynnikiem tłumienia (tabela 3.5.1), f częstotliwością, d odległością pomiędzy nadajnikiem i odbiornikiem radiowym, P LAF jest tłumieniem sygnału radiowego przy przejściu przez strop budynku (tabela 3.5.1), m liczbą stropów pomiędzy nadajnikiem i odbiornikiem radiowym. 39
40 Tab Wartos ci współczynników n oraz PLAF modelu propagacji I dla dwóch wybranych cz estotliwos ci sygnału radiowego: 2,4 GHz oraz 5,2 GHz. Wartos ci PLAF sa dla tych cz estotliwos ci niezalez ne od liczby stropów. Cz estotliwos c Budynek mieszkalny Budynek biurowy 2,4 GHz n=2.8 n=3.0 PLAF =10 (wielorodzinny), PLAF =5 (jednorodzinny) PLAF =14 n=3.0 (wielorodzinny), n=2.8 (jednorodzinny) n=3.1 PLAF =13 (wielorodzinny), PLAF =7 (jednorodzinny) PLAF =16 5,2 GHz W modelu zmian duz ej (3.5.5) i s redniej skali (3.5.6) podstawowym problemem jest dobór odpowiedniej do s rodowiska, w którym zachodzi transmisja, wartos ci wykładnika n i odchylenia standardowego σ. Parametry n i σ modelu moga zostac wyznaczone za pomoca metody najmniejszych kwadratów na podstawie wyników zebranych w trakcie działania sieci ad-hoc w docelowym s rodowisku propagacji fali radiowej [139] lub przyj ete na podstawie wyników badan przedstawionych w literaturze [79, 90, 139]. Na rysunku prezentowane sa trzy topologie sieci sensorów (60 w ezłów na obszarze 4900 m2 ) otrzymane za pomoca autorskiego symulatora MobASim [144] dla róz nych wykładników n modelu propagacji. Łatwo zauwaz yc, z e zmiana wartos ci parametru n ma bardzo duz y wpływ na wyniki eksperymentów symulacyjnych. Zadanie w symulatorze nieodpowiedniej dla danego s rodowiska wartos ci n skutkuje bł ednymi wynikami. Rys Przykładowe topologie sieci wyznaczone w symulatorze MobASim dla róz nych wykładników n modelu propagacji radiowej F: a) n = 2, σ = 6 db, b) n = 2, n = 3.1 dla wyróz nionych obszarów, σ = 6 db, c) n = 3.1, σ = 6 db Modelowanie bª dów Fala radiowa przesyłana pomi edzy nadajnikiem urzadzenia D j a odbiornikiem urzadzenia Di poddana jest działaniu wielu procesów zachodzacych w os rodku transmisji. Czynniki te, w połaczeniu z szumem i interferencjami innych fal radiowych, moga spowodowac, z e ciag 40
41 binarny będący wynikiem demodulacji odebranego sygnału radiowego nie odpowiada oryginalnym danym wysłanym przez nadajnik. Stopień błędnie przesłanych bitów danych wyrażany jest za pomocą wartości BER i j (ang. bit error rate), którą można przeliczyć na parametr PER i j (ang. packet error rate) stosunek liczby prawidłowo przesłanych pakietów danych do liczby pakietów przesłanych błędnie. Zależność ta wyrażona jest wzorem: PER i j = 1 (1 BER i j ) l (3.5.8) gdzie l jest średnią długością pakietu w bitach (np. l = 22 [1]). Wartości parametrów BER i j oraz PER i j zależą od stosunku poziomu mocy odebranego sygnału Pr i j do poziomu mocy szumu urządzenia Pn i i interferencji Pi i j. Iloraz tych wartości oznaczono jako SNIR i j (ang. signal-to-noise and interference ratio) i wyrażono wzorem: SNIR i j = Pr i j [mw] Pn i [mw] + Pi i j [mw] (3.5.9) Pn i [mw] = F Ni kt B (3.5.10) Pi i j [mw] = Pr ik [mw] (3.5.11) D k S D, k j,k i W równaniu (3.5.10) k = i oznacza stałą Boltzmana w [ K J ], T temperaturę otoczenia równą 290K, a B szerokość pasma sygnału w [Hz]. Własności szumowe węzła sieci ad-hoc charakteryzuje tzw. współczynnik szumów F Ni (ang. noise factor). W sytuacji idealnego urządzenia bez szumu F Ni jest równy 1 (w mierze logarytmicznej F Ni [dbm] = 0 db, ang. noise figure). Zakłócenia zewnętrzne (interferencje) mogą pochodzić od innych nadających węzłów sieci ad-hoc lub działających w przestrzeni roboczej sieci bezprzewodowych wykonanych w technologiach innych niż analizowana sieć. W literaturze dostępne są wyniki badań, zgodnie z którymi poziom mocy interferencji Pi i j [dbm] zakłócających odbiór sygnału przez urządzenie działające w sieci WPAN (standard ) należy zwiększyć średnio o 20 dbm w sytuacji, gdy sieć współdzieli medium transmisyjne z siecią Bluetooth (standard ) oraz o 0-45 dbm, gdy sieć współdzieli medium transmisyjne z siecią WLAN (standard b) [149]. Zakłócenia wywołane jednocześnie nadającymi węzłami sieci bezprzewodowej pracującymi w zgodnym standardzie minimalizowane są przez działanie protokołów warstwy dostępu do medium transmisyjnego (MAC). W sytuacji, gdy interferencje można pominąć parametr SNIR i j zastępuje się wartością SNR i j (ang. signal-to-noise ratio) wyrażoną wzorem: SNR i j [db] = 10log Pr i j[mw] Pn i [mw] (3.5.12) Kolejną miarą jakości łącza radiowego jest wartość E b /N 0, będąca stosunkiem średniej ener- 41
42 gii odebranego bitu do gęstości widmowej mocy szumu na wejściu do odbiornika radiowego. Wartość tę można powiązać z współczynnikiem SNR i j w następujący sposób [113, 139, 166]: SNR i j = E b Rb N 0 B (3.5.13) gdzie B [Hz] jest szerokością pasma sygnału, R b [kbps] przepływnością danych. Wykorzystując wyrażenie E b /N 0 można wyznaczyć wartość BER i j dla różnych technik modulacji sygnału. Poniżej podano wzory dla technik BPSK (ang. binary phase shift keying), FSK (ang. frequency shift keying), O-QPSK (ang. offset quadrature phase shift keying) [101, 103, 139]. Przyjęta w standardzie warstwa fizyczna modelu OSI dla częstotliwości 2.4 GHz wykorzystuje modulację O-QPSK [1] oraz szerokości kanału B = 2MHz. BER BPSK i j BER FSK i j = 1 2 exp ( E b BER O-QPSK i j ( ) 2Eb = Q, (3.5.14) N 0 ), (3.5.15) 2N 0 ( 16 E ) b N = Q E, (3.5.16) b K 1 N 0 3 gdzie K oznacza liczbę jednocześnie nadających węzłów sieci. Prawdopodobieństwo błędu BER i j można wyznaczyć korzystając z opisanej i stabelaryzowanej w literaturze funkcji Q(z) [139]. W standardzie v.2006 [1] wprowadzono szereg formuł pozwalających wyznaczyć stopień błędów BER i j dla różnych metod modulacji sygnału i prędkości transmisji stosowanych w sieciach bezprzewodowych. Przykładowo, dla standardu zależność pomiędzy stopą błędów BER i j, a wartością SNIR i j wyrażona jest wzorem: BER O-QPSK i j = k=2 ( ) 16 ( 1) k e 20 SINR i j ( 1 k 1) (3.5.17) k Modele propagacji radiowej wraz z formułami wyznaczania stopy błędów BER i j wykorzystywane są w analizie aktualnie dostępnych połączeń w rozważanej sieci. Istotne jest, czy dwa węzły sieci mogą komunikować się ze sobą oraz jaka jest przewidywana jakość tego połączenia. W następnym rozdziale pokazano, jak tłumienie sygnału radiowego oraz poziom szumu i interferencji wpływają na zasięg komunikacji bezprzewodowej i strukturę połączeń w sieci ad-hoc. 42
43 Struktura poª cze«i wyznaczanie zasi gu komunikacji radiowej Założono, że węzeł sieci bezprzewodowej D i może poprawnie odebrać dane od innego węzła sieci bezprzewodowej D j wtedy, gdy jest w trybie nasłuchu (e i = 2) oraz poziom mocy Pr i j sygnału odebranego od węzła D j jest większy od przyjętej wartości progowej czułości odbiornika Ps i (ang. receiver sensitivity) [139]. Wymienione warunki zdefiniowano za pomocą zmiennej binarnej wl i j, która przyjmuje wartość 1, gdy transmisja od nadającego węzła D j do działającego w trybie nasłuchu węzła D i jest możliwa. W przeciwnym przypadku zmienna przyjmuje wartość równą 0. Sytuację, w której sygnał nadany przez węzeł D j istotnie zwiększa poziom interferencji przy odbiorze innych sygnałów przez węzeł D i, opisano za pomocą zmiennej binarnej wi i j o wartości równej 1. Pr i j [dbm] Ps i [dbm], 1 wl i j = e i = 2,e j {3,...,K j }, 0 komunikacja bezprzewodowa nie jest możliwa, Pr i j [dbm] > Pn i [dbm], 1 wi i j = e i = 2,e j {3,...,K j }, 0 interferencje są znikome. (3.5.18) (3.5.19) W zastosowaniach inżynierskich bardzo przydatne jest równanie (3.5.20), które pozwala wyznaczyć wymaganą czułość odbiornika Ps i na podstawie znanego współczynnika szumów urządzenia oraz oczekiwanej minimalnej różnicy SNR mini pomiędzy odebranym sygnałem, a szumem. Wartość parametru SNR mini jest zakładana przez projektanta urządzenia D i. Ps i [dbm] = Pn i [dbm] + SNR mini [db] (3.5.20) Wykorzystując zmienną stanu e i oraz wartość zmiennej wl i j możemy wyznaczyć dostępne w chwili t skierowane połączenia w sieci S: S L = {(D j,d i ) : wl i j = 1,i j,i, j = 1,...,N} (3.5.21) Zbiór węzłów sieci, od których w chwili t urządzenie D i może odebrać dane oznaczono jako S Ci i zdefiniowano w następujący sposób: S Ci = {(D j ) : (D j,d i ) S L,i j, j = 1,...,N}. (3.5.22) Liczbę węzłów sieci znajdujących się w bezpośrednim zasięgu transmisji bezprzewodowej 43
44 węzła D j wyznaczamy za pomocą formuły: dim(d j ) = N i=0 wl i j (3.5.23) Rys Przykładowe wartości zmiennych wl i j oraz wi i j dla nadającego węzła D 4 i trzech węzłów nasłuchujących D 1, D 2, D 3. Kluczowym zadaniem pozwalającym na określenie struktury połączeń w sieci jest wyznaczenie wartości Pr i j poziomu mocy sygnału odebranego przez węzeł D i. Wielkość ta może zostać wyznaczona eksperymentalnie lub analitycznie, stosując odpowiedni model propagacji radiowej. Model propagacji radiowej służy w tym przypadku do obliczenia zasięgu transmisji bezprzewodowej oraz zasięgu interferencji dla każdego z węzłów, dla różnych poziomów mocy nadawania sygnału radiowego [127, 132, 139]. Przedstawiony model połączeń pomiędzy węzłami wykorzystuje wartość progową Ps i określającą minimalny poziom mocy odebranego sygnału, który jest wymagany do prawidłowej komunikacji pomiędzy urządzeniem radiowym D i i innym węzłem sieci. Wykorzystując wartość Ps i oraz wybrane modele propagacji radiowej można wyznaczyć maksymalną odległość euklidesową pomiędzy nadajnikiem i odbiornikiem radiowym, przy której możliwy jest poprawny odbiór sygnału radiowego. W literaturze nazywa się ją zasięgiem transmisji radiowej i oznacza symbolem r ti j. Wyznaczmy zasięg transmisji stosując model propagacji radiowej E (3.5.5) przy założonym wykładniku modelu n. Pomińmy zyski energetyczne anteny i przyjmijmy d = r ti j, Pr i j = Ps i oraz Pl i j(e) (d) = Pt j [dbm] Ps i [dbm] zgodnie z wzorem (3.5.2). Przekształcając wzór (3.5.5) otrzymujemy: Pt j [dbm] Ps i [dbm] Pl i j(a) (d 0 )[db] r ti j = d n. (3.5.24) Model E nie uwzględnia efektów losowych zakłóceń. Wpływ środowiska na zasięg radiowy jest rozważany w modelu F (3.5.6). Rozwiązując model F dla konkretnej wartości poziomu mocy nadawanego sygnału Pt j oraz czułości odbiornika Ps i możemy wyznaczyć prawdopo- 44
45 dobieństwo z jakim sygnał nadany przez węzeł D j dotrze do odbiornika D i znajdującego się w odległości r ti j. Sygnał zostanie odebrany prawidłowo, gdy poziom mocy Pr i sygnału radiowego odebranego przez węzeł D i przekroczy wartość progową Ps i. Prawdopodobieństwo tego zdarzenia można wyznaczyć korzystając ze stabelaryzowanych wartości dystrybuanty Φ(z) standaryzowanego rozkładu normalnego N(0,1) [69, 139]. Standaryzacja ta polega na sprowadzeniu rozkładu normalnego N(µ, σ) do rozkładu o wartości oczekiwanej µ = 0 i odchyleniu standardowym σ = 1. Prawdopodobieństwo, że poziom mocy sygnału odebranego Pr i przekroczy Ps i w odległości r ti j od nadajnika jest wyznaczane w następujący sposób: P[Pr i (r ti j ) > Ps i ] = 1 Φ = Φ ( ( Psi Pr i (r ) ) ti j σ Ps i Pr i (r ti j ) σ ), (3.5.25) gdzie σ oznacza odchylenie standardowe współczynnik modelu F, a Pr i (r ti j ) = Pt j Pl i j(e) (r ti j ) jest wartością oczekiwaną. Podstawiając: otrzymujemy po przekształceniu: Ps i Pr i (r ti j ) σ = z, (3.5.26) Pl i j(e) (r ti j ) = Pt j Ps i zσ. (3.5.27) Korzystając z równania (3.5.27) i definicji Pl i j(e) (d) (3.5.5) można wyznaczyć odległość pomiędzy węzłami w sieci, dla której prawdopodobieństwo połączenia jest równe założonej wcześniej wartości. Pt j [dbm] Ps i [dbm] Pl i j(a) (d 0 )[db] zσ[dbm] r ti j = d n (3.5.28) W literaturze dostępne są stabelaryzowane wartości dystrybuanty Φ(z) dla różnych wartości z. W przykładowych obliczeniach założono, że poziom mocy sygnału odebranego przekroczy wartość progową Ps i z prawdopodobieństwem 99%. Jest to możliwe dla z = 2.33 [139]. Analogicznie do zasięgu transmisji r ti j można oszacować spodziewany zasięg interferencji r inti j równy maksymalnej odległości od nadajnika na jaką propagują się, istotne w modelu, interferencje wywołane nadawanym sygnałem radiowym. Podstawiając do wzoru (3.5.24) wartość poziom mocy szumu Pn i w miejsce czułości odbiornika Ps i otrzymamy następujące równanie: Pt j [dbm] Pn i [dbm] Pl i j(a) (d 0 )[db] r inti j = d n. (3.5.29) 45
46 Korzystając z wyznaczonych wartości r ti j i r inti j oraz zakładając, że anteny nadajnika i odbiornika są umieszczone w punktach c j i c i odpowiednich węzłów D j i D i, możemy przekształcić wzory (3.5.18) oraz (3.5.19) do prostszej postaci: c i c j r ti 1 j, wl i j = e i = 2,e j {3,...,K j }, 0 komunikacja bezprzewodowa nie jest możliwa, c i c j < r inti 1 j, wi i j = e i = 2,e j {3,...,K j }, 0 interferencje są znikome. (3.5.30) (3.5.31) 3.6. Modelowanie ruchu w zªów sieci Jedną z podstawowych cech mobilnych sieci ad-hoc jest dopuszczenie możliwości przemieszczania się urządzeń tworzących sieć. W ogólnym przypadku może to prowadzić do dynamicznych zmian topologii sieci oraz wpływać na wydajność stosowanych protokołów i strategii komunikacyjnych [34, 42, 54, 76, 102, 118]. Zmiana położenia urządzenia węzła sieci jest związana z ruchem obiektu, którego elementem jest dane urządzenie. W ogólnym przypadku sieć ad-hoc może być zbudowana z urządzeń mobilnych oraz stacjonarnych, tzn. takich, które w interesującym nas okresie działania sieci nie zmieniają swojego położenia (np. wcześniej rozłożone czujniki). Ruchome węzły sieci, np. przemieszczające się czujniki, mogą być przenoszone przez środowisko (np. czujniki monitorowania czystości wody) lub mogą być elementami robotów, pojazdów itd. W przypadku projektowania praktycznych sieci ad-hoc, gdy podczas prac projektowych wykorzystuje się symulację komputerową, konieczne jest zastosowanie w miarę możliwości kompletnych i wiarygodnych modeli opisujących ruch urządzeń komunikacji bezprzewodowej. Dobór modelu może być dodatkowo związany z obszarem zastosowania sieci [106, 118] oraz przewidzianą aplikacją sterującą węzłem sieci [118, 121, 143]. Istotne jest, że w sytuacjach rzeczywistych wyznaczona trajektoria ruchu obiektu musi omijać przeszkody zlokalizowane w przestrzeni roboczej, uwzględniać pozostałe urządzenia tworzące sieć oraz przewidywane zmiany położenia poruszających się obiektów. Kompleksowe modelowanie ruchu urządzeń tworzących sieć wymaga więc uwzględnienia przeszkód (stacjonarnych oraz mobilnych), które nie są wyposażone w urządzenia komunikacji bezprzewodowej ale wpływają na trasę ruchu węzłów sieci. Dodatkowo, obiekty te mogą być źródłem tłumienia i zakłóceń sygnału komunikacji bezprzewodowej. W literaturze rozróżnia się stała i okresowa mobilność węzłów sieci ad-hoc. W przypadku mobilności stałej przyjmuje się, że urządzenie komunikacji bezprzewodowej jest częścią nieza- 46
47 leżnego pojazdu (np. robota). Pojazd ten może być dodatkowo wyposażony w moduł lokalizacji określający aktualne położenie w przestrzeni roboczej (np. GPS). Szczególnym przypadkiem są sieci czujników monitorujących migrację zwierząt. W sieciach tego typu sensory są przenoszone przez obserwowane organizmy żywe. Mobilność stała węzła sieci ad-hoc może być również spowodowana działaniem środowiska naturalnego: wiatru, pływów wody, ruchów podłoża, itp. Należy pamiętać, że wpływ tych oddziaływań należy uwzględnić na etapie projektowania aplikacji sieci ad-hoc. W konkretnym przypadku oddziaływania mogą być monitorowane przez czujniki. W sytuacji, gdy urządzenie lub grupa urządzeń zmieniają swoje położenie pod wpływem działania sił natury w sposób nieprzewidziany przez projektanta sieci, mówimy o mobilności niezamierzonej. Ruch tego typu uznawany jest zwykle za anomalię lub zakłócenie w sieci bezprzewodowej. O mobilności okresowej mówimy w sytuacji, gdy węzeł sieci nie dysponuje własnym napędem oraz modułem do wyznaczania jego położenia. W tym przypadku urządzenie pomiarowe może być przenoszone przez inne urządzenia lub ludzi podczas formowania lub rekonfiguracji sieci ad-hoc. Rozwiązanie to jest podejściem tańszym i prostszym w realizacji niż sieć o mobilności stałej, gdyż wymaga zaangażowania tylko jednej jednostki mobilnej wyposażonej w moduł lokalizacji i zdolnej do przenoszenia węzłów sieci w wyznaczone miejsca w przestrzeni roboczej. Istotna jest energooszczędność i możliwy czas pracy węzłów sieci. Będą one większe w przypadku urządzeń, które nie zużywają energii na ruch. Urządzenie dedykowane przenoszeniu węzłów sieci może okresowo ładować własne źródło zasilania, nie zmniejszając zasobów energetycznych samej sieci. Projektowanie mobilnej sieci ad-hoc wymaga podania algorytmu wyznaczania trajektorii ruchu mobilnego obiektu w przyjętej przestrzeni roboczej. Działanie algorytmu polega na obliczeniu położenia urządzenia w kolejnych chwilach czasu. Ruch obiektu jest oczywiście zdeterminowany przez cel i zadania, które ma zrealizować sieć. Zachowanie urządzeń będzie inne w przypadku formowania sieci, np. tworzenia sieci spójnej do monitorowania środowiska, a inne np. w zadaniach śledzenia obiektów intruzów. Rys Wzorce ruchu w mobilnych sieciach ad-hoc. 47
48 Prowadzone są liczne prace badawcze, których celem jest opracowanie algorytmów, które mogą służyć do wyznaczenia trajektorii ruchu obiektów w środowisku fizycznym. Wiele z nich dotyczy robotyki mobilnej. Rozważane są zarówno sytuacje, w których obiekt decyduje o sposobie poruszania się (mobilność sterowana), jak i sytuacje, w których o zmianie jego położenia decyduje środowisko, w którym działa (mobilność niesterowana). Z punktu widzenia sieci ad-hoc algorytmy muszą uwzględniać fakt, iż urządzenia tworzące sieć komunikują się drogą radiową i zasięg komunikacji jest ograniczony. W przypadku tworzenia sieci, która jako całość ma wykonywać określone zadanie, konieczne jest zazwyczaj zapewnienie stałej łączności między węzłami sieci i stacją bazową czyli utrzymanie spójności sieci. W tym przypadku wyznaczając nowe położenie węzła sieci musimy uwzględnić przewidywany ruch pozostałych urządzeń tworzących sieć. W literaturze przedstawiono wiele modeli ruchu urządzeń komunikacji bezprzewodowej [33, 42, 52, 118, 140]. Niestety większość tych algorytmów zakłada istnienie pewnej stałej infrastruktury sieciowej. Np. w algorytmach dla sieci komórkowej przyjmuje się, że wspomniana infrastruktura stanowi węzły pośredniczące w komunikacji, co nie odpowiada charakterystyce przemieszczania się węzłów samoorganizującej się sieci ad-hoc [42]. Autorzy modeli ruchu przedstawionych w literaturze dzielą je na statystyczne i analityczne [42]. W modelach statystycznych wykonuje się obserwacje ruchu rzeczywistych obiektów do modelowania ich zachowania. W modelach analitycznych podaje się odpowiednie formuły pozwalające na wyznaczenie nowej pozycji urządzenia w przestrzeni. W przypadku sieci ad-hoc istnieje mała liczba zastosowań, które mogłyby posłużyć jako źródło danych statystycznych opisujących przemieszczanie się użytkowników sieci. Z tego powodu do opisu ruchu obiektów stosowane są zazwyczaj modele analityczne. Proponowane są modele deterministyczne oraz losowe, w których do wyznaczania ścieżek ruchu wykorzystuje się generator losowy. Ponadto modele analityczne różnią się między sobą poziomem uwzględnienia zależności czasowych (ang. temporal dependencies) i przestrzennych (ang. spatial dependencies) pomiędzy trajektoriami ruchu obiektów oraz ograniczeniami geograficznymi wpływającymi na trasę i inne parametry ruchu. Dodatkowo możemy wyróżnić modele dedykowane konkretnym zastosowaniom sieci ad-hoc (np. pole bitwy) oraz modele przeznaczenia ogólnego. Modele losowe są zazwyczaj stosowane w przypadku niewielkiej wiedzy o charakterystyce ruchu obiektów, bardzo dużej sieci, gdy konieczne jest wprowadzenie uproszczeń, itp. Do najpopularniejszych modeli tego typu należą: model losowego kierunku (ang. random direction model) i model losowego punktu docelowego (ang. random waypoint model). Ograniczenia geograficzne wpływające na trasę ruchu uwzględniono w modelu ruchu po wyznaczonych drogach (ang. Manhattan model lub city section mobility model) i w modelu wykorzystującym graf (ang. graph-based mobility model). Zależności czasowe i przestrzenne pomiędzy trajektoriami ruchu obiektów związane są najczęściej z zadaniami realizowanymi przez grupę obiektów. 48
49 Tego typu rozszerzenia modelu losowego zastosowano w modelu wykorzystującym punkt referencyjny (ang. reference point group mobility model) oraz w modelach mobilności grupowej np. opisujących ruch w szyku (ang. column model). Przegląd popularnych modeli ruchu jest przedstawiony w pracy [140]. W kolejnych podrozdziałach prezentowane są opisy wybranych modeli Indywidualne modele ruchu Spis indywidualnych modeli ruchu dla sieci ad-hoc opisanych w literaturze prezentuje tabela W modelach tego typu trajektoria każdego z węzłów sieci wyznaczana jest niezależnie względem ruchu pozostałych węzłów, z wykorzystaniem wybranego rozkładu losowego. Najczęściej rozważanym modelem z tej grupy jest losowy model ruchu (ang. random mobility model) [42, 46, 52]. W każdej chwili czasowej, zgodnie z wybranym rozkładem prawdopodobieństwa, wyznaczany jest nowy kierunek θ z przedziału [0,2π) oraz nowa szybkość v z przedziału [v min,v max ]. Wartości te są niezależne od siebie i nieskorelowane z wartościami wyznaczonymi dla innych poruszających się obiektów. Jest to dyskretna realizacja modelu ruchów Browna. Model losowy doczekał się wielu realizacji [42, 52], które uwzględniają m.in. warunki brzegowe, początkowe położenia mobilnych obiektów, dodatkowe ograniczenia oraz różne rozkłady prawdopodobieństwa do wyznaczania kierunku i szybkości ruchu. Do podstawowych modyfikacji losowego modelu ruchu należą: 1. Ograniczony losowy model ruchu (ang. restricted random mobility model) [42, 52], w którym wprowadza się preferowany kierunek i preferowaną szybkość dla każdego obiektu mobilnego oddzielnie lub dla wszystkich obiektów mobilnych wspólnie. 2. Wygładzony losowy model ruchu (ang. smooth random mobility model) [46], w którym wprowadza się autokorelację pomiędzy nowym kierunkiem ruchu, a nową szybkością. Modyfikacja ta może opisywać bliższe rzeczywistości zachowanie obiektu mobilnego, np. spadek prędkości przy dużych zmianach kierunku. 3. Model losowego kierunku docelowego (ang. random direction model) [42, 52]. W modelu rozróżnia się okresy, w których obiekt mobilny porusza się w wyznaczonym kierunku lub pozostaje w spoczynku. Czasy trwania tych faz są losowane. 4. Model losowego punktu docelowego (ang. random waypoint model) [47, 169], w którym kierunek losowy zastąpiony jest losowanym punktem docelowym ruchu. Dodatkowo uwzględnione są okresy, w których obiekt mobilny porusza się w kierunku punktu docelowego lub pozostaje w spoczynku. 49
50 5. Losowy model mobilności Gaussa-Markowa (ang. Gauss-Markov mobility model) [52], w którym wprowadzono dodatkowy współczynnik α [0, 1]. Parametr ten opisuje stopień autokorelacji pomiędzy prędkością i kierunkiem ruchu obiektu. 6. Model wektora mobilności (ang. mobility vector model) [85], w którym wprowadzono wektory, do opisu wartości średnich i odchylenia standardowego prędkości i kierunku ruchu obiektu. W wektorach tych zapisano wartości dla każdej osi układu współrzędnych oddzielnie, co umożliwia opis ruchu w trzech wymiarach. Model ten służy do generowanie trajektorii ruchu poszczególnych węzłów z wykorzystaniem rozkładów losowych o różnych parametrach. 7. Model ruchu w mieście (ang. Manhattan model lub city section mobility model) [46, 52], w którym wprowadzono ograniczenia geograficzne w postaci siatki ulic w obszarze miejskim. Przyjmuje się, że obiekty poruszają się tylko po wyznaczonych trasach ulicach. Dodatkowo model można uzupełnić o ograniczenia wymuszane przez zasady ruchu. W przypadku modelu Manhattan obiekt po dotarciu do skrzyżowania losowo wybiera dalszy kierunek ruchu. Wersja city section zakłada losowanie punktu docelowego ruchu, a następnie ruch w wybranym kierunku, stosując algorytm najkrótszej ścieżki. 8. Model wykorzystujący graf (ang. graph-based mobility model) [42]. W modelu infrastruktura drogowa jest przedstawiona za pomocą grafu, w którym ulice są krawędziami, a skrzyżowania węzłami. Obiekt porusza się do wybranego węzła zgodnie z algorytmem najkrótszej ścieżki. 50
51 Tab Indywidualne modele ruchu w sieciach ad-hoc według [140]. Grupa modeli Nazwa modelu Indywidualne modele ruchu Modele autoregresyjne Random walk mobility Random waypoint mobility Smooth random mobility Geographic constraint mobility Realistic random direction mobility Deterministic mobility Partially deterministic mobility Random Gauss-Markov mobility Semi-Markov smooth mobility Steady-state generic mobility Graph-based mobility Hierarchical influence mobility Boundless simulation area mobility Behavioral mobility Fluid-flow mobility Potential field mobility Correlated diffusion mobility Particle-based mobility Autoregressive individual mobility Niektóre z wymienionych modeli ruchu są krytykowane przez autorów prac z zakresu sieci ad-hoc za wprowadzone uproszczenia w modelowaniu ruchu, np. ignorowanie przeszkód, traktowanie obiektów jako punkty w przestrzeni, w sytuacji, gdy są to bryły sztywne, itp. Podstawową zaletą prezentowanych indywidualnych modeli ruchu jest łatwa implementacja modelu w symulatorze oraz duża wydajność symulacji. Stosowanie modeli indywidualnych ogranicza jednak możliwość modelowania sytuacji, w których występują nawet najprostsze zależności pomiędzy ruchem różnych węzłów sieci. Z tego powodu modele indywidualne wykorzystywane są przeważnie do celów analizy protokołów komunikacyjnych niskich warstw modelu OSI oraz zbierania ogólnych statystyk działania sieci ad-hoc. Realistyczne modelowanie ruch obiektów mobilnych we wspólnej przestrzeni wymaga wprowadzenia zależności, które uwzględnią np. konieczność unikania kolizji pomiędzy węzłami oraz pomiędzy węzłami i przeszkodami, konieczność stosowania się do przepisów drogowych, współpracę w realizacji założonego celu działania sieci itd. 51
52 Grupowe modele ruchu Grupowy model ruchu zakłada istnienie zależności przestrzennej i/lub czasowej pomiędzy trasami ruchu wybranych obiektów mobilnych należących do danej grupy. Podobnie jak w przypadku opisanych już modeli indywidualnych w literaturze przedstawiono dużą liczbę możliwych podejść do modelowania ruchu grupy obiektów [42, 52]. Ich listę prezentuje tabela Do najważniejszych należą: 1. Model grawitacyjny (ang. gravity model), nazywany też modelem potencjalnym [42]. Model ten wykorzystuje inspirowany prawami fizyki efekt przyciągania lub odpychania pomiędzy obiektem mobilnym, a odpowiednio zdefiniowanymi punktami oddziaływania. Model jest prosty w implementacji i pozwala na korelację ruchu różnych obiektów mobilnych poprzez wprowadzenie dla nich wspólnych punktów oddziaływania grawitacyjnego. Jest on często stosowany w symulacji robotów mobilnych. Modele grawitacyjne wykorzystują funkcję V opisującą sztucznie wprowadzoną energię potencjalną poruszającego się obiektu [59, 150]. Gradient funkcji V reprezentuje wektor siły F i może zostać wykorzystany do wyznaczenia trajektorii ruchu obiektu. Sztuczna funkcja potencjału V jest zazwyczaj przedstawiana jako suma potencjału przyciągającego V + i potencjału odpychającego V, np. V (d +,d ) = V + (d + ) +V (d ) gdzie d + oznacza odległość pomiędzy obiektem mobilnym, a założonym celem jego ruchu, zaś d jest odległością pomiędzy obiektem mobilnym, a punktem odpychania (np. przeszkodą). Przykładem modelu grawitacyjnego jest model wykorzystujący uproszczone prawo Newtona i opisany w pracy [140]. 2. Model punktu referencyjnego (ang. reference point group mobility RPGM) [42]. W tym podejściu wprowadzono zmieniający swoje położenie punkt odniesienia, względem którego wyznaczane jest położenie obiektów należących do grupy. Założono, że każdy z obiektów porusza się w kierunku wyznaczonych losowo lub przyjętych deterministycznie kolejnych lokalizacji punktu odniesienia. Proponowanych jest kilka wariantów modelu RPGM. Najczęściej w literaturze rozważane są: (a) Model kolumnowy (ang. column model) [42]. Model ten służy do opisu ruchu obiektów poruszających się w kolumnie. Każdy z obiektów należących do kolumny ma wyznaczoną pozycję w szyku kolumny i zmienia swoje położenie poprzez przesunięcia o wektor wyznaczany wspólnie dla całej kolumny. (b) Model społeczności wędrującej (ang. nomadic community model) [42]. Definiowany jest wspólny dla grupy obiektów punkt referencyjny. Punkt ten zmienia swoje położenie w sposób losowy, a trajektoria ruchu jest wyznaczana za pomocą mode- 52
53 lu z grupy przedstawionej w tabeli Obiekty należące do grupy poruszają się niezależnie wokół punktu referencyjnego. (c) Model wspólnego celu (ang. purse model) [42]. Wyznaczany jest wspólny cel dla wszystkich obiektów. Obiekty przemieszczają się w kierunku celu, a trajektoria ich ruchu jest wyznaczana za pomocą modelu wybranego z tabeli Model prędkości referencyjnej (ang. reference velocity group mobility RVGM) [42]. Zależności pomiędzy trajektoriami ruchu obiektów mobilnych zostały wprowadzone przez wyznaczenie wspólnego dla grupy wektora prędkości. Każdy z obiektów mobilnych należących do grupy porusza się z szybkością oraz w kierunku wyznaczonym zgodnie z tym wektorem. W przeciwieństwie do poprzednich modeli ruchu grupowego, w tym przypadku nie zakłada się, że wszystkie poruszające się obiekty muszą znajdować się blisko siebie grupa może być rozproszona. Tab Grupowe modele ruchu w sieciach ad-hoc według [140]. Grupa modeli Nazwa modelu Grupowe modele mobilności Modele rojów i stad Modele autoregresyjne Reference point mobility Reference velocity mobility Reference velocity & acceleration mobility Structured mobility Virtual track-based mobility Drift mobility Group force mobility Flocking mobility Swarm group mobility Autoregressive group mobility Przedstawione grupowe modele ruchu mogą być stosowane w projektowaniu sieci ad-hoc, której węzły zgrupowane są w poruszające się zespoły. Algorytmy grupowe zazwyczaj biorą pod uwagę tylko zależność przestrzenną pomiędzy aktualnymi położeniami poszczególnych członków grupy i są łatwe w implementacji w przypadku prostych scenariuszy działania sieci. Uwzględnienie innych wzajemnych oddziaływań międzywęzłowych takich jak np. unikanie kolizji czy zmiany zasięgu komunikacji bezprzewodowej znacznie utrudnia implementację Dedykowane modele ruchu W przypadku mobilnych sieci ad-hoc, w których obiektem przenoszącym urządzenie komunikacji bezprzewodowej (węzeł sieci) jest człowiek, zaproponowano modele ruchu oparte 53
54 na analizie sieci społecznych. Przyjęto, że więzi społeczne wprowadzają zależności czasowe i przestrzenne pomiędzy trasami ruchu przemieszczających się osób. Jest to dosyć nowe i istotne uzupełnienie obszaru zastosowań sieci bezprzewodowych (tabela 3.6.3). Oprócz modeli sieci społecznej w literaturze opisano również modele nierekurencyjne oraz modele gier wirtualnych. Tab Pozostałe modele ruchu w sieciach ad-hoc według [140]. Grupa modeli Nazwa modelu Modele gier wirtualnych Modele nierekurencyjne Modele sieci społecznej Virtual game-driven mobility Non-recurrent mobility Time-variant mobility Community-based mobility Orbit-based mobility Entropy-based mobility Knowledge-driven mobility Przedstawiony przegląd podejść do modelowania ruchu urządzeń tworzących sieć ad-hoc pokazuje, że jest to wciąż aktualny i stale rozwijający się obszar badań. Wybór modelu, który najlepiej oddaje rzeczywisty ruch węzła sieci jest bardzo trudny i bardzo często zależy od środowiska i zadania realizowanego przez sieć. W rzeczywistych zastosowaniach zależności pomiędzy trajektorią, celem i innymi parametrami ruchu węzłów sieci są bardzo złożone i trudno modelować je za pomocą jednego schematu. Najczęściej kierunek i szybkość poruszania się węzła w danej chwili jest wynikiem decyzji, na którą wpływ mają takie czynniki jak: ukształtowanie terenu i przeszkody, parametry poruszającego się pojazdu, zadania realizowane przez węzeł sieci, ruch innych obiektów, czynniki losowe itd. W następnym rozdziale prezentowany jest autorski model PFM (Potential Function Mobility), który został zastosowany przez autora w prowadzonych przez niego badaniach symulacyjnych sieci ad-hoc [ , 132]. Model ten uwzględnia wiele czynników wpływających na poruszające się obiekty i może być wykorzystany do wyznaczenia trajektorii ruchu pojedynczego urządzenia lub grupy urządzeń. 54
55 3.7. Model ruchu PFM Model ruchu nazwany modelem PFM (Potential Function Mobility) łączy dwa, wspomniane wcześniej, podejścia do generowania trajektorii ruchu: model grawitacyjny stosujący funkcję potencjału [59, 140] oraz model oddziaływań międzycząsteczkowych [138, 140]. Opracowując model PFM oraz wykorzystujący go algorytm wyznaczania trajektorii dla poruszających się urządzeń tworzących bezprzewodową sieć ad-hoc przyjęto szereg założeń. Pierwsza grupa założeń dotyczyła trajektorii i parametrów ruchu, które powinny jak najlepiej odzwierciedlać ruch w rzeczywistym środowisku. Założono konieczność omijania przeszkód, możliwość dostosowania szybkości i trajektorii do wykonywanych operacji, uwzględniono możliwości pojazdu oraz obowiązujące zasady ruchu. Druga grupa wymagań dotyczyła możliwości definiowania różnych zadań, w tym grupowych, dla poruszających się obiektów oraz konieczności utrzymania stałej łączności bezprzewodowej w sieci. Przyjęto również założenia dotyczące implementacji modelu. Ze względu na rozmiary sieci ad-hoc model powinien być stosunkowo prosty, aby zapewnić wysoką wydajność algorytmu wyznaczania trajektorii ruchu Zaªo»enia modelu W modelu PFM zakłada się, że ruch urządzenia D i w przestrzeni roboczej W jest determinowany przez punkt g i będący aktualnym punktem docelowym ruchu, położenia urządzeń, od których węzeł D i może odebrać dane oraz położenia przeszkód i innych obszarów o ograniczonej możliwości ruchu. Zadaniem poruszającego się urządzenia lub urządzeń może być np. dotarcie do pewnego punktu w przestrzeni W, utworzenie sieci gwarantującej utrzymanie stałej komunikacji bezprzewodowej, pokrycie przestrzeni W monitorującymi czujnikami, formowanie konwoju pojazdów, śledzenie ruchomych obiektów itd. Realizacja wymienionych zadań wymusza przemieszczenie węzła D i do punktu, w którym zachowane są odpowiednie odległości od wskazanego punktu docelowego, jak i pozostałych współpracujących z węzłem D i urządzeń. Odległości, które gwarantują jak najlepszą realizację założonego celu ruchu nazwano odległościami referencyjnymi i oznaczono przez dˆ i w przypadku celu g i oraz dˆ i j w przypadku współpracującego urządzenia D j (rys ). Referencyjna odległość ˆ d i może przyjmować różne wartości w zależności od zadania realizowanego przez D i. W przypadku, gdy celem jest ominięcie przeszkody, będzie to jak najmniejsza odległość od dowolnego punktu położonego na brzegu przeszkody, gwarantująca bezpieczne wykonanie zadania. W przypadku, gdy celem obiektu D i będzie ucieczka z obszaru dotkniętego katastrofą, ˆ d i przyjmie wartość większą od szacowanego promienia zagrożonej strefy. Założono, że we wszystkich przypadkach odległość referencyjna ˆ d i musi być większa od 55
56 Rys Węzeł sieci D 1, który porusza się w kierunku celu g 1 i współpracuje z węzłami D 2 i D 3. zera. Założenie to wynika z postaci wykorzystywanej w modelu sztucznej funkcji potencjału oraz uwzględnienia faktu, że w praktyce położenie punktu referencyjnego węzła oraz położenie punktu docelowego wyznaczane są zazwyczaj z pewnym błędem. Podsumowując, celem ruchu urządzenia D i jest osiągnięcie położenia, w którym odległość d i = c i g i pomiędzy punktem referencyjnym c i, a lokalizacją punktu g i jest równa ˆ d i. Jednocześnie odległości d i j = c i c j pomiędzy współpracującymi węzłami sieci muszą odpowiadać przyjętym wartościom dˆ i j ( dˆ i j r ti j ). Spełnienie tych warunków może nie być możliwe np. z powodu rozmieszczenia przeszkód na obszarze działania sieci. Konieczne jest więc wprowadzenie wskaźnika jakości pozwalającego na ocenę stopnia realizacji zadania na podstawie aktualnego położenia urządzenia D i w przestrzeni W. Załóżmy, ze miarą tą jest wartość funkcji potencjału V i, którą zdefiniowano w następnym podrozdziale Sztuczna funkcja potencjaªu Częstym problemem występującym przy tworzeniu modeli ruchu stosujących sztuczne funkcje potencjału V jest dobór odpowiedniej postaci funkcji. Kolejne położenia obiektu są wyznaczane przez rozwiązanie zadnia optymalizacji, w którym funkcją celu jest właśnie funkcja V. Wskazane jest, aby funkcja V była ciągła, różniczkowalna oraz wypukła [59]. Autor zaproponował funkcję, której przebieg prezentuje rysunek Inspiracją był znany w dynamice molekularnej i analizie oddziaływań międzycząsteczkowych w ciekłych kryształach potencjał Lennarda-Jonesa (LJPF) [28, 30, 138, 147]. Cząsteczki fizyczne często są modelowane jako bryły sztywne poddane działaniu sił w polu potencjalnym [31, 152]. Autor zastosował zmodyfikowaną funkcję potencjału (LJPF) do modelowania ruchu urządzeń w sieci ad-hoc. Dla danego węzła D i zdefiniowany został potencjał V i (d i ) zależny od aktualnej odległości od punktu docelowego d i = c i g i oraz siła F i (c i,g i ) = [F ix,f iy,f iz ]. 56
57 gdzie V i (d i ) = [ V i x i, V i y i, V i z i ]. V i (d i ) = F i (c i,g i ) = V i (d i ) = 2 ( ) 2 d ˆi 1. (3.7.1) d i ( ˆd i 2 d i 3 d ˆ ) i 2 d i ( ci g i d i ), (3.7.2) W powyższych wzorach V i oznacza energię potencjalną pomiędzy dwoma punktami c i oraz g i, d i jest aktualną odległością euklidesową pomiędzy punktami c i i g i, ˆ d i jest przyjętą odległością referencyjną. Gradient funkcji potencjału (rys ) pomnożony przez (-1) jest równy sile oddziałującej pomiędzy punktem g i i punktem referencyjnym c i obiektu [151]. W przypadku, gdy węzeł sieci D i znajduje się w odległości referencyjnej od punktu docelowego (d i = ˆ d i ) wartość siły F i oraz wartość energii potencjalnej V i są równe zeru. W tej konfiguracji węzeł sieci nie porusza się i pozostaje w stanie równowagi stabilnej. W sytuacji, gdy węzeł sieci znajduje się w odległości od punktu g i większej od odległości referencyjnej, następuje ruch węzła w kierunku tego punktu ( F i > 0, rys ). W przeciwnym przypadku węzeł oddala się od punktu g i ( F i < 0, rys ). Analogicznie zdefiniowano potencjał V i j oznaczający energię potencjalną pomiędzy punktami referencyjnymi dwóch współpracujących urządzeń D i oraz D j S Ci, gdzie S Ci zbiór urządzeń współpracujących z D i : V i j (d i j ) = F i j (c i,c j ) = V i j (d i j ) = 2 oznacza ( ) 2 d ˆi j 1, (3.7.3) d i j ( d ˆ 2 i j 3 d ˆ ) d i j 2 i j d i j ( ci c j d i j ), (3.7.4) gdzie d i j = c i c j jest odległością euklidesową pomiędzy punktami referencyjnymi urządzeń D i i D j, a dˆ i j jest przyjętą odległością referencyjną dla potencjału V i j. Dodatkowo, z punktem g i oraz współpracującymi urządzeniami wiążemy parametry ε i [0,1] i ε i j [0,1] określające ważność punktu docelowego oraz znaczenie utrzymania komunikacji z poszczególnymi urządzeniami. Zakłada się, że w przypadku, gdy ε i = 0 i ε i j = 0 dla każdego urządzenia D j S Ci, urządzenie D i nie porusza się. Całkowita energia potencjalna urządzenia D i równa jest ważonej sumie potencjału V i oraz energii związanych z oddziaływaniem wszystkich współpracujących urządzeń ze zbioru S Ci : V i (d i,d i,1,...,d i,n ) = ε i V i (d i ) + ε i j V i j (d i j ). (3.7.5) D j S Ci 57
58 Rys Funkcja potencjału ˆ d i = 20. Rys Wykres wartości siły F i, ˆ d i = 20. Tak jak w mechanice klasycznej [74, 171] na węzeł działa w tym przypadku siła wypadkowa będącą sumą sił składowych: F i (c i,g i,c j,...,c N ) = ε i F i (c i,g i ) + ε i j F i j (c i,c j ). (3.7.6) D j S Ci Podsumowując, dla każdego węzła D i w danej chwili czasu określamy zestaw parametrów wpływających na ruch urządzenia. Do parametrów tych należą aktualny punkt docelowy g i, jego waga ε i i odległość referencyjna od celu ˆ d i oraz zbiór oddziaływań węzłów współpracujących D j S Ci. Wpływ węzła D j na ruch urządzenia D i opisano, podobnie jak cel ruchu, za pomocą trzech parametrów: punktu referencyjnego c j urządzenia D j, odległości referencyjnej od tego punktu dˆ i j oraz wagi ε i j. Docelowe położenie urządzenia D i (położenie punktu referencyjnego c i i wierzchołków obwoluty Env i ) w przestrzeni W w kolejnej chwili jest wyznaczane przez rozwiązanie zadania 58
59 minimalizacji energii potencjalnej urządzenia. Zadanie optymalizacji położenia węzła D i zdefiniowano w następujący sposób: min c i,p 1 i,...,pp i i ( ) 2 d ˆi V i = ε i 1 + d i D j S Ci ε i j ( ) 2 d ˆi j 1, (3.7.7) d i j przy ograniczeniach na zachowanie kształtu bryły sztywnej (3.3.1) i (3.3.2), szybkość pojazdu v i (3.3.5) oraz omijanie przeszkód (3.3.3). Powyższe zadanie jest każdorazowo rozwiązywane dla wszystkich węzłów sieci ad-hoc D i S D Algorytm wyznaczania trajektorii ruchu w zªa sieci W wyniku rozwiązania zadania optymalizacji (3.7.7) otrzymujemy optymalne położenia węzła sieci ad-hoc w kolejnej chwili czasowej. Przemieszczający się węzeł musi omijać przeszkody, które mogą znajdować się na trasie jego ruchu oraz unikać kolizji z pozostałymi węzłami. Opracowany algorytm SPFM wyznaczania trajektorii ruchu węzła D i składa się z czterech operacji wykonywanych cyklicznie w kolejnych chwilach czasu t k. Algorytm kończy działanie w chwili osiągnięcia celu lub założonego czasu symulacji t k = T K. Algorytm 1 (SPFM) 1: t k = 0 2: while t k T K and V i > 0 do 3: Aktualizacja zmiennych stanu Xi M : Odczyt położenia urządzenia. 4: Aktualizacja parametrów modelu: Odczyt i analiza otrzymanych komunikatów. 5: Aktualizacja zakłóceń Zi O : Odczyt mapy lub aktualizacja listy zidentyfikowanych przeszkód S O. 6: Wyznaczenie przesunięcia i obrotu Ui M : Wyznaczenie nowego położenia urządzenia D i przez rozwiązanie zadania optymalizacji (3.7.7). 7: t k+1 = t k + t 8: end while W celu uproszczenia obliczeń oryginalne zadanie optymalizacji (3.7.7) zostało przekształcone do postaci reprezentowanej przez formuły (3.7.8)-(3.7.10). Zastosowano klasyczne podejście z zewnętrzną funkcją kary. Wprowadzono karę Φ i za niespełnienie ograniczeń (3.3.1) i (3.3.2). Po przekształceniu zadanie przyjmuje postać: 59
60 Zadanie Z 0 [ min ε i V i (d i,(k+1) ) + c i,(k+1),p 1 i,(k+1),...,pp i i,(k+1) D j S Ci,(k) ε i j V i j (d i j,(k+1) ) +Φ i (c i,(k+1),p 1 i,(k+1),...,pp i i,(k+1) ) = ( ) 2 ( ) 2 dˆ i = ε i c i,(k+1) g i,(k) 1 dˆ i j + ε i j c i,(k+1) c j,(k) 1 ( + a=1,...,p i 1 b=a+1,...,p i D j S Ci,(k) + a=1,...,p i ( ) r (a) 2 i p a i,(k+1) c i,(k+1) ( r (a,b) i p a i,(k+1) pb i,(k+1) ) 2) ], (3.7.8) przy ograniczeniach c i,(k+1) c i,(k) t v maxi, (3.7.9) D j S D, Vol i,(k+1) Vol j,(k) = /0, (3.7.10) O j S O gdzie punkty c i,(k+1) oraz p 1 i,(k+1),...,pp i i,(k+1) określają położenie węzła sieci D i chwili czasowej t k+1 = t k + t, t jest krokiem zmiany czasu, Vol i,(k+1) jest wnętrzem wielościanu ograniczającego węzeł D i w chwili t k+1, a Vol j,(k) jest wnętrzem wielościanu ograniczającego przeszkodę O j lub urządzenie D j w chwili t k. Ograniczenie (3.7.9) gwarantuje, że węzeł D i przesunie się do wyznaczonego miejsca nie przekraczając dopuszczalnej szybkości maksymalnej v maxi. Zastosowana funkcja kary Φ i odpowiada energii sprężystości, która ma niezerową wartość w sytuacji, gdy zmianie ulegnie kształt węzła sieci. Pomimo wprowadzenia funkcji kary Φ i, zadanie (3.7.8)-(3.7.10) jest nadal trudne do rozwiązania. Zdecydowano się na zrelaksowanie zadania Z0 i zastosowanie do jego rozwiązania metody heurystycznej. Zaproponowano algorytm realizowany w trzech etapach, gdzie w każdym z etapów rozwiązywane jest odpowiednio zrelaksowane zadanie Z0: Etap 1 Wyznaczenie położenia punktu referencyjnego węzła sieci c i w chwili t k+1. Etap 2 Wyznaczenie położenia wierzchołków wielościanu Env i w chwili t k+1. Etap 3 Modyfikacja położenia punktu referencyjnego c i w przypadku niespełnienia ograniczeń (3.3.1) i (3.3.2). Działanie algorytmu jest przedstawione na przykładzie. Przykład: Rozważmy system złożony z urządzenia mobilnego D i w kształcie prostokąta, statycznej przeszkody O l zlokalizowanej w przestrzeni roboczej W oraz punktu docelowego g i 60
61 (rys ). Obliczenia są wykonywane w chwili t k. Zadanie polega na przesunięciu urządzenia D i w stronę punktu g i. Rys Sytuacja początkowa: węzeł sieci, punkt docelowy oraz przeszkoda (chwila t k ). Etap 1: Wyznaczenie pozycji punktu referencyjnego c i,(k+1) obiektu D i, w której powinien się znaleźć w chwili t k+1. Rozwiązywane jest zadanie Z 1 przy założeniu, że wierzchołki wielościanu Env i,(k) nie zmieniają położenia. Przykładowe wyniki obliczeń przedstawione są na rys Zadanie Z 1 = ε i ( min [ε i V i (d i,(k+1) ) + c i,(k+1) ε i j V i j (d i j,(k+1) ) = D j S Ci,(k) ) 2 ( ) 2 dˆ i c i,(k+1) g i,(k) 1 dˆ ] i j + ε i j c i,(k+1) c j,(k) 1, D j S Ci,(k) (3.7.11) przy ograniczeniach c i,(k+1) c i,(k) t v maxi, (3.7.12) D j S D, c i,(k+1) Vol j,(k) = /0. (3.7.13) O j S O Rys Etap 1. Wyznaczenie nowego położenia punktu c i. Etap 2: Wyznaczenie przesunięcia wierzchołków wielościanu Env i,(k+1). Rozwiązywane jest zadanie Z 2, przy założeniu, że punkt referencyjny c i,(k+1) wyznaczony w etapie 1 nie zmienia położenia. Wyniki przykładowych obliczeń prezentowane są na rysunku
62 Zadanie Z 2 ( + a=1,...,p i 1 [ min Φ i (c i,(k+1),p 1 i,(k+1),...,pp i p 1 i,(k+1) ) = i,(k+1),...,pp i i,(k+1) ( b=a+1,...,p i = a=1,...,p i ) r (a) 2 i p a i,(k+1) c i,(k+1) ( r (a,b) i p a i,(k+1) pb i,(k+1) ) 2) ], (3.7.14) przy ograniczeniu D j S D, Vol i,(k+1) Vol j,(k) = /0. (3.7.15) O j S O Rys Etap 2. Wyznaczone nowe położenia punktów p 1 i,p2 i,p3 i i p 4 i. Etap 3: Modyfikacja położenia punktu c i,(k+1) gwarantująca spełnienie ograniczenia na kształt obiektu. Rozwiązywane jest zadanie Z 3 przy założeniu, że punkty p 1 i,(k+1),...,pp i i,(k+1) wyznaczone w etapie 2 nie zmieniają swojego położenia. Przykładowe wyniki rozwiązania zadania Z 3 prezentowane są na rysunku Zadanie Z 3 [ min Φ i (c i,(k+1),p 1 c i,(k+1),...,pp i i,(k+1) ) = i,(k+1) ( ) 2 ] = a=1,...,p i r (a) i p a i,(k+1) c i,(k+1), (3.7.16) Rys Etap 3. Docelowe położenie punktu c i,(k+1) w chwili t k+1. 62
63 Wykorzystując zadania Z 1, Z 2, Z 3 oraz algorytm SPFM możemy sformułować heurystyczny algorytm HPFM wyznaczania trajektorii ruchu węzła w sieci ad-hoc. Przykładowe wyniki działania algorytmu HPFM prezentowane są na rys Algorytm 2 (HPFM) 1: t k = 0 2: while t k T K and V i > 0 do 3: Aktualizacja zmiennych stanu Xi M : Odczyt położenia urządzenia. 4: Aktualizacja danych wejściowych Ui M : Odczyt i analiza otrzymanych komunikatów sterujących. 5: Aktualizacja zakłóceń Z O : Odczyt mapy lub aktualizacja listy zidentyfikowanych przeszkód S O. 6: Wyznaczenie położenia punktu c i,(k+1) : rozwiązanie zadania Z 1. 7: Wyznaczenie położenia wierzchołków wielościanu Env i,(k+1) : rozwiązanie zadania Z 2. 8: Wyznaczenie docelowego położenia punktu c i,(k+1) : rozwiązanie zadania Z 3. 9: t k+1 = t k + t 10: end while Rys Położenie węzła D i wyznaczone za pomocą algorytmu HPFM Realizacja algorytmu HPFM w symulatorze Realizacja algorytmu HPFM dla celów eksperymentów symulacyjnych lub planowania ruchu urządzeń w rzeczywistych sieciach wymaga rozwiązania szeregu problemów. Należą do nich m.in. wybór wydajnego algorytmu rozwiązywania zadania optymalizacji, ustalenia strategii omijania przeszkód oraz sposobu radzenia sobie z błędami lokalizacji urządzenia wynikającymi z ruchu i ograniczeń modułu lokalizacji. Wyznaczenie trajektorii ruchu węzła wymaga wielokrotnego rozwiązania trzech zadań optymalizacji. Do rozwiązania zadań Z 1, Z 2 oraz Z 3 można zastosować metodę najszybszego spadku. Warto zauważyć, że kierunek minus gradientu odpowiada kierunkowi wektora siły generowanej przez proponowaną sztuczną funkcję potencjału (3.7.2). Autor zastosował wymienioną technikę wzbogacając ją o modyfikację kierunku poszukiwań. Uzupełnienie to stosowane jest w sytuacji, gdy wyznaczony kierunek poszukiwań narusza ograniczenia zadania optymalizacji. W efekcie otrzymano cztery strategie omijania przeszkody: L, R, D oraz A, które zastępują 63
64 ograniczenie (3.3.3) i pozwalają na uproszczenie obliczeń związanych z rozwiązaniem zadań Z1, Z2 oraz Z3. Pierwsze trzy strategie związane są z prostą metodą modyfikacji kierunku wektora przesunięcia c i,(k+1) c i,(k). Nowy kierunek jest równoległy do krawędzi przeszkody, a jego zwrot wybierany jest zgodnie z jedną z trzech przyjętych strategii omijania przeszkody (rys ): L omijanie przeszkody z lewej strony, R omijanie przeszkody z prawej strony, D dynamiczny wybór strony, z której przeszkoda zostanie ominięta. Rys Zastosowane metody modyfikacji kierunku ruchu L oraz R. W przypadku strategii D zwrot przesunięcia będzie taki, jak w strategii L. W każdym kroku algorytmu HPFM sprawdzane jest, czy planowany ruch obiektu koliduje z przeszkodą. Jeżeli taka sytuacja ma miejsce, to kierunek ruchu jest modyfikowany tak, aby obiekt poruszał się w lewo (L) lub w prawo (R) wzdłuż krawędzi przeszkody. W wariancie D przeszkoda omijana jest z lewej lub z prawej strony równolegle do krawędzi przeszkody. Zwrot wektora przesunięcia c i,(k+1) c i,(k) w wariancie D wybierany jest tak, aby uzyskane nowe położenie urządzenia było bliższe położeniu punktu docelowego uzyskanego w sytuacji bez przeszkód. Metoda D pozwala na przemieszczanie się obiektu wzdłuż najkrótszej ścieżki, ale w przypadku napotkania przeszkód o kształcie niewypukłym może spowodować zablokowanie ruchu pojazdu we wnęce przeszkody. Wyznaczone w każdej iteracji algorytmu nowe położenie obiektu musi być ponownie sprawdzone pod kątem możliwej kolizji z przeszkodą. Jeżeli istnieje konieczność powtórzenia modyfikacji kierunku przesunięcia w wyniku wykrycia kolizji, to wartość wektora przesunięcia jest zmniejszana (np. mnożąc przez skalar 0.9). Procedura jest powtarzana aż do uzyskania wektora c i,(k+1) c i,(k) spełniającego ograniczenia. Porównanie wyznaczonych trajektorii ruchu grupy czterech pojazdów w przypadku strategii L, R oraz D zaprezentowano na rysunku Jeden z obiektów jest liderem grupy realizującym główny cel ruchu, a pozostałe trzy podążają za nim. Obiekty startują z lewego górnego rogu przestrzeni roboczej o kształcie kwadratu i przemieszczają się w kierunku prawego dolnego rogu przestrzeni. Na drodze urządzeń jest pięć przeszkód o kwadratowym kształcie. 64
65 Rys Trajektorie ruchu czterech obiektów mobilnych poruszających się w grupie. Strategia omijania przeszkody D, L oraz R. Wyniki z symulatora MobASim [128]. Strategia A omijania przeszkody związana jest z wprowadzeniem do funkcji celu zadania (3.7.7) dodatkowego zbioru H i zawierającego L Hi punktów oddziaływania energii potencjalnej. Punkty te modyfikują kierunek ruchu urządzenia D i w celu uniknięcia kolizji z przeszkodą. W przypadku, gdy planowany wektor przesunięcia (c i,(k+1) c i,(k) ) obiektu D i przecina się z krawędzią przeszkody, do zadania optymalizacji wprowadzane jest dodatkowe oddziaływanie odpychający punkt odniesienia h l leżący na ograniczeniu i zlokalizowany możliwie najbliżej punktu referencyjnego obiektu c i,(k). Odległość referencyjna od h l wynosi v maxi t. Waga ε il powinna być większa niż suma wag pozostałych oddziaływań niezwiązanych z modyfikacją kierunku przesunięcia. Oczekiwanym efektem wprowadzonej modyfikacji jest wypychanie obiektu D i z obszaru położonego bliżej niż v maxi t od brzegu przeszkody. W przypadku, gdy odległość d il = c i,(k+1) h l jest większa niż v maxi t, wagę ε il ustalamy równą 0 i punkt h l przestaje oddziaływać na ruch urządzenia. Po wprowadzeniu dodatkowego punktu h l konieczne jest ponowne rozwiązanie zadania optymalizacji i powtórzenie procedury sprawdzającej naruszenie ograniczeń. W sytuacji, gdy nowy wektor przesunięcia nadal nie spełnia ograniczeń, generowany jest kolejny punkt do zbioru H i. Wszystkie wygenerowane w ten sposób dodatkowe punkty mogą być zapamiętywane w lokalnej strukturze danych i ponownie wykorzystane podczas wyznaczania trajektorii ruchu węzła sieci. W ten sposób każdy z węzłów gromadzi stopniowo wiedzę na temat rozmieszczenia przeszkód na obszarze działania sieci. Zakłada się, że informacje te są co pewien okres czasu weryfikowane, ponieważ dopuszczono możliwość zmiany położenia przez przeszkodę. Zmodyfikowana funkcja celu zadania (3.7.7) przyjmuje następującą postać: ( ) 2 ( d ˆi d ˆi j min [V i = ε i 1 + c i,p 1 i,...,pp i d i ε i j i D j S Ci h l H i ε il d i j 1 ( vmaxi t d il 1 ) 2 + ) 2 ], (3.7.17) 65
66 Wyznaczona trajektoria ruchu zależy od położenia punktu referencyjnego c i względem wierzchołków obwoluty Env i obiektu D i. Położenie punktu c i wpływa na zmianę orientacji poruszającego się obiektu. Pokazuje to rysunek Przedstawiono na nim położenia prostokątnego urządzenia mobilnego w kolejnych chwilach czasu (t k = 0,2.5,5,7.5,10). Różne warianty wyboru punktu referencyjnego c i (oznaczony kolorem czerwonym) powodują, że orientacja obiektu D i zmienia się w trakcie ruchu w różny sposób. Jak łatwo zauważyć punkt c i można traktować jako punkt zaczepienia siły, w tym przypadku przyciągającej, z jaką punkt docelowy g i (oznaczony kolorem niebieskim) oddziałuje na obiekt D i. Rys Wpływ położenia punktu referencyjnego c i na orientację obiektu D i podczas przemieszczania się. Podczas wyznaczania trajektorii ruchu według zaproponowanego algorytmu, mogą wystąpić problemy z zatrzymaniem urządzenia w punkcie docelowym. Problemy te są związane z ograniczeniem na szybkość maksymalną przemieszczającego się urządzenia (3.3.5) oraz doborem kroku zmiany czasu t. Położenie urządzenia nie powinno zmieniać się, jeżeli punkt referencyjny c i,(k) obiektu D i znajduje się w otoczeniu minimum sztucznej funkcji potencjału (3.7.5). Uzyskanie położenia, w którym siła (3.7.6) wywołana energią potencjalną jest dokładnie równa 0, może nie być możliwe. Jest to spowodowane niedokładnością wyznaczania 66
67 położenia punktu c i,(k) oraz niezerowym krokiem zmiany czasu t. Może to skutkować wystąpieniem oscylacji w przypadku, gdy urządzenia znajdują się w otoczeniu punktu, w którym osiągają minimum energii potencjalnej. Zjawisko to jest szczególnie częste w przypadku założenia konieczności współpracy węzłów sieci (np. samoorganizacja, utrzymanie szyku w grupie pojazdów, itp.). Wspomniane niepożądane efekty mogą być wyeliminowane przez wprowadzenie do algorytmu HPFM ograniczenia na minimalną szybkość pojazdu v mini. W sytuacji, gdy przesunięcie c i,(k+1) c i,(k) obiektu mobilnego jest większe od 0 i mniejsze od t v mini przyjmuje się, że wartość prędkości węzła sieci jest równa 0, a c i,(k+1) = c i(k). Odpowiedni dobór szybkości minimalnej pozwala na zatrzymanie obiektu mobilnego w bardzo bliskim otoczeniu punktu docelowego. Zastosowana w modelu PFM postać sztucznej funkcji potencjału wymaga, aby odległość punktu referencyjnego urządzenia D i od jego celu i punktów referencyjnych współpracujących z nim urządzeń była większa od 0. Z powodu ograniczonej dokładności w pomiarze położenia urządzenia nie można wykluczyć sytuacji, w której zmierzone położenie punktu referencyjnego c i jest takie samo jak położenie punktu g i, punktu dodatkowego h l lub punktu referencyjnego urządzenia współpracującego. Przypadek ten można wyeliminować zakładając, że współrzędne położenia punktu docelowego g i = [x gi,y gi,z gi ] oraz punktu dodatkowego h l = [x hl,y hl,z hl ] podawane są w postaci przedziałów uwzględniających możliwy błąd ich pomiaru C x 0,C y 0,C z 0: [ ] g i [x gi C x,x gi +C x ],[y gi C y,y gi +C y ],[z gi C z,z gi +C z ], [ ] h l [x l C x,x l +C x ],[y l C y,y l +C y ],[z l C z,z l +C z ]. (3.7.18) Przyjęto, że punkty g i i h l znajdują się wewnątrz kostki o wierzchołkach w punktach o współrzędnych równych krańcom wymienionych przedziałów. Podobnie zdefiniowano położenie punktu referencyjnego c j = [x j,y j,z j ] urządzenia D j współpracującego z D i. Dodatkowo założono, że błąd pomiaru współrzędnych zmieniających się w wyniku ruchu urządzenia, należy zwiększyć o średnią drogę, jaką może pokonać urządzenie D j w czasie t. Otrzymano następujący zestaw przedziałów: c j [ ] [x j x j,x j + x j ],[y j y j,y j + y j ],[z j z j,z j + z j ], (3.7.19) gdzie x j = C x + v x j,(k) t 2, y j = C y + v y j,(k) t 2, z j = C z + v z j,(k) t 2, a v x j,(k), v y j,(k) i v z j,(k) są współrzędnymi wektora prędkości urządzenia D j w chwili t k wzdłuż odpowiednich osi x, y i z. Kluczowe, z punktu widzenia algorytmu HPFM, jest wyznaczenie odległości pomiędzy punktem referencyjnym urządzenia, a punktem docelowym i punktami referencyjnymi współpracujących z nim urządzeń. Korzystając z arytmetyki przedziałowej oraz uwzględniając ogra- 67
68 niczenia d i > 0, d i j > 0 i d il > 0 można wyznaczyć przedziały d i [d mini,d maxi ], d il [d minil,d maxil ] oraz d i j [d mini j,d maxi j ], do których należą szukane odległości. Wybrane niezerowe elementy tych przedziałów mogą posłużyć do wyznaczenia możliwych wartości sztucznej funkcji potencjału oraz siły działającej na urządzenie D i. W wykonanym przez autora symulatorze MobASim [128] przyjęto, że odległość pomiędzy współpracującymi urządzeniami jest równa wyznaczonej wartości minimalnej d mini j, a odległość pomiędzy celem lub punktem dodatkowym i urządzeniem wynosi odpowiednio d maxi i d maxil. Pozwala to zmniejszyć ryzyko zderzenia urządzeń poruszających się w kierunku tego samego punktu docelowego oraz znacząco ograniczyć zjawisko oscylacji w ruchu współpracujących urządzeń sieci ad-hoc. Przy takim założeniu sztuczna funkcja potencjału dla urządzenia D i przyjmuje następującą postać: V i (d maxi,d mini,1,...,d mini,n,d maxi,1,...,d maxi,l H ) = ε i V i (d maxi ) + ε i j V i j (d mini j ) + ε il V il (d maxil ). D j S Ci h l H i (3.7.20) W zastosowaniach praktycznych szybkość poruszającego się obiektu jest dostosowywana do wykonywanych przez niego manewrów. Wymaganie to powinno być również uwzględnione w algorytmie generowania trajektorii ruchu. Autor zaproponował mechanizm dynamicznego skalowania szybkości w zależności od tego, czy przewidywany prostoliniowy tor ruchu pojazdu koliduje z przeszkodą. W tym celu oprócz szybkości maksymalnej v maxi wprowadzono dodatkowe parametry ruchu pojazdu: d b maksymalną drogę hamowania liczoną dla szybkości maksymalnej v maxi oraz d v maksymalną odległość z jakiej pojazd jest w stanie zidentyfikować przeszkodę. Oczywiste jest, że wartość d v powinna być większa od maksymalnej drogi hamowania d b. Wprowadzając wymienione parametry do wyniku zadania Z 1 wyznaczany jest prognozowany prostoliniowy tor ruchu pojazdu r i,v,(k). r i,v,(k) = d v (c i,(k+1) c i,(k) ) c i,(k+1) c i,(k) (3.7.21) Następnie wyznaczana jest wartość d o oznaczająca odległość od najbliższej przeszkody kolidującej z torem ruchu pojazdu. d o = min{ Ol S O r i,v,(k) (r i,v,(k) Env l,(k) ) } (3.7.22) W przypadku, gdy d o < d b, szybkość obiektu jest zmniejszana zgodnie ze wzorem: v i = (v maxi ) 2 d o d b. (3.7.23) 68
69 Nowe położenie punktu referencyjnego c i,(k+1) można wyznaczyć dodając poprawkę do rozwiązania zadania Z 1 lub ponownie rozwiązać zadanie Z 1 przyjmując v maxi = v i. c i,(k+1) = c i,(k) + v i r i,v,(k) r i,v,(k) (3.7.24) Efektem wprowadzenia dynamicznego skalowania szybkości węzła sieci ad-hoc jest zmniejszenie wartości prędkości pojazdów w przypadku zbliżania się do przeszkód i przy zmianie kierunku ruchu. Tym sposobem symulowany ruch obiektu lepiej oddaje rzeczywisty ruch urządzeń. Opisane powyżej modyfikacje związane z usuwaniem oscylacji, poprawieniem stabilności i dynamicznym dostosowaniem szybkości pojazdu do wykonywanych manewrów uwzględnia algorytm DHPFM będący modyfikacją HPFM. Strategie omijania przeszkód zostały bezpośrednio ujęte w metodzie rozwiązywania zadania Z1, Z2 oraz Z3. Algorytm 3 (DHPFM) 1: t k = 0 2: while t k T K and V i > 0 do 3: Aktualizacja zmiennych stanu Xi M : Odczyt położenia urządzenia. 4: Aktualizacja danych wejściowych Ui M : Odczyt i analiza otrzymanych komunikatów sterujących. 5: Aktualizacja zakłóceń Z O : Odczyt mapy lub aktualizacja listy zidentyfikowanych przeszkód S O. 6: Wyznaczenie położenia punktu c i,(k+1) : rozwiązanie zadania Z 1. 7: if c i,(k+1) c i,(k) < t v mini then 8: c i,(k+1) = c i,(k) 9: end if 10: Wyznaczenie d o : odległości od najbliższej przeszkody kolidującej z torem ruchu. 11: if (d o < d b ) then 12: Wyznaczenie nowej wartości prędkości v i. 13: Modyfikacja położenia punktu referencyjnego c i,(k+1). 14: end if 15: Wyznaczenie położenia wierzchołków wielościanu Env i,(k+1) : rozwiązanie zadania Z 2. 16: Wyznaczenie docelowego położenia punktu c i,(k+1) : rozwiązanie zadania Z 3. 17: t k+1 = t k + t 18: end while Działanie algorytmu DHPFM prezentują eksperymenty symulacyjne opisane w rozdziale 7. 69
70 Rozdziaª 4 Symulacja komputerowa w projektowaniu sieci teleinformatycznych 4.1. Symulacja systemów zdarze«dyskretnych Projektowanie bezprzewodowych sieci ad-hoc, podobnie jak innych złożonych systemów, jest wspierane przez eksperymenty symulacyjne. Stany procesów przebiegających w systemach rzeczywistych zmieniają się w czasie. Celem eksperymentu symulacyjnego jest odtwarzanie zachowania się systemu wraz z upływem czasu. W zależności od sposobu zmiany czasu możemy mówić o trzech klasach systemów i odpowiadających im trzech rodzajach symulacji [37, 124, 172]: symulacji z czasem ciągłym, symulacji z czasem dyskretnym i symulacji zdarzeń dyskretnych. W symulacji systemów zdarzeń dyskretnych zmiany stanu symulowanego systemu i postęp w przetwarzaniu analizowanego procesu następują w dyskretnych chwilach czasu wirtualnego pod wpływem zdarzeń. Przebieg symulacji można opisać przez kolejkę punktów czasowych, w których zaobserwowano zdarzenia określonych typów zmieniające stan symulowanego systemu. W sieciach teleinformatycznych, w tym sieciach ad-hoc, wszelkie zmiany są zazwyczaj wywoływane przez pojawiające się zdarzenia. Stąd symulatory sieci to zazwyczaj symulatory zdarzeń dyskretnych. Model przygotowany do celów symulacji jest tu zdefiniowany jako zbiór stanów i zdarzeń. Przebieg symulacji jest realizowany jako ciąg występujących w systemie zdarzeń. Ich skutki są reprezentowane przez zmiany stanu systemu. Przyszłe zdarzenia są uszeregowane zgodnie z czasem ich wystąpienia i umieszczone na liście zdarzeń. W tym przypadku czas zmienia się w sposób nieregularny. Zgodnie z zaproponowaną w pracy [124, 172] specyfikacją DEVS (ang. Discrete Event System Specification) model systemu zdarzeń dyskretnych 70
71 składa się z następujących zmiennych i funkcji: DEV S = (U,X,Y, f int, f ext,g, f t ), (4.1.1) gdzie U jest zbiorem zdarzeń wejściowych, X zbiorem zmiennych stanu, Y zbiorem wyjść, f int : X X wewnętrzną funkcją przejścia stanu (zmiana stanu wywołana zdarzeniem wewnętrznym), f ext : X U X zewnętrzną funkcją przejścia stanu (zmiana stanu wywołana zdarzeniem zewnętrznym), g : X U Y funkcją generującą wyjścia z modelu, a f t : X R + {0} funkcją wyzwalającą zmianę czasu w wyniku obsługi zdarzenia. Przedstawiony formalizm pierwotnie służył tylko modelowaniu i symulacji systemów zdarzeniowych. Próby zastosowania go w modelowaniu innych systemów zaowocowały wieloma odmianami dedykowanymi wybranym klasom systemów i ich symulacji (np. w wyniku kwantyzacji systemów ciągłych). Wśród tych klas znajduje się równoległa symulacja dyskretna, której specyfikacja uwzględnia dodatkowo funkcję f con : X U X wyboru jednego zdarzenia z dwóch jednoczesnych zdarzeń: wewnętrznego i zewnętrznego. W symulacji komputerowej możemy rozróżnić dwie dyskretne skale czasowe. Do określania kolejności zdarzeń stosuje się wirtualny czas, opisujący kolejność procesów zachodzących w symulowanym systemie. Czas ten nazywamy czasem symulowanym. Jego zmiany ustalane są przez twórcę modelu symulacyjnego. Dyskretyzacja skali czasu symulowanego nie jest rozwiązaniem idealnym, należy jednak pamiętać, że w rzeczywistości również nie dysponujemy nieskończenie doskonałymi urządzeniami pomiarowymi. Istnieje pewna minimalna, mierzalna wartość t s jednostka, która pozwala na odróżnienie dwóch punktów na osi czasu. Przyjmujemy, że zdarzenia, które wystąpiły w odstępie czasowym mniejszym niż ta wartość, są zdarzeniami jednoczesnymi lub tworzą jedno zdarzenie. Dla odróżnienia można podać drugą skalę czasową, określającą rzeczywisty czas wykonania eksperymentu - czas symulacji. Zmiany czasu symulacji nie zależą oczywiście od twórców modelu symulacyjnego. Zazwyczaj obie wspomniane skale czasowe są niezależne od siebie. W wielu przypadkach badaczom zależy na jak najszybszym wykonaniu obliczeń. Wskazane jest, aby zgodnie z tym wymaganiem czas symulowany biegł szybciej niż czas symulacji, co daje obliczeniom symulacyjnym przewagę nad bezpośrednim testowaniem systemów rzeczywistych. Innym przypadkiem są symulacje realizowane w czasie rzeczywistym, gdzie przebieg symulowanego procesu jest wizualizowany na bieżąco i uwzględniana jest interakcja z użytkownikiem (np. symulatory kierowania pojazdami). Realizacja takich symulatorów wymaga mechanizmów wiążących czas symulowany z czasem symulacji tak, aby użytkownik końcowy w jak najmniejszym stopniu odczuwał różnicę pomiędzy symulatorem, a systemem rzeczywistym. Mówimy wówczas o symulacji z czasem rzeczywistym lub symulacji ze skalowanym czasem rzeczywistym. Symulatory prezentowane w niniejszej pracy są dedykowane zadaniom wspierającym projektowanie, 71
72 a więc ich wydajność jest jedną z kluczowych cech. Oznaczmy przez T K horyzont symulacji. Ze względu na sposób określenia wartości T K, rozróżniamy dwie podstawowe grupy symulacji zdarzeniowych: Symulacja ze skończonym czasem wirtualnym (ang. terminating simulation), gdzie punkt końcowy analizowanego czasu wirtualnego T K jest ściśle określany na podstawie cech modelu. Przeważnie jest znany a priori i implementowany za pomocą zdarzenia z czasem wystąpienia T K, które kończy eksperyment. Wirtualny czas zakończenia symulacji może mieć również charakter niedeterministyczny, zawsze jednak musi wynikać z natury symulowanego systemu. Oznacza to jednocześnie, że symulowany proces musi mieć określone i rozważane w symulacji warunki zakończenia, a warunki początkowe symulacji mają istotny wpływ na uzyskane wyniki końcowe. Symulacja z nieskończonym czasem wirtualnym (ang. nonterminating simulation), w której symulowany proces nie ma wyraźnie określonych warunków zakończenia. Chwila czasowa T K jest arbitralnie określana przez twórcę symulacji, np. na podstawie decyzji o osiągnięciu stanu ustalonego w systemie. W przypadku analizy statystycznej wyników symulacji zakładamy, że T K dąży do nieskończoności. Horyzont czasowy symulacji musi być odpowiednio duży, aby warunki początkowe nie miały istotnego wpływu na wynik symulacji. Symulacja komputerowa to eksperyment z modelem, tak więc pierwszym etapem prac projektanta systemu jest budowa modeli opisujących zachodzące w nim procesy. Technikom modelowania, w tym realizacji modeli symulacyjnych, poświęcone są liczne pozycje w literaturze [37, 38, 68, 75, 78, 97, 101, 112, 116, 122, 172]. Ze względu na złożoność rozważanych w pracy sieci ad-hoc, autor tworząc model symulacyjny zastosował podejście opisane w pracach [68, 172], gdzie proponuje się podział modelu systemu na mniejsze modele, a następnie zdefiniowanie interakcji pomiędzy tymi modelami za pomocą komunikatów, których przesłanie jest jednoznaczne z wystąpieniem zdarzenia w systemie. Do opisu złożonych sieci wykorzystana została specyfikacja DEVN (ang. Discrete Event Specified Network Formalism) przedstawiona w pracy [172]. Zdefiniowany zgodnie z nią model sieci przyjmuje następującą postać: S = U,Y,{S i },{I i },{F i },{F j,i },{G i } : i, j = 1,,N, (4.1.2) I i ={S j : i j;i, j = 1,,N}, (4.1.3) gdzie U jest zbiorem zdarzeń występujących w sieci S, Y jest zbiorem zmiennych wyjściowych S, {S i } jest zbiorem N modeli, które składają się na model sieci, I i jest zbiorem modeli, które generują zdarzenia dla modelu S i, funkcja F i : U U i definiuje zdarzenia U i występujące 72
73 w modelu S i wywołane zmianą wejść U sieci S, funkcja F j,i : Y j U i definiuje zdarzenia U i występujące w modelu S i wywołane przez zmiany wyjść Y j modelu S j, a funkcja G i : Y i Y określa sposób wyznaczania zmiennych wyjściowych Y sieci S na podstawie wyjść Y i modelu S i. Model S i może być zdefiniowany zgodnie z przedstawioną wcześniej specyfikacją DEVS. Realizację komputerową modelu S i przygotowanego do celów badań symulacyjnych wraz z ustalonymi wartościami parametrów będziemy nazywać procesem logicznym PL [123]. Systemy złożone symulowane są za pomocą zestawu odpowiednio współpracujących ze sobą procesów logicznych Rozproszona symulacja dyskretna W celu zwiększenia wydajności symulatorów stosuje się techniki zrównoleglenia obliczeń. W rozproszonej symulacji dyskretnej (RSD) model symulacyjny całego systemu jest dzielony na pewną liczbę mniejszych modeli. Każdy z tych modeli jest implementowany w postaci procesu logicznego PL symulującego odpowiadający mu proces fizyczny PF, przebiegający w odpowiednim podsystemie. Procesy logiczne mogą być symulowane równolegle na maszynach wieloprocesorowych (symulacja równoległa) lub w sieci maszyn (symulacja rozproszona). Realizacja symulacji wymaga więc wymiany informacji między procesami i znakowania tych informacji lokalnym czasem wysyłającego je procesu logicznego. Zadanie to jest realizowane przez zawierającą zbiór protokołów warstwę komunikacji i synchronizacji obliczeń. Przesyłanie wiadomości następuje w wyniku obsługi zdarzeń występujących w symulowanym systemie. Przypisane im znaczniki czasowe, w połączeniu z protokołem synchronizacji, pozwalają zachować związki przyczynowo-skutkowe. Synchronizacja procesów obliczeniowych następuje w momencie wymiany danych. Koncepcja symulacji rozproszonej została przedstawiona w 1977 roku niezależnie przez K.M. Chandy [55] i R.E. Bryanta [49]. Realizacja symulacji rozproszonej wymaga rozwiązania trzech podstawowych problemów: dekompozycji zadania (podziału modelu na szereg mniejszych modeli), alokacji zadań (przydziału zadań do procesorów), dostarczenia mechanizmów synchronizacji obliczeń. Jak już wspomniano na wstępie, podstawowym powodem zastosowania rozproszonej architektury symulacyjnej jest zwiększenie wydajności obliczeń. W przypadku symulacji systemów złożonych rozmiar i poziom szczegółowości modelu symulacyjnego może być ograniczony przez możliwości narzędzi do realizacji symulatorów oraz ograniczenia komputerów, na których są wykonywane obliczenia. Istotnym problemem jest czas trwania symulacji, który 73
74 w pewnych zastosowaniach nie może przekraczać czasu symulowanego. Wymagana wydajność symulatora jest wtedy nazywana wydajnością czasu rzeczywistego (ang. real time performance). Do ograniczeń sprzętowych należy również pamięć fizyczna maszyny, na której są prowadzone eksperymenty. W przypadku bardzo dużych modeli zasoby jednego komputera mogą okazać się niewystarczające. Rys Realizacja rozproszonej symulacji dyskretnej przykład: linia produkcyjna. Analizując strukturę symulowanego systemu dosyć często można przekonać się, że rozproszona realizacja symulacji jest znacznie efektywniejsza niż symulacja sekwencyjna realizowana na pojedynczej maszynie. W przykładzie prezentowanym na rys operacje wykonywane na poszczególnych stanowiskach montażowych mogą być symulowane przez różne procesory. Nie tylko znacząco skróci to czas trwania symulacji, ale ponadto lepiej zostanie odwzorowane rzeczywiste działanie linii produkcyjnej, która może obsługiwać jednocześnie różne elementy na każdym ze stanowisk montażowych. W przypadku, gdy czasy obliczeń realizowanych przez procesory i czasy przesyłania komunikatów z danymi są zbliżone, to rozproszona realizacja symulacji pozwala na efektywne wykorzystanie istniejących mocy obliczeniowych. Możliwe są różne realizacje wersja scentralizowana z wyróżnioną jednostką centralną lub zdecentralizowana. Przesyłanie danych między procesami logicznymi wykonującymi oblicze- 74
75 nia może być więc realizowane przez jednostkę centralną lub dane są bezpośrednio przesyłane między procesami PL. Przykładowy komunikat wysyłany przez procesy logiczne powinien zawierać czas wysłania komunikatu, nadawcę PL i, odbiorcę PL j, treść oraz status komunikatu. W rozproszonej symulacji dyskretnej czas symulowany może być implementowany w dwojaki sposób: w symulacji synchronicznej stosuje się zegar globalny, w symulacji asynchronicznej każdy z procesów logicznych wykorzystuje własny lokalny zegar, którego stany mogą być w danej chwili symulacji różne dla różnych procesów Symulacja synchroniczna Podstawową cechą rozproszonej symulacji synchronicznej jest to, że czas symulowany jest wyznaczany przez globalny zegar GVT (ang. Global Virtual Time). Przyjmuje się natomiast lokalne listy zdarzeń związane z poszczególnymi procesami logicznymi. Każdy z procesów logicznych może w danej chwili obsługiwać tylko te zdarzenia, których znaczniki czasowe odpowiadają bieżącej globalnej chwili symulacji (stan globalnego zegara). Dopiero, gdy wszystkie procesy logiczne wykonają zadania z tej chwili czasowej, globalny zegar zwiększa swoją wartość i procesy przechodzą do obsługi następnych zdarzeń ze swoich list. Symulacja synchroniczna może być realizowana na różne sposoby. Najprostsze rozwiązanie polega na wyróżnieniu procesu centralnego, zajmującego się obsługą zegara GVT. Komunikaty o stanie zegara są rozsyłane do procesów prowadzących obliczenia. Proces centralny zbiera informacje o zakończeniu przez nie obliczeń i czasie pierwszego zdarzenia z każdej lokalnej listy zdarzeń. Tak więc dyskretne chwile czasu symulowanego, w których następuje zmiana czasu GVT ustalane są na podstawie listy zadań wszystkich procesów. Jak widać możliwość zrównoleglenia takiej symulacji jest ograniczona. Jednocześnie mogą zostać obsłużone tylko zdarzenia, których znaczniki czasowe są równe wartości stanu globalnego zegara. Strategia ta zapewnia zachowanie związków przyczynowo-skutkowych w symulowanym systemie i chroni przed powstaniem tzw. zakleszczeń obliczeń - sytuacji, kiedy proces obliczeniowy zostaje zablokowany w wyniku np. wzajemnego oczekiwania kilku procesów na komunikaty, czy korzystania wielu procesów ze wspólnych zasobów. Do realizacji symulacji synchronicznej można użyć mechanizmu bariery synchronizacji, dostępnego w niemal każdym środowisku do obliczeń równoległych i rozproszonych [36, 73, 109] Symulacja asynchroniczna W rozproszonej symulacji asynchronicznej, w przeciwieństwie do wersji synchronicznej, nie ma globalnego zegara. Każdy z procesów logicznych posiada własną lokalną kolejkę zadań i lokalny zegar mierzący upływ lokalnego czasu symulowanego. Krok taktowania takich 75
76 zegarów również może być różny dla każdego PL. W związku z tym, że poszczególne procesy logiczne prowadzą niezależnie obliczenia nie ma zabezpieczenia przed wystąpieniem błędów. Realizując symulację asynchroniczną konieczne jest zastosowanie mechanizmów zapewniających zachowanie związków przyczynowo-skutkowych, co sprowadza się do pewnej synchronizacji obliczeń. Należy podkreślić, że w symulacji asynchronicznej dopuszcza się sytuacje, w których zdarzenia są symulowane w kolejności innej, niż ich występowanie w fizycznym systemie. Taka realizacja pozwala na dużo efektywniejsze wykorzystanie zrównoleglenia obliczeń realizowanych przez symulator. Likwidowane są w ten sposób przestoje maszyn obserwowane w przypadku realizacji synchronicznej (oczekiwanie na zmianę globalnego czasu), a zadania obliczeniowe są równomierniej rozkładane między dostępne procesory. Jedynym problemem pozostaje więc zagwarantowanie zachowania związków przyczynowo-skutkowych, co zapewniają wspomniane protokoły synchronizacji. Protokoły synchronizacji można zasadniczo podzielić na dwie grupy: konserwatywne ograniczające równoległość pracy procesorów przez wymuszenie stosowania się do zasad zapobiegających wystąpieniu błędów przyczynowo-skutkowych i optymistyczne unikające ingerencji w działania poszczególnych procesów logicznych, określające sposób reakcji na wystąpienie błędu przyczynowo-skutkowego. Obie strategie, konserwatywna i optymistyczna, mogą być z powodzeniem stosowane w symulatorach złożonych systemów. W rozproszonych symulacjach dyskretnych wszystkie interakcje między procesami logicznymi opierają się na przesyłaniu znakowanych czasem wiadomości. Oczywiście ich kolejność ma decydujący wpływ na przebieg obliczeń. W strategiach konserwatywnych dochodzi do wstrzymania procesu obliczeniowego do momentu uzyskania pewności, że nie nadejdą inne dane z wcześniejszym znacznikiem czasowym. Jest to istotne ograniczenie pełnego wykorzystania mocy obliczeniowej. Strategie optymistyczne osłabiają tę ścisłą regułę postępowania. Ewentualne błędy są korygowane przez odpowiedni algorytm wykrywający niezgodności czasowe i przywracający prawidłowy przebieg symulacji. W literaturze proponowanych jest wiele rozwiązań. Do protokołów synchronizacji realizujących schemat konserwatywny należą protokół Chandy-Misra-Bryant (CMB) [49, 50, 55, 114] wraz z późniejszymi modyfikacjami [51, 123] oraz protokół okien czasowych WIN [107, 108, 123]. W grupie protokołów CMB informację na temat bezpiecznego horyzontu czasowego proces logiczny czerpie z własnej lokalnej kolejki zdarzeń, w której oprócz zdarzeń wewnętrznych umieszczane są zdarzenia, wynikające z komunikatów otrzymanych od innych procesów logicznych. Protokół ten wymaga dodatkowej komunikacji pomiędzy procesami logicznymi symulującymi system. Inne opracowane algorytmy konserwatywne wykorzystują okna czasowe. Według takiego 76
77 schematu bezpieczny horyzont czasu symulowanego jest wyznaczany przez jednostkę centralną. Proces logiczny, zgłaszając się do jednostki nadrzędnej, podaje własne oszacowanie czasu wysłania przez niego następnego komunikatu z danymi. Jednostka centralna, po otrzymaniu informacji od wszystkich procesów logicznych, oblicza horyzont czasowy, który określa nowe okno czasowe i symulowane są zdarzenia, których czasy wystąpienia zawierają się w wyznaczonym oknie. Przykładem schematu optymistycznego jest mechanizm synchronizacji TW z zawijaniem czasu (ang. Time Warp). Nie zabezpiecza on przed wystąpieniem błędów przyczynowo-skutkowych, lecz podaje metody reakcji w przypadku wystąpienia takich błędów. Metody te zakładają konieczność odtworzenia części obliczeń. Jego autorzy to D.Jefferson i H.Sowizral [93, 94]. Główną przewagą algorytmu Time Warp nad blokującym podejściem konserwatywnym jest lepsze wykorzystanie możliwości programowania równoległego. Do wad mechanizmu Time Warp należy duże zapotrzebowanie i nieefektywne wykorzystanie pamięci systemu komputerowego realizującego symulację. Założenie możliwości odtworzenia obliczeń wymusza konieczność zapamiętania wszystkich danych historycznych (zmiennych stanu, parametrów, komunikatów wysłanych, odebranych itd.). Informacje te dodatkowo powinny być uporządkowane chronologicznie. Powoduje to znaczne wymagania odnośnie zasobów komputera. Podstawowa realizacja mechanizmu Time Warp zakłada nieograniczone zasoby pamięci. W literaturze zostało opisanych wiele schematów symulacji, które łączą cechy schematu optymistycznego i konserwatywnego. Należą do nich m.in. algorytmy MTW i WTW [126, 146]. Ogólny algorytm działania schematu hybrydowego dziedziczy wszystkie cechy po schemacie optymistycznym i osłabia wymagania stawiane przez schemat konserwatywny. Modyfikacja polega np. na ustalaniu kolejnych okresów czasu symulowanego, w którym symulacja realizowana jest w sposób optymistyczny okien czasowych [t p,t k ]. Ewentualne błędy przyczynowoskutkowe wyznaczonych oknach czasowych są usuwane przez funkcję cofającą obliczenia stosowaną w algorytmach optymistycznych. Po osiągnięciu przez zegar lokalny PL stanu równego t k, obliczenia realizowane przez wszystkie procesy są synchronizowane i z pamięci usuwane są dane z poprzednich okien czasowych (np. podobnie jak w konserwatywnym mechanizmie okien czasowych). Podsumowując, w rozproszonej symulacji dyskretnej odpowiedni algorytm odpowiada za aktualizację stanu zegara odmierzającego czas wirtualny od wartości 0 do T K. Zmiany stanu symulowanego systemu następują w dyskretnych i zmieniających się z nieregularnym krokiem chwilach tego czasu. Realizacja eksperymentu symulacyjnego składa się z powtarzanych w pętli operacji zwiększenia czasu t i symulacji obsługi zdarzeń ze znacznikami czasowymi równymi t. Operacje te zależą od przyjętych metod synchronizacji obliczeń oraz wykorzystania komunikacji pomiędzy procesami logicznymi. Synchronizacja obliczeń polega na uzgodnieniu pomiędzy poszczególnymi procesami logicznymi aktualnej wartości ich zegarów, tj. liczników od- 77
78 mierzających czas wirtualny. Efektem tego jest wstrzymanie obliczeń realizowanych przez PL i (schemat konserwatywny) lub wycofanie się z obliczeń wykonanych przez PL i (schemat optymistyczny) wtedy, gdy stany zegarów procesów logicznych oddziałujących na PL i są mniejsze niż stan zegara procesu PL i. W przypadku schematu optymistycznego konieczne jest wprowadzenie mechanizmów wykrywających sytuacje, w których występują różne stany zegarów i dochodzi do wystąpienia błędów przyczynowo-skutkowych. Jak już było wspomniane wcześniej zdarzenia w rozproszonej symulacji dyskretnej grupowane są w zbiór wykorzystujący relację porządkującą je wg czasu wystąpienia. Zbiór ten nazywany jest listą zdarzeń. Pełna lista zdarzeń może być znana od początku symulacji lub jest dynamicznie, stopniowo uzupełniana kolejnymi zdarzeniami, w trakcie symulacji. W przypadku konserwatywnego schematu symulacji zakładamy, że zdarzenia dodawane do listy zdarzeń nie mogą mieć znacznika czasowego wcześniejszego, niż aktualny stan lokalnego zegara. Założenia optymistycznego schematu symulacji zezwalają, aby nowe zdarzenie miało znacznik czasowy wcześniejszy, niż aktualny stan lokalnego zegara. 78
79 Rozdziaª 5 Symulatory sieci teleinformatycznych Duża złożoność oraz liczba potencjalnych zastosowań sieci teleinformatycznych, w tym sieci ad-hoc, sprawiły, że symulacja komputerowa jest niezbędnym narzędziem wspierającym rozwój i wdrożenia w tej dziedzinie. Projektanci mogą wykorzystać darmowe lub komercyjne symulatory, mają też możliwość rozbudowy środowisk symulacyjnych ogólnego przeznaczenia o modele badanych sieci Przegl d symulatorów sieci ns-3 Symulator ns-3 [9], to popularne, szczególnie w środowisku naukowym, narzędzie do badania wielu technologii sieciowych. Oprogramowanie to jest publicznie dostępne do celów badawczych i edukacyjnych, jest stale rozwijane przez zainteresowane ośrodki naukowo-badawcze. Aktualna wersja symulatora (3.21) umożliwia realizację symulacji równoległej i rozproszonej z wykorzystaniem standardu MPI (Message Passing Interface). Symulator ns-3 to następca symulatorów ns i ns-2. Starsze wersje oprogramowania zostały zrealizowane w języku C. ns-3 to środowisko w całości napisane z wykorzystaniem języków C++ i Phyton. Celem przygotowania nowej wersji było m.in. uproszczenie, uporządkowanie i weryfikacja często krytykowanego za zbytnią złożoność symulatora ns-2. Środowisko ns-3 oferuje implementacje wielu modeli, algorytmów i protokołów sieciowych. Wśród dużej różnorodności modeli i protokołów trasowania użytkownik znajdzie realizacje popularnych w sieciach ad-hoc protokołów AODV oraz OLSR, liczne modele propagacji radiowej oraz modele protokołów dla sieci zgodnych ze standardami (LR-WPAN Low-Rate Wireless Personal Area Network) oraz (WiFi). Mimo ciągłego rozwoju biblioteka modeli jest niestety uboższa niż w poprzedniej wersji, czyli symulatorze ns-2. 79
80 Ruch węzłów sieci w symulatorze ns-3 jest modelowany na dwa sposoby. Użytkownik może zapisać trajektorię ruchu w pliku i wczytać do symulatora. Drugim sposobem jest wykorzystanie prostych modeli ruchu oferowanych w ns-3. Są to modele losowe, tj. losowego kierunku, Gaussa-Markowa i losowego punktu docelowego oraz deterministyczne, tj. zakładające stałą prędkość, stały kierunek, czy stałe przyspieszenie. Wszystkie wspomniane modele umożliwiają symulację ruchu urządzeń w przestrzeni dwuwymiarowej. Symulator ns-3 nie posiada wbudowanego graficznego interfejsu użytkownika. Zaleca się wykorzystanie dodatkowych narzędzi, które umożliwiają prostą wizualizację wyników symulacji z uwzględnieniem trajektorii ruchu węzłów sieci, takich jak NetAnim NetSim Symulator NetSim [8] to komercyjny, napisany w języku C, symulator stosowany do badania wybranych rodzajów sieci bezprzewodowych. Dostępne są dwie wersje oprogramowania różniące się oferowanymi możliwościami oraz zakresem zastosowań: standardowa i akademicka. Podobnie jak w przypadku symulatorów ns symulator NetSim udostępnia implementacje kilku protokołów trasowania, w tym DSR oraz AODV, protokół w warstwie PHY oraz MAC. Do symulacji ruchu urządzeń oferuje implementacje dwóch modeli, tj. modelu losowego kierunku ruchu i losowego punktu docelowego Riverbed Modeler Oprogramowanie Riverbed Modeler [11] to komercyjny zestaw narzędzi do modelowania, symulacji i wizualizacji sieci teleinformatycznych. Środowisko to jest bardziej znane pod poprzednią nazwą - OPNET Modeler. Znajduje szerokie zastosowanie i jest dość powszechnie stosowane zarówno w badaniach, jak i rozwiązaniach komercyjnych i wojskowych. Riverbed Modeler to profesjonalne oprogramowanie oferujące m.in. implementacje wielu protokołów dedykowanych sieciom ad-hoc, w tym sieciom mobilnym (MANET) oraz bezprzewodowym sieciom sensorowym (WSN). Są to m.in. protokoły trasowania takie jak: AODV, DSR, GRP, OLSR, TORA, SMF oraz protokół ZigBee dla sieci sensorowych. Ponadto, symulator udostępnia narzędzia do modelowania parametrów środowiska i urządzenia, które wpływają na jakość i zasięg transmisji, tzn. można zdefiniować ukształtowanie przestrzeni, w której działa sieć oraz wybrać model anteny, w którą jest wyposażony węzeł sieci. Do symulacji poruszania się urządzeń można wykorzystać oferowane realizacje podstawowych modeli losowych ruchu. Innym rozwiązaniem jest zapisanie trajektorii ruchu w pliku oraz jej odtworzenie w symulatorze. W Riverbed Modeler możliwe jest również bezpośrednie, interakcyjne sterowanie położeniem węzła podczas eksperymentu. 80
81 Zaletą symulatora jest mnogość oferowanych realizacji modeli i algorytmów oraz narzędzi, w tym graficznych do modelowania, symulacji i analizy wyników. Poza symulacją sekwencyjną możliwa jest realizacja eksperymentów w równoległych i rozproszonych środowiskach sprzętowych OMNeT++ OMNeT++ to otwarte środowiskiem do budowy symulatorów sieci komputerowych [10]. Zestaw napisanych w języku C++ bibliotek udostępnia podstawowe moduły symulatora zdarzeniowego, modele protokołów sieciowych oraz środowisko graficzne wspomagające modelowanie, symulację i analizę wyników. Oprogramowanie umożliwia realizację symulacji równoległej i rozproszonej. Na bazie bibliotek OMNeT++ powstały m.in. następujące symulatory: MiXiM [6] Symulator mobilnych i stacjonarnych sieci bezprzewodowych, w tym bezprzewodowych sieci sensorów (WSN), mobilnych sieci ad hoc (MANET) oraz sieci autonomicznych pojazdów (VANET). Oprogramowanie zawiera m.in. modele propagacji radiowej, interferencji, zużycia energii oraz modele warstwy łącza danych MAC. Symulator korzysta z dodatkowych bibliotek oferowanych przez środowiska OMNeT++, w tym z biblioteki Mobility Framework, zawierającej implementacje modeli ruchu węzłów. Castalia [5] Symulator sieci WSN oraz BAN (Body Area Networks) udostepniajacy rozszerzone modele propagacji radiowej i zakłóceń oraz modele zużycia energii przez urządzenia sieciowe TOSSIM TOSSIM [14] jest publicznie dostępną biblioteką wspierającą budowę zdarzeniowych symulatorów sieci urządzeń zarządzanych przez system operacyjny TinyOS. Jest to wygodne środowisko, często wykorzystywane w celu weryfikacji rozwiązań przygotowywanych dla sieci sensorowych tworzonych przez fizyczne urządzenia. TOSSIM wiernie oddaje pracę urządzeń pod systemem operacyjnym TinyOS. Dzięki temu oprogramowanie uruchamiane w środowisku TOSSIM może być po niewielkich modyfikacjach przeniesione na fizyczne urządzenia działające pod kontrolą systemu TinyOS. Jest to zalecana praktyka w przypadku tworzenia nowych rozwiązań dla sieci sensorowych. Dodatkowa aplikacja TinyViz udostępnia wygodny graficzny interfejs użytkownika skutecznie wspierający proces projektowania i analiz. Inną aplikacją graficzną, która może skutecznie wspierać proces projektowania i analiz jest pakiet oprogramowania w języku Java JTossim [25]. Umożliwia ono konfigurację takich parametrów jak liczba 81
82 węzłów w sieci, moc nadawania, poziom szumów transmisyjnych, lokalizacja urządzeń itd. Udostępnia narzędzia do diagnostyki i śledzenia na bieżąco wyników eksperymentu. W środowisku TOSSIM możliwe jest definiowanie różnych topologi sieci, o różnej liczbie węzłów. Symulator niestety nie udostępnia implementacji modelu propagacji radiowej. Parametry transmisji można określić za pomocą stopy błędów BER, która jest definiowana niezależnie dla każdej pary węzłów sieci. Nie oferuje też interfejsów dla wszystkich urządzeń, np. dla wspominanych w pracy układów CC2420, co wymusza konieczność przygotowania własnych modułów wspierających eksperyment symulacyjny. Skrypt konfiguracyjny może być przygotowany w językach C++ lub Python QualNet Symulator QualNet [12] jest komercyjną wersją symulatora GloMoSim [35] do badań złożonych sieci bezprzewodowych. Obliczenia mogą być realizowane w środowiskach równoległych, co istotnie zwiększa wydajność symulacji. Symulator QualNet może być m.in. stosowany do symulacji sieci sensorowych i mobilnych sieci ad hoc. Oprócz bardzo dużej liczby modeli sprzętu i protokołów sieciowych oferuje narzędzia do definiowania środowiska, w którym działa sieć. Projektant może wprowadzić opis ukształtowania terenu, warunków atmosferycznych oraz interakcji z użytkownikiem sieci (np. zarządcą). Dostępne są również gotowe modele ataków na sieć. W przypadku, gdy rozważane są sieci mobilne ruch węzłów może być zdefiniowany na dwa sposoby, tj. trajektoria ruchu zapisana w pliku tekstowym lub kolejne pozycje urządzenia obliczane na bieżąco za pomocą modelu z wyznaczanym losowo kierunkiem ruchu. QualNet, podobnie jak większość dostępnych symulatorów, jest wyposażony w narzędzia wspomagające pracę projektanta sieci, w tym moduł do wizualizacji symulowanego systemu i prezentacji wyników eksperymentów Symulacja sieci mobilnej Prezentowane dotychczas symulatory sieci w niewielkim stopniu koncentrują się na symulacji ruchu urządzeń tworzących sieć. Część z nich oferuje rozwiązania, które niekoniecznie sprawdzają się w praktycznych aplikacjach. W pewnych zastosowaniach dokładność modelowania ruchu może mieć istotne znaczenie w projektowaniu systemów sieciowych działających w fizycznym świecie. Pojawiła się więc potrzeba opracowania symulatorów wyposażonych w różne modele ruchu węzłów sieci. Naturalnymi rozwiązaniami w przypadku symulacji mobilnej sieci ad hoc jest wykorzystanie istniejących i sprawdzonych symulatorów sieci bezprzewodowych oraz uzupełnienie ich 82
83 o możliwość wprowadzenia scenariusza w postaci pliku tekstowego zawierającego predefiniowane położenia urządzenia w kolejnych chwilach czasowych. Tego typu podejście nie jest oczywiście skuteczne w przypadku sieci o znacznych rozmiarach, stąd klasyczne symulatory zostały rozszerzone o moduły do generacji trajektorii ruchu. Wykorzystano do tego celu wybrane modele losowe. Drugim dość powszechnie stosowanym rozwiązaniem jest zastosowanie specjalizowanych aplikacji dedykowanych analizie ruchu (np. symulatory ruchu drogowego VanetMobiSim [15], SUMO [13], itp.). W obydwu przypadkach trajektoria ruchu węzła sieci musiała być przygotowana przed rozpoczęciem symulacji mobilnej sieci ad-hoc. Podejście to okazało się niestety niewystarczające, ponieważ nie uwzględnia sprzężenia zwrotnego pomiędzy wymienianymi drogą bezprzewodową informacjami, a zmianami położenia węzłów. Sprzężenie zwrotne jest szczególnie istotne w analizie sieci typu VANET (ang. Vehicular Ad Hoc Network) wykorzystywanych w celu poprawy bezpieczeństwa na drogach. W sieci tego typu założono, że komunikaty przesyłane pomiędzy samochodami lub samochodami i infrastrukturą drogową mogą spowodować zmianę w parametrach ruchu poszczególnych pojazdów (np. zmniejszenie prędkości). Z drugiej strony niebezpieczne lub nietypowe zachowanie wybranego pojazdu może być sygnalizowane innym pojazdom poprzez rozsyłanie odpowiednich komunikatów drogą bezprzewodową. Problem symulacji tego typu sytuacji drogowych przyczynił się do powstania drugiej grupy symulatorów mobilnych sieci ad-hoc. Dedykowane głównie symulacji sieci VANET symulatory integrowały wybrane modele ruchu drogowego z modelami komunikacji bezprzewodowej. Do aplikacji tych należą m.in. VNS [17], Veins [16], NCTUns [7]. 83
84 Rozdziaª 6 rodowisko ASim/Java do symulacji systemów zdarze«dyskretnych ASim/Java (Asynchronous Simulation/ Java) to środowisko zawierające bibliotekę klas do tworzenia rozproszonych symulatorów systemów zdarzeń dyskretnych. Symulatory mogą być uruchamiane na maszynach równoległych lub w klastrach obliczeniowych. ASim/Java oferuje gotowe implementacje mechanizmów komunikacji, synchronizacji, zapisu wyników symulacji oraz podstawowe elementy symulatora zdarzeniowego. Dodatkowo biblioteka dostarcza szereg rozwiązań poprawiających wydajność i funkcjonalność tworzonych symulatorów. Podstawowym przeznaczeniem aktualnej, trzeciej wersji oprogramowania, jest symulacja systemów fizycznych o różnym stopniu złożoności, w szczególności symulacja sieci komputerowych. Możliwa jest realizacja symulatorów synchronicznych oraz asynchronicznych, w kilku wersjach różniących się mechanizmami synchronizacji. Dostępne są następujące protokoły synchronizacji obliczeń: konserwatywne CMB i WIN, optymistyczny TW oraz hybrydowe MTW, WTW (rozdz ). Oprogramowanie ASim/Java zostało zrealizowany w języku Java, przy wykorzystaniu relacyjnej bazy danych, schematu XML i wybranych technologii wspierających komunikację równoległą i rozproszoną (JMS [23] i ZeroMQ [27]). Modułowa architektura oraz proste i określone w dokumentacji zasady rozwijania biblioteki ASim/Java pozwalają na rozszerzanie jej funkcjonalności o nowe elementy, takie jak m.in. dyscypliny kolejkowania, nowe algorytmy synchronizacji obliczeń, protokoły komunikacji w architekturze rozproszonej oraz moduły obsługi zdarzeń o określonych typach. Uniwersalność klas obsługi zdarzeń w procesach logicznych pozwala na wykorzystanie ich w innych symulatorach systemów podobnego typu. Tworzone są w ten sposób tzw. moduły narzędziowe (ang. toolbar) dedykowane symulacji systemów związanych z konkretną dziedziną badań. Bardzo często duże wymagania na wydajność symulatora, np. w przypadku modelowania 84
85 złożonych systemów sieciowych, wymuszają wykorzystanie wielowątkowości lub obliczeń rozproszonych realizowanych w sieci maszyn. ASim/Java w przezroczysty dla użytkownika sposób pozwala łączyć przetwarzanie równoległe i rozproszone, wykorzystując ogólny model symulatorów sfederowanych [146]. Dostępność różnych technologii komunikacyjnych daje ponadto możliwość adaptacji symulatora do zmieniających się środowisk sprzętowych i oprogramowania Architektura ASim/Java Oprogramowanie ASim/Java składa się z modułów połączonych za pomocą platformy OSGi [26]. Warstwa pośrednicząca OSGi jest nowoczesnym rozwiązaniem pozwalającym na dynamiczną współpracę niezależnych modułów lub aplikacji tworzących złożony system oprogramowania. Jej podstawową zaletą jest kontrola interfejsów wymiany danych pomiędzy modułami, zarządzanie modułami jako usługami dostępnymi w systemie oraz możliwość dynamicznej zmiany (w tym kompilacji) modułów bez konieczności ponownego uruchamiania i kompilacji całego systemu. Jest to szczególnie ważne w przypadku pracy przy skomplikowanych i wymagających częstych modyfikacji projektach programistycznych. W środowisku ASim/Java wykorzystano implementację platformy OSGi o nazwie Apache Felix w wersji [20]. Skrót OSGi świadomie nie jest rozwijany przez autorów specyfikacji, ponieważ jego pierwotne znaczenie (ang. Open Service Gateway initiative) nie odpowiada aktualnemu zastosowaniu platformy. W ASim/Java przyjęto założenie, że model symulowanego systemu rzeczywistego ma strukturę hierarchiczną. Podejście to pozwala zapisać parametry i strukturę modelu zarówno w relacyjnej bazie danych, jak i pliku tekstowym w formacie XML. Do tego celu zdefiniowano dwie podstawowe struktury danych: ASimDO do zapisu danych komponentu modelu oraz ASimPO do zapisu atrybutu tego komponentu. Pola wymienionych struktur danych opisane są w tabelach i Ich zarządzaniem zajmuje się warstwa pośrednicząca JPA (ang. Java Persistence API) [24] i interfejs JAXB (ang. Java Architecture for XML Binding) [22]. Zastosowana w ASim/Java biblioteka EclipseLink [19] implementuje oba wymienione standardy i pozwala na wygodne operowanie danymi zapisanymi zarówno w pliku XML (JAXB), jak i relacyjnej bazie danych (JPA). Zastosowana relacyjna baza danych to Apache Derby w wersji wbudowanej [18]. Diagram klas JPA prezentuje rysunek Mechanizmy zarządzania aplikacją oraz logika działania omawianego systemu zostały zaimplementowane w języku Java. Powstały trzy biblioteki klas: biblioteka podstawowa, w skład której wchodzą klasy implementujące mechanizmy komunikacji, synchronizacji, dostępu do danych, generatory losowe oraz funkcje pomocnicze, 85
86 biblioteka użytkownika zawierająca klasy implementujące logikę budowanego symulatora oraz biblioteki specyficzne dla symulowanego systemu (np. dedykowane algorytmy, solvery, itp.), ASimModeler oferujący narzędzia do budowy graficznego interfejsu użytkownika. Tab Pola danych struktury ASimDO. Nazwa pola id name type intreeorder father children properties Opis pola identyfikator komponentu nazwa komponentu typ komponentu numer porządkowy komponentu w model nadrzędnym model nadrzędny dla opisywanego podmodelu posortowana wg pola intreeorder lista elementów typu ASimDO będących komponentami opisywanego komponentu lista elementów typu ASimPO będących atrybutami opisywanego komponentu Tab Pola danych struktury ASimPO. Nazwa pola code value father Opis pola unikalna w ramach komponentu nazwa atrybutu wartość atrybutu element typu ASimDO, do którego należy opisywany atrybut Rys Diagram klas JPA biblioteki ASim/Java. Graficzny interfejs użytkownika jest dynamicznie generowany na podstawie plików konfiguracyjnych. Umożliwia on wygodną budowę modelu złożonego systemu, jego kalibrację oraz 86
87 zarządzanie przebiegiem symulacji. Udostępnia mechanizmy wizualizacji oraz animacji wyników w formacie SVG (ang. Scalable Vector Graphics) [156]. Przygotowanie symulatora w środowisku ASim/Java jest realizowane w trzech etapach. Praca rozpoczyna się od dekompozycji modelu systemu na zestaw mniejszych modeli zorganizowanych w hierarchiczną strukturę. Następnie dla każdego modelu definiowany jest formularz danych. Powinien on zawierać pola odpowiadające wszystkimi wymaganym parametrom modelu. Formularze danych definiowane są w plikach tekstowych o określonym formacie XML. Na podstawie przygotowanych formularzy generowany jest automatycznie graficzny interfejs użytkownika i odpowiednie struktury danych w bazie danych. Każdy wypełniony formularz danych zapisywany jest w tabeli ASimDO bazy danych, a jego pola w tabeli ASimPO. Ostatnim etapem jest implementacja w języku Java logiki symulatora i innych niezbędnych bibliotek korzystających z przygotowanej wcześniej hierarchicznej struktury danych. Po uruchomieniu symulacji obliczenia są automatycznie zarządzane przez odpowiednie funkcje ASim/Javy. Wyniki symulacji są gromadzone w postaci tabel zapisanych w plikach o formacie csv lub tex oraz w plikach graficznych lub plikach do animacji w formacie SVG. Modułowa architektura ASim/Java (rys ) oraz uniwersalna implementacja bibliotek użytkownika pozwala na wielokrotne wykorzystywanie zrealizowanych komponentów w różnych symulatorach. Głównym narzędziem projektanta staje się wówczas aplikacja ASimModeler, umożliwiająca wygodne modyfikowania parametrów oraz łączenie modeli w większe struktury. Rys Architektura symulatora zbudowanego z wykorzystaniem środowiska ASim/Java. 87
88 6.2. Symulatory w ±rodowisku ASim/Java S rodowisko ASim/Java zostało wykorzystane do budowy symulatorów wybranych systemów zdarzen dyskretnych. W celu pokazania moz liwos ci narz edzia i jego uniwersalnos ci przedstawione zostana trzy aplikacje symulator linii montaz owej, symulator sieci LAN [126] i symulator sieci Frame Relay [145]. Szczególna uwaga zostanie zwrócona na znaczenie zrównoleglenia obliczen. Pierwsze dwa z symulowanych systemów prezentuja rysunki i W obu przypadkach wykonano dwie serie testów (warianty A i B) uwzgl edniajace róz ne poziomy złoz onos ci: A kaz de z ródło generuje 2 zdarzenia oraz wariant B z ródła generuja po 25 zdarzen. Rys Linia montaz owa. Rys Siec komputerów. Pierwsze eksperymenty koncentrowały si e na wyborze mechanizmu synchronizacji obliczen. Zrealizowano kilka wersji rozproszonych symulatorów róz niacych si e zastosowanymi protokołami synchronizacji. Rozwaz ano nast epujace algorytmy: dwa konserwatywne CMB 88
89 i WIN, optymistyczny TW i hybrydowy MTW. Porównano czasy wykonywania eksperymentów oraz badano wpływ wprowadzanych zabezpieczeń gwarantujących poprawność obliczeń na ich efektywność. Tabele 6.2.1, i prezentują wyniki testów uzyskane dla linii montażowej. Są to czasy symulacji w sekundach i liczby dodatkowych komunikatów synchronizacyjnych: puste wiadomości w CMB, informacje wykorzystywane do wyznaczenia rozmiaru okien w WIN i MTW oraz antykomunikaty w TW i MTW. W tabeli zamieszczono studium porównawcze różnych wariantów algorytmu MTW, w zależności od założonego rozmiaru okna czasowego, po którym następuje synchronizacja. Badania wykonano w sieci złożonej z czterech komputerów z procesorami Celeron 433 MHz. Porównując wyniki eksperymentów szczególną uwagę zwrócono na liczbę wysyłanych dodatkowych komunikatów oraz liczbę powtórzeń obliczeń. W przypadku symulacji sieci komputerowej algorytm CMB okazał się bardzo mało wydajny, w związku z czym w niniejszej pracy ograniczono się do przedstawienia wyników działania dwóch algorytmów (tabela 6.2.4): konserwatywnego WIN i hybrydowego MTW, dla dwóch różnych rozmiarów okien równych jednej (MTW-1) i dziesięciu (MTW-10) jednostkom symulowanego czasu. Zgodnie z przewidywaniami najlepsze rezultaty uzyskano stosując algorytm hybrydowy MTW. Przeprowadzone badania potwierdzają zamieszczone wcześniej uwagi dotyczące tego mechanizmu jego efektywność istotnie zależy od założonej długości okna. Wyniki potwierdzają przypuszczenie, że rozmiar ten powinien być dobierany do aplikacji i środowiska sprzętowego, w którym prowadzone są eksperymenty. Trzecim omawianym w niniejszej pracy symulatorem zbudowanym w środowisku ASim/Java jest symulator sieci teleinformatycznych wykorzystujących protokół Frame Relay FR/A- SimJava. Został on wykorzystany w badaniach poświęconych problemom odpowiedniej klasyfikacji, mierzenia, znakowania i kształtowania ruchu wybranymi mechanizmami kolejkowymi oraz reakcji na przeciążenia [145]. Frame Relay jest protokołem pakietowym. Transfer danych realizowany jest za pomocą ramek o zmiennej długości poprzez multipleksowane kanały wirtualne (VC) oznaczane numerem DLCI. Pakiety przesyłane są pomiędzy węzłami sieci do momentu osiągnięcia przez nie węzła docelowego. Szczegółowe informacje na temat protokołu Frame Relay można znaleźć na stronie internetowej forum FR [21]. Wykonany symulator uwzględniał następujące elementy sieci oraz zadania realizowane przez protokół Frame Relay i mechanizmy QoS: węzły brzegowe DTE (ang. Data Terminal Equipment) i szkieletowe DCE (ang. Data Circuit-terminating Equipment), mechanizmy QoS, mechanizmy reakcji na przeciążenia, 89
90 Tab Czasy symulacji linii montażowej. Wariant CMB [s] WIN [s] TW [s] MTW [s] A 247,83 25,81 34,55 20,93 B 316,86 88,43 52,34 41,25 Tab Liczba dodatkowych komunikatów, symulacja linii montażowej. Wariant CMB [s] WIN [s] TW [s] MTW [s] A B Tab Różne okna czasowe, symulacja linii montażowej. Rozmiar okna Czas sym. [s] Dodatkowe komunikaty Powtórzenia obliczeń 5 54, , , , , , Tab Czasy symulacji sieci komputerowej. Wariant WIN MTW 1 MTW 10 A B połączenia stałe PVC (ang. Permanent Virtual Circuit) i tymczasowe SVC (ang.switched Virtual Circuit), parametry negocjacyjne ruchu FR, źródła ruchu dla każdego połączenia wirtualnego, protokół sygnalizacyjny LMI (ang. Local Management Interface), algorytm negocjowania połączeń tymczasowych SVC. Zadania symulatora węzła brzegowego DTE sieci szkieletowej to: Generowanie ruchu w przedziałach jednosekundowych na podstawie parametrów CIR (ang. Committed Information Rate), EIR (ang. Excess Information Rate), średniej i wariancji rozmiaru ramki danych. Kształtowanie ruchu wejściowego, tj. znakowanie ramki bitem nagłówka DE=1, gdy ruch wejściowy jest większy od CIR i odrzucanie ramki, gdy ruch wejściowy jest większy od CIR + EIR. 90
91 Reagowanie na przeciążenia zgodnie z zasadami BECN (ang. Backward explicit congestion notification) i FECN (ang. Forward explicite congestion notification). Negocjowanie kanałów tymczasowych SVC. Model węzła szkieletowego DCE przełącznika w sieci (rys ) charakteryzuje większa złożoność. Składa się on z elementów aktywnych realizujących niezależnie swoje zadania. Do elementów tych należy dowolna liczba interfejsów zewnętrznych, w skład których wchodzą kolejka wejściowa i wyjściowa, oraz wewnętrzne urządzenie przełączające. Rys Model przełącznika w sieci Frame Relay. Kolejki wejściowe i wyjściowe interfejsów przełącznika odgrywają kluczową rolę w realizacji mechanizmów QoS. Urządzenie przełączające zawiera tablicę przełączania, która wiąże odpowiednie kolejki wejściowe przełącznika z kolejkami wyjściowymi. W ten sposób realizowany jest wybór trasy, jaką porusza się ramka danych przesyłana przez sieć. Mechanizmy zapewnienia jakości usług w sieciach Frame Relay realizowane są m.in. poprzez podział ruchu w sieci na zestaw klas, którym można przyporządkować odpowiednie priorytety. Symulator FR/ASimJava umożliwia wprowadzenie dowolnej liczby klas ruchu oraz przypisanych im wag i priorytetów. Dzięki temu rozwiązaniu do każdego kanału wirtualnego VC może być przypisana własna klasa, a z nią waga lub priorytet. Podział ruchu na klasy odgrywa istotną rolę w realizacji dyscyplin kolejkowania w interfejsach przełączników sieciowych. Wykonany symulator implementuje następujące mechanizmy kolejkowania: FIFO, PQ (ang. Priority Queueing), CBWFQ (ang. Class-Based Weighted Fair Queueing), PQ-CBWFQ (rys ). Rys Model wykorzystania kolejek PQ CBWFQ. Ze względu na zadania mechanizmów QoS, szczególnie istotna jest dyscyplina kolejkowania łącząca kolejki priorytetowe (PQ) i kolejki z wagami (CBWFQ) PQ-CBWFQ. Użycie tej 91
92 dyscypliny pozwala na wprowadzanie, m.in. możliwości transmisji głosu w sieciach Frame Relay (VoFR). Rozważane kolejki wejściowe i wyjściowe w interfejsach przełącznika DCE mają skończoną długość, dlatego może wystąpić sytuacja przeciążenia kolejek, co skutkuje utratą danych. Symulator FR/ASimJava modeluje wsteczne (BECN) i wyprzedzające (FECN) powiadamianie o zatorach. Węzeł brzegowy odbierający dane od źródła ruchu powodującego przeciążenie informowany jest o tej sytuacji za pomocą odpowiedniej ramki protokołu pomocniczego LMI. Natężenie ruchu wprowadzanego do sieci przez to źródło zmniejszane jest w takiej sytuacji do wartości CIR. Powiadomienie o przeciążeniu obowiązuje do chwili, w której zostanie stwierdzone, że zapełnienie kolejki nie powoduje zagrożenia przeciążeniem. Celem prac było wykonanie symulatora sieci, który pozwalałby na symulację w czasie rzeczywistym. Symulator wykonany w środowisku ASim.Java poddano odpowiednim testom. Podczas eksperymentów mierzony był czas trwania symulacji rzeczywistych 30 sekund działania sieci Frame Relay. Do celów oceny symulatora zdefiniowano dwa kryteria: czas trwania symulacji w milisekundach oraz zdefiniowany poniżej parametr PTS [67] (liczba symulowanych transmisji pakietu na sekundę): ( NF P F H F PT S = T ), (6.2.1) gdzie T oznacza czas trwania symulacji, N F liczbę przepływów (od przełącznika brzegowego do przełącznika brzegowego), P F liczbę pakietów przesyłanych w przepływie, H F średnią liczbę przeskoków (kolejkowanie, transmisja przez łącze, itp.). Powyższa formuła nie uwzględnia pakietów utraconych i generowanych przez protokół komunikacyjny. Eksperymenty zostały wykonane w sieci składającej się z 2 i 3 komputerów. Ich celem była analiza oraz ocena wydajności symulacji realizowanej przez grupę symulatorów sfederowanych. Model symulowanej sieci został podzielony odpowiednio na dwa i trzy komponenty. Symulator całej sieci składał się z dwóch symulatorów tworzących federację w przykładzie E3 oraz trzech symulatorów sfederowanych w przykładzie E4. Synchronizacja obliczeń została przeprowadzona za pomocą hybrydowego mechanizmu okien czasowych MTW. Wyniki badań, tj. czas symulacji oraz wydajność symulatora prezentuje tabela Przedstawione wyniki pokazały efektywność symulatora zrealizowanego w wersji rozproszonej. Zrównoleglenie obliczeń pozwoliło na realizację symulacji w czasie rzeczywistym symulacja 1 sekundy działania systemu była realizowana w czasie mniejszym niż 1 sekunda. Czas trwania symulacji sieci korzystającej z protokołu Frame Relay zależy oczywiście od złożoności symulowanej sieci i natężenia symulowanego ruchu w tej sieci. Zwiększenie natężenia ruchu powoduje większą aktywność opisanych wcześniej mechanizmów zapewnienia jakości usług w sieci, co dodatkowo obciąża symulator. Zaprezentowana aplikacja może znaleźć zastosowanie w analizie istniejących lub projektowaniu nowych sieci szkieletowych wykorzystujących 92
93 Tab Wyniki wydajnościowe symulatora sieci Frame Relay. P. Model sieci PL Liczba pakietów Czas symulacji [ms] PTS E3 1 przełącznik 21 7 interfejsów 6 ruterów brzegowych 6 połączeń 1,544 Mb/s 1 łącze 44,736 Mb/s ,7 1 przełącznik 21 7 interfejsów 6 ruterów brzegowych 6 połaczeń 1,544 Mb/s E4 1 przełącznik 21 7 interfejsów 6 ruterów brzegowych 6 połaczeń 1,544 Mb/s 1 łącze 44,736 Mb/s ,2 1 przełącznik 21 7 interfejsów 6 ruterów brzegowych 6 połaczeń 1,544 Mb/s 1 łącze 44,736 Mb/s 1 przełącznik 23 8 interfejsów 6 ruterów brzegowych 6 połaczeń 1,544 Mb/s protokół Frame Relay Symulator MobASim Kolejną aplikacją zrealizowaną w środowisku ASim/Java jest symulator MobASim. Jest to symulator bezprzewodowych sieci ad-hoc pracujących zgodnie ze standardem IEEE [1]. Służy do symulacji sieci tworzonych przez urządzenia stacjonarne, jak i przemieszczające się. Może być wykorzystany na etapie projektowania sieci lub jako narządzie wspierające efektywne zarządzanie już istniejącą siecią Architektura symulatora MobASim Symulator MobASim został zbudowany na bazie bibliotek dostępnych w ASim/Java. Zgodnie z zasadami korzystania ze środowiska ASim/Java, tworzone oprogramowanie podzielono na moduły. Lista modułów prezentowana jest na rysunku Model sieci ad-hoc zrealizowany w symulatorze MobASim jest zgodny z specyfikacją DEVN 93
94 Rys Architektura symulatora MobASim. (4.1.3) i ogólnym modelem przedstawionym w rozdziale 3 pracy. Zdecydowano się wyróżnić następujące elementy składowe modelu sieci ad-hoc: model obszaru roboczego, model węzła sieci (pojazdu, stacji bazowej, sensora mobilnego), model przeszkody, model propagacji radiowej oraz model karty bezprzewodowej WPAN (typ CC2440 [2]). Dla każdego z tych podmodeli zdefiniowano formularze parametrów w pliku XML. Przykładowy format takiego formularza opisujący element NODE mobilny sensor znajduje się w Dodatku A. Odpowiadający mu ekran wygenerowany automatycznie w interfejsie użytkownika prezentuje rysunek Interfejs graficzny MobASim Modeler wspomaga tworzenie hierarchicznej struktury modelu sieci ad-hoc z wcześniej zdefiniowanych komponentów oraz konfigurację tego modelu przez edycję wybranych parametrów. Wszystkie zmiany wykonywane z wykorzystaniem graficznego interfejsu użytkownika są automatycznie zapisywane w bazie danych. Odpowiednie funkcje przejścia stanu, funkcje wyjścia i funkcję zmiany czasu symulowanego zaimplementowano w języku Java i umieszczono w bibliotece użytkownika symulatora MobASim. Wyniki symulacji gromadzone są w plikach tekstowych lub prezentowane w formie animacji w formacie SVG [156] Implementacja symulatora MobASim Biblioteka użytkownika w symulatorze MobASim została napisana w języku Java i jest uzupełnieniem podstawowej biblioteki środowiska ASim/Java. Pakiety biblioteki użytkownika 94
95 Rys Przykładowy ekran graficznego interfejsu uz ytkownika symulatora MobASim formularz danych dla sensora mobilnego. tworza nast epujace moduły: elementy modelu sieci ad-hoc (model w ezła sieci, przeszkody, pojazdu, stacji bazowej, itp.), model F propagacji radiowej (3.5.2), modele urzadzen sieciowych (np. CC2420) - standard , model ruchu w ezłów sieci: losowego punktu docelowego oraz autorski PFM (algorytm DHPFM opisany w rozdziale 3.7.4), biblioteka algorytmów mobilnego formowania sieci ad-hoc. moduł zarzadzaj acy symulatorem, w tym: moduł zarzadzaj acy komunikacja bezprzewodowa (dost ep do medium transmisyjnego, zasi eg i bł edy transmisji bezprzewodowej), moduł zarzadzaj acy przemieszczaniem si e symulowanych urzadzen w przestrzeni roboczej (kolizje, rejestrowanie połoz enia urzadzen i przeszkód). Symulator MobASim realizuje rozproszona symulacj e dyskretna, która jest zarzadzana przez uz ytkownika z wykorzystaniem aplikacji MobASim Modeler. Modele wszystkich w ezłów sieci (sensory, stacja bazowa, pojazdy) wraz z parametrami nalez a do grupy procesów logicznych 95
96 i mogą być symulowane na różnych procesorach (symulacja równoległa) maszyny wieloprocesorowej. Zastosowano w tym przypadku konserwatywny mechanizm okien czasowych WIN w celu synchronizacji obliczeń pomiędzy procesami logicznymi. W każdym oknie czasowym symulacja poszczególnych procesów logicznych zachodzi w sposób asynchroniczny, a horyzont czasowy następnego okna czasowego wyznaczany jest przez moduł zarządzający symulatorem. Przydział procesów logicznych do procesorów odbywa się według strategii SJF (ang. Shortest- Job-First). Pierwsze obsługiwane są procesy logiczne, których czas obliczeń w poprzednim oknie czasowym był najkrótszy. Moduł zarządzający symulatorem implementuje funkcję zmiany czasu (3.3.20) w trakcie symulacji. Do zadań realizowanych przez moduł zarządzający należą również rejestracja nowego położenia przemieszczających się węzłów sieci i wykrywanie kolizji pomiędzy urządzeniami mobilnymi i przeszkodami. Moduł ten pełni też ważne funkcje w algorytmie wyznaczania błędów i zasięgu transmisji radiowej oraz w algorytmach dostępu do medium transmisyjnego (protokoły warstwy MAC). Wszystkie funkcje modułu zarządzającego wykonywane są, gdy każdy z procesów logicznych zakończy obliczenia w aktualnym oknie czasowym mechanizmu WIN. Symulator MobASim został wykorzystany do badań różnych zastosowań sieci ad-hoc. Rozważano grupę pojazdów poruszających się w konwoju oraz podążających za liderem w obszarze z przeszkodami. Szczególną uwagę poświęcono analizie różnych algorytmów formowania spójnej sieci zbudowanej z poruszających się urządzeń wyposażonych w czujniki. Wyniki symulacji dla różnych konfiguracji algorytmu formowania sieci przedstawione zostały w następnym rozdziale. We wszystkich przypadkach bardzo przydatna okazała się możliwość wizualizacji wyników w formie animacji. Funkcje generujące animację i moduł ją wyświetlający powstały na bazie biblioteki ASim/Java i wspieranym przez nią standardzie grafiki wektorowej SVG. 96
97 Rozdziaª 7 Symulacyjne badanie algorytmów formowania sieci ad-hoc 7.1. Wprowadzenie W ostatnich latach w literaturze opisano wiele możliwych scenariuszy wykorzystania mobilnych sieci ad-hoc, w tym sieci tworzonych przez urządzenia wyposażone w czujniki [41]. Oprócz rozważań teoretycznych, badań symulacyjnych i testów w laboratoriach pojawiły się pierwsze zastosowania [3, 48, 60, 63, 134]. Możliwość zmiany położenia przez czujniki i inne urządzenia działające w ramach sieci rozszerzyła obszar zastosowań klasycznych sieci sensorowych. Należą do nich m.in.: wspomaganie zbierania danych w sieciach z tolerancją opóźnień (ang. DTN - delaytolerant networks, opportunistic networks) [41, 62, 120], optymalizacja obszaru objętego monitoringiem (ang. optimal coverage) [44, 72, 153, 157], rozłożenie czujników (ang. sensor deployment), rekonfiguracja i naprawa sieci sensorowej z wykorzystaniem urządzeń mobilnych [41, 44, 72, 87, 104, 148, 170], wsparcie działania sieci przez mobilne roboty (ang. robot-assisted WSN) [41, 44, 87, 120], podążanie za źródłem mierzonego sygnału (ang. target tracking) [41, 120, 170]. We wszystkich wymienionych przypadkach kluczowy jest sposób poruszania się mobilnych urządzeń wspierających działanie sieci czujników. W związku z tym w fazie projektowania tego 97
98 typu sieci niezwykle ważne jest wykorzystanie realistycznych modeli i algorytmów do planowania ruchu węzłów. Należy podkreślić, że wyposażenie sieci w urządzenia poruszające się pozwala na kontrolowane rozmieszczenie sensorów oraz rekonfigurację sieci i jej samoorganizację. Takie rozwiązanie jest wskazane wtedy, gdy ukształtowanie terenu umożliwia ruch pojazdów, a zastosowane czujniki są drogie lub ich skuteczność w dużej mierze zależy od położenia. Poprawne działanie sieci wymaga utrzymania spójności (ang. connectivity), objęcia zasięgiem monitorowanego obszaru (ang. coverage) oraz wydajnej i energooszczędnej komunikacji. Jednym z podstawowych zadań realizowanych przez sieci czujników jest pomiar wybranych wartości fizycznych na pewnym obszarze (ang. region of interest) ROI lub w otoczeniu kluczowych lokalizacji (ang.point of interest) POI, a następnie przekazanie wyników pomiarów do wskazanego węzła lub węzłów odbiorczych. Obszary te stanowią przestrzeń roboczą sieci i zgodnie z notacją przyjętą w rozdziale 3.1 oznaczymy je symbolem W. Przesyłanie danych zebranych przez czujniki może być realizowane okresowo, np. zgodnie z harmonogramem, na żądanie węzła odbierającego lub jest wyzwalane wystąpieniem określonego wcześniej zdarzenia. W następnym rozdziale przedstawiono przykłady formowania mobilnej sieci sensorowej. Założono, że trajektorie ruchu węzłów sieci są wyznaczane za pomocą algorytmu DHPFM (rozdz. 3.7) z odpowiednimi modyfikacjami. Eksperymenty symulacyjne zostały wykonane w symulatorze MobASim (rozdz. 6.3) Formowanie mobilnej sieci sensorowej Rozważane zadanie formowania sieci sensorowej polega na rozmieszczeniu bezprzewodowych czujników w taki sposób, aby pokryć monitoringiem jak największy obszar, zachowując jednocześnie spójność sieci i gwarantowaną jakość transmisji danych [72]. Przez sieć spójną rozumiemy sieć, w której możliwa jest komunikacja między każdą parą węzłów (bezpośrednia lub z wykorzystaniem węzłów pośredniczących). Przyjmijmy, że naszym zadaniem jest zaprojektowanie systemu zbudowanego z bezprzewodowych urządzeń wyposażonych w odpowiednie czujniki oraz, że urządzenia te mogą się przemieszczać (wszystkie lub ich część). Poruszające się węzły to pojazdy lub roboty wyposażone w czujniki, moduł lokalizacji (np. GPS) określający aktualne położenie w przestrzeni roboczej [41] oraz moduł komunikacji bezprzewodowej (własny lub zintegrowany z przenoszonym czujnikiem). Przyjmujemy, że stacja bazowa, która gromadzi dane przesyłane przez sensory nie zmienia swojego położenia. W większości prac przedstawionych w literaturze [44, 87, 104, 170] przyjmuje się, że liczba robotów jest mniejsza niż liczba sensorów, a roboty mogą jednocześnie przenosić więcej niż jeden czujnik. W przykładzie prezentowanym w niniejszym rozdziale zało- 98
99 żono, że liczba robotów jest równa liczbie czujników. W chwili początkowej każdy z robotów znajduje się w ustalonym położeniu wyjściowym, które jest narzucone przez projektanta lub wynika z aktualnej pozycji robota. Następnie roboty przemieszczają się do punktów wyznaczonych przez przyjęty algorytm formowania sieci. Roboty poruszają się w nieznanym obszarze, dlatego realizowana trajektoria ruchu jest modyfikowana w celu omijania, identyfikowanych na bieżąco, przeszkód i unikania kolizji z innymi obiektami ruchomymi. Proces formowania sieci uznajemy za zakończony, gdy węzły sieci docierają do celu i ruch robotów ustaje. Warunki środowiska, w tym ukształtowanie terenu, mogą spowodować, że nie wszystkie węzły zbudowanej sieci będą miały zapewnioną komunikację ze stacją bazową. Budując sieć dążymy do sytuacji, w której nie występują węzły izolowane. Algorytmy formowania mobilnej sieci możemy podzielić na trzy grupy (rys ). Do pierwszej zaliczymy algorytmy nazywane dalej losowymi, w których docelowe położenia węzłów sieci w przestrzeni roboczej generowane są niezależnie i zgodnie z wybranym rozkładem prawdopodobieństwa. Druga grupa obejmuje algorytmy, w których istnieje zależność pomiędzy docelowymi położeniami poszczególnych węzłów sieci. W obu wymienionych przypadkach zakładamy brak lub niepełną wiedzę o przestrzeni roboczej. Są to podejścia suboptymalne. W literaturze proponowane są również metody optymalnego rozmieszczenia sensorów [170]. Wymagają one jednak uwzględnienia pełnej wiedzy na temat warunków środowiska, w której działa sieć, a więc m.in. mapy przeszkód i dokładnej informacji o mocy propagowanego sygnału radiowego. W przypadkach, gdy nie dysponujemy taką wiedzą, konieczne jest opracowanie odpowiednich heurystyk. Tego typu podejścia oczywiście nie gwarantują optymalnego rozmieszczenia czujników. Rys Podział algorytmów formowania mobilnej sieci sensorowej. W przedstawionym przykładzie przyjęto pewne założenia upraszczające, które dotyczą zarówno modułu radiowego, jak i detektorów. Założono że i-ty węzeł sieci D i posiada czujniki tego samego typu, które zbierają dane pomiarowe z powierzchni koła o promieniu r s i środku 99
100 w punkcie referencyjnym c i. Obszar ten oznaczono jako cov i s. Zadanie maksymalizacji obszaru pokrycia czujnikami rozwiązywane jest przy ograniczeniu na spójność sieci oraz wymaganą jakość transmisji bezprzewodowej. Konieczne jest więc oszacowanie maksymalnej odległości r c pomiędzy sąsiadującymi czujnikami, która zapewni spójność i jednocześnie odpowiednie pokrycie monitorowanego obszaru [141]. Zgodnie z literaturą, gdy r t > 3r s, oszacowanie to powinno zawierać się w przedziale r c 3r s,r t, gdzie r t oznacza maksymalny zasięg transmisji bezprzewodowej, a 3r s jest maksymalną odległością pomiędzy węzłami, która gwarantuje 100% pokrycie dla sensorów o zasięgu r s [136] (rys , wariant B). W przypadku, gdy wartość 3r s jest większa niż r t należy przyjąć r c = r t. Rys Wpływ odległości pomiędzy węzłami na pokrycie przestrzeni W siecią sensorów. Wybrane algorytmy formowania sieci ad-hoc zostały zrealizowane w symulatorze MobA- Sim. Następnie wykonano eksperymenty symulacyjne, w których uwzględniono budowę sieci o różnych topologiach. Rozważono przypadek tzw. sieci losowej, gdy położenia węzłów są przypadkowe, sieci regularnej, w której sieć ma narzuconą strukturę oraz sieci samoorganizującej się. Wszystkie badania przeprowadzono dla tego samego scenariusza omówionego w następnym rozdziale. Docelowe pozycje węzłów sieci były wyznaczone za pomocą modelu PFM (rozdz. 3.7). Założono, że poruszające się węzły są wyposażone w odpowiednie czujniki umożliwiające detekcję przeszkód. Następnie oceniono jakość uzyskanych topologii. Przyjęto następujące kryteria: 1. Średnia liczba możliwych bezpośrednich połączeń bezprzewodowych przypadających na jeden sensor (stopień wierzchołka sieci). Wraz ze spadkiem tej wartości zmniejszają się interferencje w sieci i zwiększa się wydajność komunikacji [115]. C dim = 2 S L S C D = 1 S C D dim(d i ), (7.2.1) D i S C D gdzie S C D oznacza zbiór węzłów, które mają zapewnioną komunikację ze stacją bazową, S L 100
101 jest zbiorem bezpośrednich połączeń bezprzewodowych w sieci, dim(d i ) jest stopniem węzła sieci D i. 2. Liczba węzłów izolowanych - czujników, które nie mają bezprzewodowego połączenia bezpośredniego lub wieloskokowego ze stacją bazową. C iso = S I D, (7.2.2) gdzie SD I to zbiór węzłów izolowanych. 3. Procent powierzchni obszaru roboczego W pokryty monitoringiem. C cov = Ω D i S C covi s D, (7.2.3) Ω gdzie cov i s jest obszarem monitorowanym przez sensor D i, S C D oznacza zbiór węzłów, które mają zapewnioną komunikację ze stacją bazową, a Ω jest powierzchnią obszaru roboczego W. 4. Czas formowania sieci C tim mierzony do chwili, gdy czujniki znajdą się w położeniach docelowych. 5. Suma długości dróg, którą pokonały roboty od punktu początkowego do punktu docelowego, w którym położenia czujników są ustalone. C tim C len = k=1 c i (k) ci (k 1), (7.2.4) D i S D gdzie C tim oznacza czas formowania sieci, a c i (k) ci (k 1) jest drogą pokonaną przez węzeł D i od chwili t k 1 do chwili t k. Kryteria C dim, C iso, C cov pokazują na ile spełnione są wymagania dotyczące tworzonych sieci. Dotyczą one wydajności sieci, jej spójności i wielkości obszaru, z którego uzyskamy pomiary. Druga grupa kryteriów C len i C tim charakteryzuje koszty formowania sieci w przypadku rozważanego algorytmu. Należą do nich czas formowania sieci oraz odległości pokonane przez urządzenia mobilne Scenariusz testowy Miejscem akcji rozważanego scenariusza testowego jest hala przylotów na przykładowym lotnisku pasażerskim. Obejmuje ona obszar 8100 m 2. W hali występuje szereg przeszkód (rys. 101
102 7.2.3). Są to m.in. ściany, schody ruchome, elementy platformy bagażowej oraz wydzielone pomieszczenia. Założono, że w budynkach portu lotniczego wystąpiła sytuacja awaryjna - np. bezpośrednie zagrożenie atakiem terrorystycznym. Powołane z tego powodu centrum zarządzania kryzysowego potrzebuje bieżących informacji na temat obecności osób i ich przemieszczania się po terenie lotniska oraz w budynkach portu lotniczego. System monitoringu zainstalowany w hali przylotów uległ uszkodzeniu lub nie spełnia wymagań systemu zarządzania kryzysowego. Wobec zaistniałej sytuacji podjęto decyzję o utworzeniu zastępczego systemu monitoringu zbudowanego na bazie bezprzewodowej sieci ad-hoc. Czujniki są umieszczone na jednym poziomie w przestrzeni dwuwymiarowej. Rys Plan hali przylotów - obszaru działania formowanej sieci monitorującej. Dostępne zasoby: Mobilne urządzenia (np. roboty) wyposażone w moduły komunikacji bezprzewodowej IEEE , moduły lokalizacji oraz czujniki ruchu lub kamery termowizyjne. Tylko jedno z urządzeń mobilnych tzw. stacja bazowa ma możliwość bezpośredniej komunikacji z centrum zarządzania kryzysowego. Pozostałe urządzenia przesyłają dane z czujników do centrum zarządzania kryzysowego z wykorzystaniem innych węzłów sieci i stacji bazowej. Sieć tworzona jest z 22 węzłów: 21 węzłów mobilnych o indeksach i = 2,...,22 (kolor niebieski) oraz stacjonarnej stacji bazowej o indeksie i = 1 (kolor czerwony, stałe położenie c 1 = [60.1,85.1,0]). Stacja bazowa przekazuje dane do centrum zarządzania kryzysowego. Maksymalna prędkość, z jaką poruszają się węzły mobilne, wynosi 2 m/s. Parametry węzłów symulowanej sieci zawiera tabela Każdy mobilny węzeł sieci dysponuje dodatkowo czujnikiem służącym do detekcji napotkanych przeszkód (np. detektor ultradźwiękowy). Detekcja może być przeprowadzona z odległości nie większej niż d v. Omijanie przeszkód jest realizowa- 102
103 ne za pomocą metody L lub A opisanych w rozdziale Tab Parametry węzła D i symulowanej sieci ad-hoc. Nazwa parametru Stacja bazowa Węzeł mobilny Szybkość maksymalna v maxi 0 2 m/s Szybkość minimalna v mini 0 0,1 m/s Maksymalna droga hamowania d b - 4 m Zasięg identyfikacji przeszkody d v - do 10 m Kształt Walec o średnicy 1 m Walec o średnicy 1 m Kolor Czerwony Niebieski Strategia omijania przeszkód - do 60 s metoda L, od 61 s metoda A Dopuszczalna odległość od przeszkody - maksymalnie 0,7 m Błąd pomiaru współrzędnej położenia C x - [0-10] cm Błąd pomiaru współrzędnej położenia C y - [0-10] cm Błąd pomiaru współrzędnej położenia C z - [0-10] cm Poziom mocy nadajnika Pt i -10 dbm -10 dbm Czułość odbiornika Ps i -95 dbm -95 dbm Zasięg czujnika r s 10 m 10 m Zadanie: Wykrywanie ruchu ludzi w wskazanych szczególnych miejscach hali przylotów - w pobliżu wejść do hali, wind, schodów ruchomych, itp. Pozostałe powierzchnie monitorowane są w zależności od liczby dostępnych urządzeń mobilnych i zasięgu komunikacji. Zalecane są położenia urządzeń mobilnych w pobliżu ścian i innych przeszkód tak, aby elementy systemu monitoringu nie blokowały korytarzy komunikacyjnych dla pieszych (np. pasażerów w trakcie ewakuacji). Założenia: Maksymalny horyzont symulacji to: T k,max = 300 sekund. Po tym czasie symulacja jest przerywana bez względu na rezultaty. Przez pierwsze 60 sekund symulowanego czasu wszystkie węzły mobilne stosują omijanie przeszkód w wariancie L, a następnie przez kolejne 240 sekund w wariancie A. Przyjęte parametry modelu propagacji radiowej F (3.5.2): n = 2.8, σ = 2, co odpowiada warunkom w pomieszczeniu z licznymi przeszkodami. Zasięg transmisji bezprzewodowej dla wyżej wymienionych parametrów przyjęto równy odległości, przy której prawdopodobieństwo połączenia bezprzewodowego pomiędzy węzłami sieci wynosi 99%. Zgodnie z wzorem (3.5.28) zasięg transmisji jest równy r t = 27.6m. Zasięg działania czujnika przyjęto równy r s = 10m, co pozwala wyznaczyć maksymalny teoretyczny procent pokrycia hali monitorującą siecią C cov 0,85. Trajektoria ruchu poruszającego się obiektu jest generowana lokalnie za pomocą algorytmu DHPFM (alg. 3 z rozdziału 3.7.4). Badając algorytmy formowania sieci rozważano trzy warianty zakładające różne warunki 103
104 działania sieci: W1 obszar roboczy pozbawiony jest przeszkód. W2 w obszarze roboczym występują przeszkody. Założono, że położenie przeszkód nie jest znane. W3 w obszarze roboczym występują przeszkody. Przyjęto, że każdy węzeł sieci dysponuje mapą obszaru działania sieci planem rozmieszczenia przeszkód w hali przylotów. Dodatkowo założono, że dostępna mapa rozłożenia przeszkód może być wykorzystana jedynie do wyznaczenia docelowego położenia węzła w formowanej sieci, a nie trajektorii ruchu węzłów. Trajektorie były generowane na bieżąco. Środowisko obliczeniowe: Komputer z procesorem Intel Core i7-3612qm 2.1 GHz, pamięcią RAM 8 GB oraz systemem operacyjnym Windows 7 64bit, środowisko programistyczne JDK v.1.7, symulator MobASim Formowanie sieci losowej Losowe rozmieszczenie czujników w monitorowanym obszarze jest bardzo często stosowanym podejściem w tworzeniu sieci sensorowej ([29, 53, 101]). Ma to miejsce w sytuacji, gdy nie ma możliwości kontrolowanego rozmieszczenia urządzeń na danym obszarze, czujniki są np. zrzucane z samolotu (pot. rozsiewane ). Inną metodą losowego rozmieszczenia czujników jest wykorzystanie możliwości poruszania się węzłów i założenie swobodnego ich ruchu. W tym przypadku ruch węzłów przypomina dyfuzję cząstek w ośrodku [88]. Przeprowadzono badania symulacyjne tworzenia sieci losowej przy założeniu, że położenia węzłów sieci generowane są zgodnie z rozkładem równomiernym w dwuwymiarowej przestrzeni roboczej. W eksperymentach założono, że ma ona postać kwadratu. Analizowano trzy warianty scenariusza opisane w rozdziale 7.2.1: W1 obszar bez przeszkód, W2 obszar z nieznanymi przeszkodami, W3 obszar ze znanymi przeszkodami. Rozważany algorytm formowania sieci losowej jest bardzo prosty do realizacji w środowisku MobASim. Na początku symulacji zostały wygenerowane współrzędne celu g i = [x gi,y gi ] dla każdego z 21 mobilnych węzłów D i. Współrzędne te losowano zgodnie z rozkładem równomiernym z przedziału (0,90m). Przyjęto, że odległość referencyjna ˆ d i od punktu docelowego jest równa 1m, a waga ε i wynosi 1. W chwili t = 1 czasu symulowanego węzły rozpoczęły ruch w kierunku wylosowanego punktu g i. Trajektoria ruchu generowana była zgodnie z algorytmem DHPFM (alg. 3 z rozdziału 3.7.4) i nie wymagała znanej a priori mapy obszaru działania sieci planu hali przylotów. Mechanizm formowania sieci losowej sformułowano w postaci, realizowanego lokalnie przez każdy z węzłów sieci, algorytmu AL (alg. 4). Założono, że podczas 104
105 realizacji zadania węzły sieci nie współpracowały ze sobą. Wskaźnik jakości oceniający ich położenie przyjmuje więc uproszczoną formę: [ ( ) 1 2 ( ) vmaxi t 2 ] min V i = 1 + c i,p 1 i,...,pp i d i ε il 1, (7.2.5) i h l H i d il gdzie d i = g i c i, a H i jest zbiorem punktów oddziaływania modyfikujących trajektorię ruchu węzła w celu ominięcia zidentyfikowanych przeszkód (rozdz ). Przykładowy przebieg symulacji formowania sieci w wariancie W2 oraz uzyskaną topologię sieci przedstawia rysunek Okręgi otaczające każdy z węzłów sieci pokazują zasięg czujnika przenoszonego przez mobilnego robota, a linie przerywane istniejące w danej chwili połączenia bezprzewodowe. Algorytm 4 (AL) 1: t k = 0 2: Wylosowanie współrzędnych celu g i 3: Przyjęcie dˆ i = 1m, ε i = 1. 4: while t k T K and V i > 0 do 5: Wyznaczenie przesunięcia punktu orientacji c i,(k+1) : Rozwiązanie zad. Z 1. 6: if c i,(k+1) c i,(k) < t v mini then 7: c i,(k+1) = c i,(k) 8: end if 9: Wyznaczenie d o : odległości od najbliższej przeszkody kolidującej z torem ruchu. 10: if (d o < d b ) then 11: Wyznaczenie nowej wartości prędkości v i. 12: Modyfikacja położenia punktu orientacji c i,(k+1). 13: end if 14: Wyznaczenie położenia wierzchołków wielościanu Env i,(k+1) : rozwiązanie zadania Z 2. 15: Wyznaczenie docelowego położenia punktu c i (k+1) : rozwiązanie zadania Z 3. 16: t k+1 = t k + t 17: end while W wariancie W3 podczas generowania docelowych położeń węzłów sieci była wykorzystana mapa przeszkód. W przypadku scenariusza ze znanymi przeszkodami dla wylosowanych punktów, które znalazły się w obszarze zajmowanym przez przeszkody powtórzono procedurę losowego generowania współrzędnych, aż do uzyskania lokalizacji, które nie kolidowały z przeszkodami. Wyniki symulacji wariantu W3 przedstawiono na rysunku Algorytm losowy nie gwarantuje spójności sieci ad-hoc formowanej zgodnie z przestawionym scenariuszem (rys ). Prawdopodobieństwo istnienia węzłów izolowanych spada wraz ze wzrostem liczby węzłów sieci rozmieszczanych w interesującym obszarze. Zwiększenie liczby węzłów powoduje jednak wzrost interferencji, spadek jakości komunikacji bezprzewodowej oraz wzrost kosztów organizacji sieci ad-hoc. Ze względu na nieznaną liczbę i kształt prze- 105
106 t k C dim C iso C cov C len C tim 68 s Rys Wyniki symulacji formowania losowej sieci (wariant W2): końcowa topologia i zmieniające się w czasie parametry sieci. szkód ograniczających ruch węzłów trudne jest także oszacowanie liczby węzłów potrzebnych do przeprowadzenia pełnego monitoringu hali przylotów. Przeszkody znajdujące się w przestrzeni roboczej praktycznie uniemożliwiają wyznaczenie prawdopodobieństwa uzyskania sieci spójnej. Powierzchnia zajmowana przez przeszkody z jednej strony zmniejsza obszar działania sieci, co zwiększa prawdopodobieństwo utworzenia sieci spójnej, a z drugiej strony ogranicza komunikację bezprzewodową węzłów znajdujących się w pobliżu przeszkód, co zwiększa niebezpieczeństwo utworzenia sieci niespójnej. Przeprowadzono szczegółową analizę procesu formowania sieci losowej na przykładzie wariantu W1, a więc przy założeniu braku przeszkód. Wykonano losowych prób formowania sieci ad-hoc w obszarze 8100 m 2 przy założonym zasięgu komunikacji bezprzewodowej równym r t = 27.6m. Wyniki statystyczne pokazujące jak często poszczególne węzły były izolowane prezentuje rysunek W wyniku przeprowadzonych testów na wyznaczonych sieci było sieciami spójnymi. W określonej przestrzeni roboczej oraz przy ustalonym zasięgu transmisji radiowej można wyznaczyć górne oszacowanie prawdopodobieństwa P( SD I = 1), z jakim dokładnie jeden węzeł sieci jest węzłem izolowanym. Dla przypadku B przedstawionego na rysunku 7.2.7, gdy węzeł znajduje się w rogu rozważanego obszaru działania najgorszy przypadek wzór na prawdopodobieństwo P B ( SD I = 1) jest następujący: P B ( S I D = 1) = ( 1 C bs π rt 2 )( π ) (N 2) r2 t, (7.2.6) Ω Ω 106
107 t k C dim C iso C cov C len C tim 94 s Rys Wyniki symulacji formowania losowej sieci (wariant W3): końcowa topologia i zmieniające się w czasie parametry sieci. Rys Średnie wyniki formowania sieci losowej podstawie prób na obszarze bez przeszkód liczba węzłów izolowanych SD I. Sieć spójna % prób, niespójna = % prób. gdzie Ω jest polem powierzchni obszaru roboczego, a C bs = π r2 t Ω jest procentem pełnego π rt 2 obszaru objętego zasięgiem radiowym stacji bazowej dostępnym na obszarze Ω. Dla przyjętych w scenariuszu wartości Ω = 8100m 2 oraz C bs = 0.61 górne oszacowanie prawdopodobieństwa jest równe Wzór (7.2.6) można uogólnić do postaci nierówności podającej górne oszacowanie prawdopodobieństwa wystąpienia jednego węzła izolowanego o dowolnej lokalizacji na obszarze roboczym: P( S I D = 1) P B ( S I D = 1) (7.2.7) Wartość uzyskana w eksperymentach symulacyjnych ( ) spełnia nierówność (7.2.7). Prawdopodobieństwo wystąpienia węzła izolowanego zmniejsza się wraz ze wzrostem licz- 107
108 Rys Przykładowa ilustracja topologii sieci ad-hoc z izolowaną stacją bazową A) lub jednym węzłem izolowanym B). by węzłów N oraz zwiększeniem zasięgu transmisji radiowej r t. Nierówność (7.2.7) można przekształcić do postaci (7.2.8) pozwalającej oszacować liczbę węzłów, dla której prawdopodobieństwo izolacji jednego węzła sieci jest odpowiednio niskie. N 2 + log ( P( SI D = 1) ) 1 C bs π rt 2 Ω 1 ( log π r2 t Ω ) (7.2.8) W rozważanym przykładzie potrzeba co najmniej 90 węzłów, aby zagwarantować, że P( S I D = 1) < Drugą skrajną sytuacją jest przypadek, w którym stacja bazowa nie jest połączona z żadnym z węzłów sieci ad-hoc (21 węzłów izolowanych, rys , wariant A). W rozważanym przykładzie prawdopodobieństwo, że w zasięgu stacji bazowej nie będzie żadnego węzła wynosi P( SD I = 21) = Jest to wynik uzyskany eksperymentalnie (rys ). W ogólnym przypadku można je wyznaczyć ze wzoru: P( S I D = N 1) = ( 1 C bs π rt 2 ) (N 1). (7.2.9) Ω Podobnie jak w poprzedniej sytuacji prawdopodobieństwo P( SD I = N 1) spada wraz ze zwiększaniem zasięgu transmisji r t, zwiększaniem liczby węzłów N oraz zwiększaniem obszaru pokrytego bezpośrednim zasięgiem radiowym stacji bazowej. Innymi rozwiązaniami poprawiającymi własności sieci losowych są techniki uwzględniające rolę węzłów w sieci przy generowaniu ich położenia (np. sensory i węzły pośredniczące 108
109 w transmisji, [164, 165]) oraz metody, w których parametry generatorów zależą od położenia stacji bazowej Formowanie sieci regularnej W algorytmach formowania sieci regularnej wprowadzono zależności przestrzenne pomiędzy położeniem poszczególnych węzłów sieci. Wykorzystuje się tu wiedzę np. na temat zasięgu transmisji bezprzewodowej, położenia stacji bazowej, itp. Sieci regularne charakteryzują się tym, ze położenia węzłów tworzą najczęściej regularny wzór, np. kratownicę z założoną odległością r c pomiędzy sąsiednimi węzłami (rys ). Lokalizacje poszczególnych węzłów sieci muszą być wyznaczone w sposób skoordynowany, dlatego konieczne jest wprowadzenie odpowiedniego rozproszonego algorytmu wyznaczania pozycji lub wskazanie jednostki centralnej koordynatora, która wyznaczy położenia wszystkich węzłów i przekaże je do urządzeń mobilnych. Przykładami algorytmów rozproszonych są mechanizmy LRV (Least Recently Visited, [45]) oraz BTD (Back-Tracking Deployment, [66]), w których urządzenie mobilne przenoszące więcej niż jeden sensor umieszcza kolejne sensory w miejscach wyznaczonych na podstawie informacji otrzymanych od już rozlokowanych czujników. Przyjęty stały zestaw kierunków przemieszczania się urządzenia (np. wschód-zachód, północ-południe) powoduje, że zbudowana sieć przyjmuje regularną topologię kratownicy (rys , wariant A). Kolejnym algorytmem jest mechanizm OFRD (Obstacle-Free Robot Deployment, [56]), w którym jedno urządzenie mobilne rozmieszcza sensory, tworząc sieć w postaci grafu trójkątnego [136] (ang. triangular grid) (rys , wariant B). Rys Sieci regularne: A) kratownica, B) graf trójkątny. W ramach pracy przeprowadzono eksperymenty symulacyjne budowy sieci regularnej o topologii grafu trójkątnego do monitorowania hali przylotów. Rozważano trzy warianty: W1 sieć regularna na obszarze pozbawionym przeszkód, W2 sieć regularna na obszarze z przeszkodami o nieznanym położeniu, W3 sieć regularna na obszarze z przeszkodami o znanym położeniu i kształcie. We wszystkich wariantach założono, że lokalizacje węzłów są wyznaczane przez koordynatora. Trajektoria ruchu poszczególnych urządzeń generowana była zgodnie z algorytmem DHPFM (alg. 3 z rozdziału 3.7.4). Dostęp do mapy przeszkód w wariancie W3 miał wyłącznie koordynator. 109
110 W eksperymentach założono, że odległość pomiędzy sąsiednimi węzłami w sieci docelowej wynosi r c = 17.4m, co jest wartością mniejszą niż założony zasięg transmisji bezprzewodowej (r t = 27.6m) i niewiele większą od 3r s = 17.32m. Odpowiedni wybór wartości r c powoduje, że bezpośrednie połączenia bezprzewodowe występują tylko pomiędzy węzłami sąsiednimi. W rzeczywistości dobór odległości r c może być zadaniem trudnym, szczególnie w sytuacji, gdy środowisko, w którym działa sieć nie jest jednorodne, zmieniają się tłumienie sygnału radiowego i interferencje. Rys Schemat generowania wierzchołków grafu trójkątnego. Zadanie realizowane przez koordynatora zostało sformułowane w postaci algorytmu BA- SE_STATION (alg. 5). W pierwszym kroku wygenerowane zostały dopuszczalne wierzchołki grafu trójkątnego. Punktem początkowym było położenie stacji bazowej (w rozważanych przykładach c 1 = [x 1,y i ] = [60.1,85.1]). Kolejne punkty wyznaczono modyfikując współrzędną x 1 o wartości a = r c lub 2 a = r c 2, a współrzędną y 1 o wartość h = 3 2 r c, zgodnie ze schematem przedstawionym na rysunku W pierwszej kolejności generowane były wierzchołki położone najbliżej stacji bazowej i tworzące pierścień nr 1 (rys ), następnie tworzono kolejne pierścienie otaczające stację bazową o stopniowo większych promieniach. Punkty położone poza obszarem działania sieci były odrzucane, a punkty prawidłowe g i = [x gi,y gi ] stanowiły położenia celu ruchu kolejnych węzłów sieci. W sytuacji, gdy liczba punktów dopuszczalnych była mniejsza niż liczba urządzeń mobilnych, nie wszystkie węzły są wykorzystane. Zaprezentowany algorytm można wykorzystać np. do generowania sieci realizującej monitoring skupiony wokół wskazanego punktu zainteresowania POI [41]. W drugim kroku algorytmu wyznaczone położenia docelowe zostały przesłane do robotów, które rozpoczęły ruch w kierunku celu, zgodnie z algorytmem DHPFM (alg. 3 z rozdziału 3.7.4). Tak jak w przypadku algorytmu losowego 110
111 przyjęto, że odległość referencyjna ˆ d i od punktu docelowego jest równa 1m, a waga ε i wynosi 1. Wskaźnik jakości położenia węzłów mobilnych w rozważanym zadaniu przyjął następującą formę: [ ( ) 1 2 ( ) vmaxi t 2 ] min V i = 1 + c i,p 1 i,...,pp i d i ε il 1, (7.2.10) i h l H i d il gdzie d i = g i c i, d il = h l c i, a H i jest zbiorem punktów oddziaływania modyfikujących trajektorię ruchu węzła w celu ominięcia zidentyfikowanych przeszkód (rozdz ). Algorytm 5 (BASE_STATION) 1: for i = 2 to i = N do 2: Wygenerowanie kolejnego dopuszczalnego wierzchołka grafu trójkątnego: g i W. 3: Wysłanie do węzła D i położenia docelowego g i. 4: end for t k C dim C iso C cov C len r c = m C tim = 40 s Rys Wyniki symulacji algorytmu formowania regularnej sieci(wariant W1): końcowa topologia i zmieniające się w czasie parametry sieci ad-hoc. Sieć uzyskana w przypadku wariantu W1 (bez przeszkód) miała bardzo dobre parametry: nie wystąpiły węzły izolowane, a pokrycie siecią pomiarową osiągnęło 69%. Wynik ten uzyskano już po 40 s symulowanego czasu i nie uległ on dalszej poprawie lub pogorszeniu (rys ). W przypadku ośmiu węzłów położonych w odległości mniejszej niż r s od brzegu obszaru roboczego, część pola monitorowanego przez sensor znajduje się poza obszarem roboczym i nie jest uwzględniana w wyznaczonej wartości C cov. Odpowiednio dobrane położenie stacji bazowej może więc spowodować zwiększenie pokrycia obszaru roboczego siecią monitorującą. 111
112 t k C dim C iso C cov C len r c = m C tim = 103 s Rys Wyniki symulacji algorytmu formowania regularnej sieci (wariant W2): końcowa topologia i zmieniające się w czasie parametry sieci. Skutki wprowadzenia przeszkód, które nie były znane koordynatorowi na etapie wyznaczania lokalizacji punktów docelowych dla poszczególnych węzłów, zostały przeanalizowane w wariancie W2. Wyniki działania algorytmu formowania sieci prezentuje rysunek Otrzymano również sieć spójną. Przeszkody zaburzyły jednak regularną topologię sieci (rys ), co spowodowało zmniejszenie obszaru objętego monitoringiem C cov = 0.65 oraz wydłużenie drogi C len = pokonanej przez węzły omijające przeszkody. Sieć została uformowana po 103 sekundach symulowanego czasu. W wariancie W3 założono, że koordynator dysponuje mapą przestrzeni roboczej. W ten sposób od razu mogą być eliminowane niedozwolone położenia węzłów (w obszarze objętym przez przeszkody). Wyniki działania algorytmu w tym przypadku przedstawia rysunek Uzyskane rezultaty są znacznie lepsze niż w przypadku wariantu W2. Pokrycie monitorującą siecią sięgnęło 73%, nie ma węzłów izolowanych, a średni stopień wierzchołka sieci to 4. Wyniki te osiągnięto po 110 s symulowanego czasu. Regularny wzór sieci nie został zaburzony przez przeszkody. Sumaryczna droga pokonana przez węzły mobilne C len = uległa zmniejszeniu w stosunku do wyniku uzyskanego w wariancie W2. Testowane algorytmy formowania regularnej sieci ad-hoc dały dobre rezultaty. Należy jednak pamiętać o ograniczeniach z nimi związanych. Konieczne jest wprowadzenie koordynatora lub lokalnego algorytmu, który wyznaczy lokalizacje urządzeń komunikacji bezprzewodowej odpowiadające wierzchołkom założonego wcześniej grafu. Dodatkowo, wyniki pracy koordynatora w dużej mierze zależą od rodzaju i jakości danych na temat obszaru i środowiska działania sieci. Konieczne jest oszacowanie odpowiedniej odległości pomiędzy węzłami sieci. Bardzo 112
113 przydatna jest również mapa monitorowanego obszaru. t k C dim C iso C cov C len r c = m C tim = 110 s Rys Wyniki symulacji algorytmu formowania regularnej sieci (wariant W3): końcowa topologia i zmieniające się w czasie parametry sieci Sie samoorganizuj ca si Algorytmy formowania sieci ad-hoc wykorzystujące mechanizm samoorganizacji węzłów są aktualnie silnie rozwijającą się dziedziną badań z pogranicza robotyki i bezprzewodowych sieci sensorowych. W algorytmach tego typu zakłada się, że każde z urządzeń tworzących sieć może się poruszać oraz potrafi wyznaczyć swoje kolejne położenia na podstawie aktualnego stanu sieci lub informacji uzyskanych od sąsiednich węzłów. W literaturze wyróżnia się kilka grup algorytmów samoorganizacji stosowanych w mobilnych sieciach ad-hoc. Należą do nich [120]: Metody sztucznej funkcji potencjału, w literaturze dotyczącej samoorganizacji określane też metodami siły wirtualnej (ang. virtual force approach). W tych rozwiązaniach kolejne położenia węzła mobilnego wyznaczane są zgodnie z wektorem sztucznie wprowadzonej siły oddziaływania pomiędzy węzłem sieci i punktami odniesienia (np. innymi węzłami). Metody różnią się sposobem wyznaczania siły wirtualnej, inspirowanej zazwyczaj zjawiskami fizycznymi (np. polami potencjału [87], oddziaływaniami międzycząsteczkowymi [84], siłami elektromagnetycznymi [159]). Siła wirtualna jest kombinacją sił przyciągających i odpychających. Przykładem metod siły wirtualnej są algorytmy wykorzystujące aparat obliczeniowy stosowany w optymalizacji metodą rojów cząstek (ang. particle swarm optimization) [84, 163]. Inne algorytmy tego typu opisano w pracach [71, 135]. 113
114 Głównym problemem jest konieczność częstej wymiany informacji pomiędzy węzłami formującymi sieć oraz stabilność uzyskanej topologii i unikanie oscylacji w ruchach węzłów sieci. Metody wykorzystujące diagram Woronoja (ang. Voronoi-based approach), [61, 158, 159], w których zakłada się, że węzeł sieci przemieszcza się do punktu odniesienia znajdującego się w przypisanym mu regionie grafu Woronoja. Algorytmy przedstawione w literaturze różnią się przeważnie metodą wyznaczania punktu docelowego zlokalizowanego wewnątrz rozważanego obszaru. Podobnie jak w metodach siły wirtualnej problemem jest duża liczba komunikatów wymienianych pomiędzy węzłami w trakcie konstrukcji grafu Woronoja oraz możliwe oscylacje w ruchu węzłów sieci. Metody równoważące liczbę sensorów na poszczególnych podobszarach działania sieci (ang. load-balancing approach), [120, 167]. Położenie sensorów jest wyznaczane w sposób iteracyjny z wykorzystaniem informacji o liczbie sensorów umieszczonych w jednakowych komórkach, na które podzielono obszar działania sieci. Węzły przemieszczają się z obszarów o dużej gęstości rozmieszczenia sensorów do obszarów o niskiej gęstości. Przykładem metod tego typu są algorytmy DSSA (Distributed Self-Spreading Algorithm, [82]) oraz IDCA (Intelligent Deployment and Clustering Algorithm, [83]). W przypadku gęstych sieci metody te generują bardzo dużą liczbę komunikatów wymienianych pomiędzy węzłami oraz wymagają dużej liczby powtórzeń pojedynczego kroku algorytmu. Metody stochastyczne (ang. stochastic approach, [117, 120]). Metody wykorzystujące losowe modele ruchu węzłów. Punkt docelowy ruchu węzła jest tu generowany w sposób losowy z założeniem, że preferowane są obszary o niskiej gęstości rozmieszczenia sensorów. Węzły wymieniając między sobą komunikaty dążą do w miarę możliwości równomiernego rozłożenia. Metody tego typu nie gwarantują osiągnięcia pożądanego pokrycia siecią monitorowanego obszaru ani uzyskania sieci spójnej. Metody siatki (ang. point-coverage approach), [39, 104, 117]. W tych podejściach problem pokrycia obszaru ROI przekształcany jest do grupy problemów pokrycia punktowego POI. Wyznaczone położenie docelowe odpowiada najczęściej wierzchołkom grafu trójkątnego, co pozwala wykorzystać pozytywne cechy mechanizmów formowania sieci regularnej (rozdział 7.2.3). Problemem w metodach tego typu jest wydajne, rozproszone wygenerowanie grafu (zwykle drzewa), którego wierzchołki odpowiadają punktom POI. Zadanie to jest najczęściej realizowane za pomocą dedykowanego protokołu [40] i w przypadku obszaru z nieznanymi przeszkodami uzyskana sieć może nie spełniać założonych wymagań. 114
115 Rozproszone mechanizmy samoorganizacji wymagają wymiany komunikatów pomiędzy węzłami formującymi sieć. Dodatkowe problemy sprawiają oscylacje w ruchu węzłów spowodowane opóźnieniami w wymianie danych służących do wyznaczenia kolejnej pozycji poruszającego się urządzenia. Stabilność topologii sieci uzyskanej za pomocą prezentowanych rozwiązań wymaga wprowadzenia pewnych dodatkowych mechanizmów. We wszystkich wymienionych algorytmach problemem jest omijanie przeszkód i w większości przypadków problem ten jest niestety ignorowany. Autor opracował algorytm samoorganizacji sieci sensorowej z grupy mechanizmów siły wirtualnej oparty na modelu ruchu PFM opisanym w rozdziale 3.7. Ze względu na cechy modelu PFM zaproponowany algorytm samoorganizacji wykorzystuje zmodyfikowaną wersję algorytmu DHPFM (alg. 3). Projektując sieć z wykorzystaniem tego algorytmu założono, iż węzły są wyposażone w narzędzia umożliwiające wyznaczenie ich aktualnego położenia moduły lokalizacji GPS lub inne, [125]. Algorytm 6 (BASE_STATION) 1: t k = 0 2: while t k T K do 3: Rozgłoszenie własnej pozycji: Stacja bazowa D 1 wysyła wiadomość typu broadcast zawierającą lokalizację punktu orientacji c 1 = [x 1,y 1,z 1 ], aktualny znacznik czasowy t bs = t k oraz oczekiwaną odległość r c pomiędzy sąsiadującymi węzłami. 4: t k+1 = t k + t 5: end while Działanie algorytmu jest następujące. Zakłada się, że w chwili początkowej t k = 0 wszystkie węzły mobilne znajdują się w bezpośrednim zasięgu komunikacji bezprzewodowej stacji bazowej i oczekują na komunikat o rozpoczęciu formowania sieci. Stacja bazowa inicjuje procedurę formowania sieci przez uruchomienie algorytmu BASE_STATION (alg. 6) i rozgłoszenie własnej pozycji c 1 = [x 1,y 1 ], wagi ε 1, aktualnego znacznika czasowego t bs synchronizującego wszystkie węzły sieci oraz oczekiwanej odległości r c pomiędzy sąsiadującymi węzłami sieci. Komunikat zawierający wymienione dane wysyłany jest przez stację bazową w każdej kolejnej iteracji działania algorytmu. Po otrzymaniu pierwszego komunikatu węzły dysponują wiedzą na temat lokalizacji stacji i rozpoczynają działanie zgodnie z algorytmem NETWORK_NODE (alg. 7). W każdej iteracji algorytmu NETWORK_NODE węzły sieci rozgłaszają własne położenie c i,(k), wektor prędkości v i,(k), przypisaną wagę ε i oraz ostatni znacznik czasowy komunikacji ze stacją bazową t bs, a także odbierają informacje o lokalizacji węzłów sąsiednich i wyznaczają na tej podstawie swoją nową pozycję c i,(k+1). Dodatkowo, lokalnie kontrolują znacznik czasowy ostatniej komunikacji ze stacją bazową. Jeżeli przez (N 1) iteracji algorytmu NE- TWORK_NODE węzeł nie otrzyma komunikatu ze znacznikiem czasowym t bs ( j) większym od aktualnie znanego mu t bs oznacza to, że węzeł stracił możliwość komunikacji ze stacją bazową. Węzeł mobilny modyfikuje wtedy własną listę celów i rozpoczyna procedurę powrotu 115
116 w kierunku stacji bazowej, aż do ponownego nawiązania z nią kontaktu. W algorytmie NE- TWORK_NODE wykorzystano następujące procedury, które nie są dostępne w implementacji DHPFM: init(c 1,r c,t s ) Odczyt komunikatu od stacji bazowej D 1. Procedura obejmuje zapis położenia stacji bazowej c 1, oczekiwanej odległości pomiędzy węzłami r c, uruchomienie algorytmu lokalnego z czasem początkowym t s oraz czasem ostatniej komunikacji ze stacją bazową t bs. send(c i,(k),v i,(k),ε i,t bs ) Rozgłoszenie własnego położenia. Węzeł D i wysyła wiadomość typu broadcast zawierającą lokalizację punktu c i,(k), wektor prędkości v i,(k), przypisaną wagę ε i oraz znacznik czasowy t bs ostatniego komunikatu z pozycją stacji bazowej c 1. Za wagę ε i przyjęto stopień wierzchołka sieci liczbę węzłów bezpośrednio komunikujących się z D i. read(...) Odczyt komunikatów. Odbiór m < N komunikatów zawierających pozycje sąsiednich węzłów c j,(k),...,c m,(k) (w tym stacji bazowej) będących w zasięgu komunikacji bezprzewodowej węzła D i, ich prędkości v j,(k),...,v m,(k), wagi ε j,(k),...,ε m,(k) oraz znaczniki czasowe ich ostatniej komunikacji z stacją bazową t bs ( j),...,t bs (m). update(c j,(k),...,c m,(k) ) Aktualizacja listy węzłów współpracujących. Każdemu otrzymanemu komunikatowi odpowiada węzeł współpracujący o położeniu c j, odległości referencyjnej dˆ i j = r c oraz wadze ε i j = ε j. add(c 1,r c,ε 1 ). Procedura powrotu do stacji bazowej. W kolejnych chwilach czasowych węzły sieci wyznaczają swoje nowe położenie na podstawie informacji otrzymanych od węzłów sąsiednich oraz danych zebranych w trakcie eksploracji obszaru roboczego (np. na temat przeszkód). Wskaźnik jakości położenia urządzenia D i przyjmuje następującą postać: [ min V i = c i,p 1 i,...,pp i i ( ) 2 ˆ ( ) d i j vmaxi t 2 ] ε i j 1 + D j S Ci d i j ε il 1, (7.2.11) h l H i d il gdzie ˆ d i j jest narzuconą przez stację bazową odległością referencyjną pomiędzy urządzeniami, d i j = c j c i jest zmierzoną odległością pomiędzy urządzeniami D i i D j, a H i jest zbiorem punktów oddziaływania modyfikujących trajektorię ruchu węzła w celu ominięcia zidentyfikowanych przeszkód (rozdz ). Jak było wspomniane w prezentowanym algorytmie zakłada się, że oczekiwana odległość dˆ i j pomiędzy węzłami sieci została wstępnie wyznaczona (np. równa r c ) i rozesłana przez stację 116
117 Algorytm 7 (NETWORK_NODE) 1: t k = t s 2: while t k T K do 3: init(c 1,r c,t s ) 4: send(c i,(k),v i,(k),ε i,t bs ) 5: read(...) 6: t bs = max{t bs,t bs (1),...,t bs (m)} 7: update(c j,(k),...,c m,(k) ) 8: if t bs < t k (N 1) then 9: add(c 1,r c,ε 1 ) 10: end if 11: Wyznaczenie przesunięcia punktu referencyjnego c i,(k+1) : Rozwiązanie z. Z 1. 12: if c i,(k+1) c i,(k) < t v mini then 13: c i,(k+1) = c i,(k) 14: end if 15: Wyznaczenie d o : odl. od najbliższej przeszkody kolidującej z torem ruchu. 16: if (d o < d b ) then 17: Wyznaczenie nowej wartości prędkości v i. 18: Modyfikacja położenia punktu referencyjnego c i,(k+1). 19: end if 20: Wyznaczenie położenia wierzchołków wielościanu Env i,(k+1) : rozwiązanie zadania Z 2. 21: Wyznaczenie docelowego położenia punktu c i,(k+1) : rozwiązanie zadania Z 3. 22: t k+1 = t k + t 23: end while bazową. Istnieje ponadto możliwość konstrukcji algorytmów formowania sieci, w których także odległości referencyjne pomiędzy węzłami tworzącymi sieć są wyznaczane lokalnie przez każdy z węzłów sieci, np. na podstawie obserwowanego przez nie spadku poziomu mocy sygnału radiowego przesyłanego pomiędzy urządzeniami [132]. Proponowany algorytm formowania sieci został zrealizowany w symulatorze MobASim. Wykonano szereg eksperymentów symulacyjnych. Założono w nich, że odległość referencyjna pomiędzy sąsiednimi węzłami wynosi r c = 3 r s = 17.32m. Pierwsze testy algorytmu przeprowadzono dla wariantu W1 (bez przeszkód). Uzyskane wyniki prezentowane są na rysunku Po 129 sekundach symulowanego czasu uzyskano sieć w 65% pokrywającą monitorowany obszar. Kolejne badania przeprowadzono dla wariantu W2 zakładającego istnienie nieznanych przeszkód. Przeszkody były omijane zgodnie ze strategią A opisaną w rozdziale Wyniki eksperymentu przedstawia rysunek Wyznaczona sieć pokrywa 52% monitorowanego obszaru przy nierównomiernym rozłożeniu węzłów sieci. Mankamentem prezentowanego rozwiązania jest duża liczba czujników, które utknęły w prawym dolnym rogu obszaru działania sieci. Spowodowane jest to stosunkowo wąskim przejściem pomiędzy przeszkodami w tej części obszaru roboczego. W efekcie uzyskano słabe pokrycie siecią pomiarową w stosunku do 117
118 t k C dim C iso C cov C len r c = m C tim = 129 s Rys Wyniki symulacji algorytmu samoorganizacji sieci (wariant W1): końcowa topologia i parametry sieci. wyników otrzymanych za pomocą algorytmu formowania sieci regularnej. Wyniki działania algorytmu samoorganizacji sieci można poprawić poprzez wykorzystanie mapy przeszkód (wariant W3). Zaproponowano proste rozwiązanie polegające na podziale algorytmu DHPFM (alg. 3) na dwa etapy i modyfikacji wskaźnika jakości zadania optymalizacji rozwiązywanego w obydwu etapach. Modyfikacja wskaźnika jakości i przejście do etapu drugiego następuje w sytuacji, gdy wartość wskaźnika jakości uzyskanego w pierwszym etapie jest mniejsza od założonej niewielkiej stałej (np ). Działanie algorytmu formowania sieci rozpoczęto od wytypowania, na podstawie dostępnej mapy, obszaru znajdującego się w centrum obszaru roboczego i pozbawionego przeszkód. Następnie sformułowano następujące zadanie rozwiązywane przez każde urządzenie D i w pierwszym etapie algorytmu: [ ( ) 10 2 ( ) vmaxi t 2 ] min V i = 1 + c i,p 1 i,...,pp i d i ε il 1, (7.2.12) i h l H i d il gdzie d i = g i c i, punkt g i = [45,45] jest punktem położonym wewnątrz wytypowanego obszaru, odległość referencyjna od punktu docelowego jest równa 10 metrów, a H i jest zbiorem punktów oddziaływania modyfikujących trajektorię ruchu węzła w celu ominięcia zidentyfikowanych przeszkód (rozdz ). Tak sformułowane zadanie wymusza ruch węzłów sieci z blokującego je obszaru wokół punktów startowych do części obszaru roboczego położonej centralnie i pozbawionej przeszkód. Każdy z mobilnych węzłów sieci po wykonaniu zadania z pierwszego etapu, modyfikuje funkcję celu i rozpoczyna drugi etap formowania sieci wyko- 118
119 t k C dim C iso C cov C len r c = m C tim = 78 s Rys Wyniki symulacji algorytmu samoorganizacji sieci (wariant W2): końcowa topologia i zmieniające się w czasie parametry sieci. rzystując mechanizm samoorganizacji. Wskaźnik jakości zadania rozwiązywanego w drugim etapie przyjmuje postać (7.2.11). Pozostałe parametry urządzeń oraz przebieg algorytmu NE- TWORK_NODE (alg. 7) nie były modyfikowane. Uzyskano znaczną poprawę pokrycie obszaru siecią pomiarową wzrosło do 71% (rys ). Węzły zostały rozłożone równomiernie, droga pokonana przez węzły była porównywalna do wyników algorytmu formowania sieci regularnej. Sieć została uformowana już po 71 sekundach czasu symulowanego. Podsumowując wyniki eksperymentów można wymienić zalety i wady algorytmu bazującego na samoorganizacji. Wadą jest konieczność dodatkowej komunikacji w każdej iteracji algorytmu, co wymaga większych zasobów energetycznych i uzależnia wyniki od zmiennych warunków propagacji sygnału radiowego. Niewątpliwie, zaletą mechanizmów samoorganizacji jest dynamiczne dostosowywanie się położenia poszczególnych węzłów i całej sieci do warunków środowiska (np. przeszkód) i realizowanych celów. Operacja ta jest przeprowadzana bez konieczności użycia centralnej jednostki koordynującej i dodatkowo dopuszcza możliwość zmiany położenia przez stację bazową. Jest to szczególnie istotne w przypadku zastosowań, w których celem jest podążanie za źródłem mierzonego przez sensory sygnału, np. przemieszczającej się chmury gazu cięższego od powietrza. Innym ważnym zastosowaniem mobilnej samoorganizującej się sieci ad-hoc jest wspomaganie pracy ratowników na obszarze objętym katastrofą [127]. 119
120 t k C dim C iso C cov C len r c = m C tim = 71 s Rys Wyniki symulacji algorytmu samoorganizacji sieci (wariant W3): końcowa topologia i zmieniające się w czasie parametry sieci. Rozwiązaniem, które może obniżyć koszt formowania sieci przy zachowaniu zalet samoorganizacji jest podejście hybrydowe łączące sieci samoorganizujące się i regularne. Proponowane rozwiązanie jest prezentowane w następnym podrozdziale Algorytm hybrydowy formowania sieci W opisywanych w literaturze algorytmach hybrydowych działanie lokalnych mechanizmów samoorganizacji jest koordynowane przez wybraną jednostkę sieci. Koordynatorem może być np. wyszczególniony węzeł sieci lub stacja bazowa. Prezentowane są różne podejścia do koordynacji: Metoda przyrostowa (ang. incremental approach), [86]. Metoda, w której koordynator w każdym kolejnym kroku algorytmu wyznacza nowe położenie tylko jednego, kolejnego sensora. Położenie to generowane jest na podstawie lokalizacji już rozmieszczonych węzłów, parametrów przestrzeni roboczej oraz wybranych kryteriów, które ma spełniać formowana sieć. Metoda maksymalizacji przepływu (ang. maximum-flow approach), [57]. Metoda, w której centralny koordynator rozwiązuje sformułowane wcześniej zadanie maksymalnego lub najtańszego przepływu danych pomiarowych pomiędzy wybranymi regionami obszaru ROI, przy ograniczeniu na parametry ruchu węzłów. 120
121 Algorytm genetyczny, [137]. Metoda, w której jednostka centralna rozwiązuje za pomocą algorytmu genetycznego zadanie rozłożenia węzłów sieci. Nowe położenia węzłów przekazywane są do realizacji po każdej iteracji algorytmu genetycznego. Wadą algorytmu samoorganizacji omawianego w poprzednim rozdziale jest możliwość zablokowania węzłów w niektórych częściach obszaru roboczego. Istotna jest również duża liczba komunikatów przesyłanych pomiędzy węzłami podczas formowania sieci. Problemy te nie wystąpiły w przypadku formowania sieci regularnej, gdzie węzły w chwili początkowej otrzymują od koordynatora wyznaczone centralnie położenia docelowe i dalej samodzielnie przemieszczają się do celu. Z kolei wspomnianą zaletą mechanizmów samoorganizacji jest dynamiczne dostosowywanie położenia węzłów do zaobserwowanego rozmieszczenia przeszkód oraz parametrów sieci. Zaproponowano hybrydowy mechanizm formowania sieci łączący pozytywne cechy mechanizmu samoorganizacji i algorytmu formowania sieci regularnej. Zakłada on, że w pierwszej fazie formowania sieci wykorzystywany jest algorytm dla sieci regularnych, a w drugiej fazie następuje przełączenie na algorytm dla sieci samoorganizujących się. W celu prezentacji działania algorytmu wykonano eksperymenty symulacyjne. Rozważano sytuację, w której w przestrzeni roboczej występowały nieznane przeszkody (wariant W2). Zmiana algorytmu formowania sieci realizowanego przez urządzenie D i następuje w chwili, gdy wartość wskaźnika jakości zadania rozwiązywanego w pierwszym etapie jest mniejsza od założonej stałej równej lub czas symulowany osiągnie 100s założony maksymalny czas formowania sieci regularnej. W pierwszej fazie algorytmu rozwiązywane jest zadanie (7.2.10), a w drugiej (7.2.11). Sieć uformowaną za pomocą algorytmu hybrydowego w wariancie W2 charakteryzują bardzo dobre parametry (rys ). Uzyskano pokrycie siecią pomiarową równe 70% monitorowanego obszaru. Węzły sieci pokonały w sumie drogę równą około 1950 metrów, a czas formowania sieci wyniósł 125 sekund. Przełączenie sieci w tryb samoorganizacji pozwoliło poprawić parametry sieci regularnej i dostosować jej topologię do wypełnionej przeszkodami przestrzeni roboczej. W stosunku do sytuacji, gdy stosowano metody samoorganizacji, udało się rozwiązać problem zablokowania węzłów w obszarze wokół pozycji startowej. 121
122 t k C dim C iso C cov C len r c = m C tim = 125 s Rys Wyniki symulacji hybrydowego algorytmu samoorganizacji (wariant W2): końcowa topologia i zmieniające się w czasie parametry sieci. t k C dim C iso C cov C len r c = m C tim = 158 s Rys Wyniki symulacji hybrydowego algorytmu samoorganizacji (wariant W3): końcowa topologia i zmieniające się w czasie parametry sieci. Zastosowanie hybrydowego algorytmu formowania dla scenariusza ze znaną mapą rozmieszczenia przeszkód (rys ) przyniosło niewielką poprawę wyników względem algorytmu formowania sieci regularnej (rys ). Zwiększył się jednak o 48 sekund czas formowania sieci. 122
123 Algorytm hybrydowy uwzgl dniaj cy obszary kluczowe W rzeczywistych zastosowaniach mobilnych sieci sensorowych mogą wystąpić sytuacje, w których rozmieszczenie węzłów sieci zależy od wielu dodatkowych czynników. Wpływ na topologię formowanej sieci mogą mieć, oprócz rozważanych przeszkód, także ograniczenia wynikające z innych zadań realizowanych w otoczeniu sieci (np. działania ratowników, ewakuacja) oraz zagrożenia dotyczące urządzeń sieciowych (np. ogniska pożaru, rozlewiska wody). Obszary, w których z różnych przyczyn nie powinny znajdować się węzły sieci można łatwo uwzględnić przez wprowadzenie do sterowania węzłami pewnych dodatkowych punktów, których zadaniem jest wypychanie urządzeń sieciowych z newralgicznego obszaru. Lista tych punktów może być generowana lokalnie, na podstawie pomiarów (np. temperatury) realizowanych przez węzeł sieci lub centralnie przez koordynatora, który dysponuje dodatkowymi informacjami dotyczącymi zabronionych obszarów. W efekcie modyfikowane jest zadanie wyznaczania trajektorii węzła: [ min V i = c i,p 1 i,...,pp i i ( d ˆi j ε i j D j S Ci ( ) vmaxi t 2 ε il 1 + h l H i d il ε il h l R i d i j 1 ( ˆ d il d il 1 ) 2 + ) 2 ], (7.2.13) gdzie ˆ d i j jest narzuconą przez stację bazową odległością referencyjną pomiędzy urządzeniami, d i j = c j c i jest zmierzoną odległością pomiędzy D i i D j, H i jest zbiorem punktów oddziaływania modyfikujących trajektorię ruchu węzła w celu ominięcia zidentyfikowanych przeszkód (rozdz ), R i jest zbiorem dodatkowych punktów oddziaływania odpowiadających obszarowi zabronionemu, ε il jest wagą przypisaną punktowi h l, d il = h l c i. W prezentowanym rozwiązaniu założono, że sieć została wstępnie uformowana za pomocą przedstawionego wcześniej algorytmu hybrydowego. Następnie, tak jak w przypadku strategii omijania przeszkód A (rozdz ), w funkcji celu zadania (7.2.11) rozwiązywanego w drugim etapie algorytmu hybrydowego uwzględniono zbiór R i zawierający dodatkowe punkty oddziaływania energii potencjalnej. Oddziaływania te powodują wyprowadzenie urządzenia D i z zabronionego obszaru. 123
124 t k C dim C iso C cov C len r c = m C tim = 140 s Rys Wyniki symulacji hybrydowego algorytmu samoorganizacji sieci (wariant W2) z uwzględnieniem korytarza komunikacyjnego dla pieszych. t k C dim C iso C cov C len r c = m C tim = 149 s Rys Wyniki symulacji hybrydowego algorytmu samoorganizacji sieci (wariant W3) z uwzględnieniem korytarza komunikacyjnego dla pieszych. Wykonano eksperymenty symulacyjne dla sytuacji przedstawionych na rysunku (wariant W2) oraz rysunku (wariant W3). Za pomocą 23 kwadratów o boku 8 metrów oznaczono wyodrębniony korytarz komunikacyjny dla ewakuowanych ludzi (na rysunkach obszar o kolorze zielonym). Środek każdego z kwadratów stanowił dodatkowy odpychający punkt 124
125 wpływający na położenie węzłów sieci. Każdemu punktowi były przypisane następujące parametry: ε l = 100, C x = 4m, C y = 4m, dˆ il = 11,4m. Przez pierwsze 124 sekundy formowania sieci (czas działania algorytmu hybrydowego) dodatkowe punkty nie były aktywowane, aby nie zakłócały równomiernego rozmieszczenia węzłów sieci pomiarowej. Następnie, w 125 sekundzie, każdy z węzłów otrzymał polecenie sprawdzenia, czy nie znajduje się w niedozwolonym obszarze i odpowiedniej zmiany lokalizacji. W efekcie pozycje niektórych urządzeń zmieniły się, co można zauważyć porównując odpowiednie pary rysunków i oraz i Otrzymane wyniki potwierdzają użyteczność zastosowanego mechanizmu samoorganizacji w sytuacji, gdy dynamicznie zmieniają się warunki działania sieci. Po 15 sekundach (wariant W2) i po 24 sekundach (wariant W3) węzły dostosowały swoje położenia do nowej sytuacji, a parametry sieci nie pogorszyły się. Analogiczny algorytm można z powodzeniem zastosować w przypadku odwrotnym, gdy monitoring powinien być skupiony na pewnych obszarach (np. otoczenie wind, drzwi itp.). Wymaganie to można uwzględnić w algorytmie formowania sieci przez wprowadzenie dodatkowych przyciągających punktów umiejscowionych w centrum obszarów kluczowych Algorytm hybrydowy uwzgl dniaj cy awarie w zªów Oprócz planowanych zmian w środowisku działania sieci występują również sytuacje losowe, np. awarie lub zniszczenie urządzeń formujących sieć. W przypadku, gdy dowolny z węzłów sieci nie może realizować swojego zadania (np. awarii ulegnie czujnik), sieć wymaga zazwyczaj reorganizacji. Procedura ta może być wykonana automatycznie przez prezentowany wcześniej mechanizm samoorganizacji węzłów. Rezultaty przeprowadzonych symulacji przedstawiono na rysunkach oraz Przyjęto, że w chwili t k = 10 s nastąpiła awaria dwóch węzłów sieci (na rysunku oznaczone kolorem pomarańczowym). Uszkodzeniu uległ napęd urządzenia, natomiast czujnik oraz moduł komunikacji bezprzewodowej dalej pracowały prawidłowo. Rysunek prezentuje wynik symulacji algorytmu formowania sieci regularnej (wariant W3). Uzyskano pokrycie siecią pomiarową równe 68%. Uszkodzone węzły od chwili t k = 10 s nie mogły realizować zaleceń algorytmu formowania sieci. Z tego powodu regularna topologia sieci została zaburzona. W przypadku zastosowania algorytmu hybrydowego (rys ) unieruchomione węzły dalej rozsyłały wiadomości zawierające dane wymagane przez algorytm samoorganizacji i były uwzględniane przez inne węzły, które z czasem dostosowały swoje położenie do nowych warunków. Po 138 sekundach formowania sieci uzyskano pokrycie równe 71% monitorowanego obszaru. 125
126 t k C dim C iso C cov C len r c = m C tim = 99 s Rys Wyniki symulacji algorytmu formowania regularnej sieci (wariant W3) z uwzględnieniem awarii napędu dwóch węzłów. t k C dim C iso C cov C len r c = m C tim = 138 s Rys Wyniki symulacji hybrydowego algorytmu samoorganizacji sieci (wariant W3) z uwzględnieniem awarii napędu dwóch węzłów. Porównanie rysunków oraz pokazuje, że awaria dwóch węzłów sieci spowodowała niewielkie zmniejszenie powierzchni objętej monitoringiem. Pozostałe węzły pokonały dodatkową drogę związaną z reorganizacją sieci, jednak sieć pozostała spójna i dalej mogła realizować założone zadanie. 126
Modelowanie i symulacja rozproszona mobilnych sieci ad-hoc Promotor: dr hab. inż. Ewa Niewiadomska-Szynkiewicz
Cel pracy Modelowanie i symulacja rozproszona mobilnych sieci ad-hoc Promotor: dr hab. inż. Ewa Niewiadomska-Szynkiewicz Cel pracy: opracowanie i realizacja metod i narzędzi do wspomaganego komputerem
Mechatronika i inteligentne systemy produkcyjne. Modelowanie systemów mechatronicznych Platformy przetwarzania danych
Mechatronika i inteligentne systemy produkcyjne Modelowanie systemów mechatronicznych Platformy przetwarzania danych 1 Sterowanie procesem oparte na jego modelu u 1 (t) System rzeczywisty x(t) y(t) Tworzenie
Rozproszony system zbierania danych.
Rozproszony system zbierania danych. Zawartość 1. Charakterystyka rozproszonego systemu.... 2 1.1. Idea działania systemu.... 2 1.2. Master systemu radiowego (koordynator PAN).... 3 1.3. Slave systemu
AGENDA. Site survey - pomiary i projektowanie sieci bezprzewodowych. Tomasz Furmańczak UpGreat Systemy Komputerowe Sp. z o.o.
AGENDA Site survey - pomiary i projektowanie sieci bezprzewodowych Tomasz Furmańczak UpGreat Systemy Komputerowe Sp. z o.o. Zagadnienia projektowe dla sieci WLAN skomplikowane środowisko dla propagacji
Sieci sensorowe. Paweł Kułakowski
Sieci sensorowe Paweł Kułakowski 1 Inspiracje I Stanisław Lem, NIEZWYCIĘŻONY - wydany w Polsce, 1964 - przetłumaczony na angielski, 1973. 2 Inspiracje II STAR WARS II THE EMPIRE STRIKES BACK w reżyserii
Czym jest OnDynamic? OnDynamic dostarcza wartościowych danych w czasie rzeczywistym, 24/7 dni w tygodniu w zakresie: czasu przejazdu,
Czym jest OnDynamic? OnDynamic (Multimodalny System Monitoringu Ruchu Drogowego) to inteligentna architektura czujników i specjalistycznego oprogramowania, które gwarantują przetwarzanie dużej ilości różnorodnych
Obliczenia równoległe i rozproszone. Praca zbiorowa pod redakcją Andrzeja Karbowskiego i Ewy Niewiadomskiej-Szynkiewicz
Obliczenia równoległe i rozproszone Praca zbiorowa pod redakcją Andrzeja Karbowskiego i Ewy Niewiadomskiej-Szynkiewicz 15 czerwca 2001 Spis treści Przedmowa............................................
Modele propagacyjne w sieciach bezprzewodowych.
Laboratorium nr 3 Modele propagacyjne w sieciach bezprzewodowych. Potrzebne oprogramowanie do przeprowadzenia zajęć; Network Stumbler - http://www.stumbler.net/index.php?m=201002 Jperf 2.0.2 - http://xjperf.googlecode.com/files/jperf-2.0.2.zip
Zagadnienia egzaminacyjne ELEKTRONIKA I TELEKOMUNIKACJA studia rozpoczynające się przed r.
(EAE) Aparatura elektroniczna 1. Podstawowe statyczne i dynamiczne właściwości czujników. 2. Prawa gazów doskonałych i ich zastosowania w pomiarze ciśnienia. 3. Jakie właściwości mikrokontrolerów rodziny
Nowe rozwiązania w układach sterowania firmy Tester
Nowe rozwiązania w układach sterowania firmy Tester Świebodzice 05.07.2017 Firma TESTER SP. Z O.O. realizuje aktualnie projekt pt. Wprowadzenie na rynek nowoczesnych układów sterowania dzięki zastosowaniu
Informatyka studia stacjonarne pierwszego stopnia
#382 #379 Internetowy system obsługi usterek w sieciach handlowych (The internet systems of detection of defects in trade networks) Celem pracy jest napisanie aplikacji w języku Java EE. Główne zadania
Bezprzewodowe sieci komputerowe
Bezprzewodowe sieci komputerowe Dr inż. Bartłomiej Zieliński Różnice między sieciami przewodowymi a bezprzewodowymi w kontekście protokołów dostępu do łącza Zjawiska wpływające na zachowanie rywalizacyjnych
Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska
Instytut Informatyki Politechnika Poznańska Bezprzewodowa sieć 2,4 GHz, optymalizowana dla transferu danych z małą prędkością, z małymi opóźnieniami danych pomiędzy wieloma węzłami ANT Sieć PAN (ang. Personal
Automatyka i Robotyka studia stacjonarne drugiego stopnia
#384 #380 dr inż. Mirosław Gajer Projekt i implementacja narzędzia do profilowania kodu natywnego przy wykorzystaniu narzędzi Android NDK (Project and implementation of tools for profiling native code
Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska. Zygmunt Kubiak 1
Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska Zygmunt Kubiak 1 Kierunki rozwoju sieci sensorowych Wprowadzenie do sieci WSN Protokół EnOcean Rozwiązania sprzętowe w systemie EnOcean Przykłady
Programowanie równoległe i rozproszone. Praca zbiorowa pod redakcją Andrzeja Karbowskiego i Ewy Niewiadomskiej-Szynkiewicz
Programowanie równoległe i rozproszone Praca zbiorowa pod redakcją Andrzeja Karbowskiego i Ewy Niewiadomskiej-Szynkiewicz 23 października 2009 Spis treści Przedmowa...................................................
MODELOWANIE, SYMULACJA I PRZYKŁADOWE ZASTOSOWANIA MOBILNEJ BEZPRZEWODOWEJ SIECI TYPU AD-HOC
Zeszyty Naukowe WSInf Vol 7, Nr 1, 2008 Andrzej Sikora Instytut Automatyki i Informatyki Stosowanej, Politechnika Warszawska Naukowa i Akademicka Sieć Komputerowa (NASK) MODELOWANIE, SYMULACJA I PRZYKŁADOWE
Szybkie prototypowanie w projektowaniu mechatronicznym
Szybkie prototypowanie w projektowaniu mechatronicznym Systemy wbudowane (Embedded Systems) Systemy wbudowane (ang. Embedded Systems) są to dedykowane architektury komputerowe, które są integralną częścią
5R]G]LDï %LEOLRJUDğD Skorowidz
...5 7 7 9 9 14 17 17 20 23 23 25 26 34 36 40 51 51 53 54 54 55 56 57 57 59 62 67 78 83 121 154 172 183 188 195 202 214... Skorowidz.... 4 Podręcznik Kwalifikacja E.13. Projektowanie lokalnych sieci komputerowych
Zarządzanie infrastrukturą sieciową Modele funkcjonowania sieci
W miarę rozwoju sieci komputerowych pojawiały się różne rozwiązania organizujące elementy w sieć komputerową. W celu zapewnienia kompatybilności rozwiązań różnych producentów oraz opartych na różnych platformach
Wykorzystanie sterowników PLC, jako źródła informacji dla systemów nadzorujących pracę jednostek wytwórczych małej mocy
Wykorzystanie sterowników PLC, jako źródła informacji dla systemów nadzorujących pracę jednostek wytwórczych małej mocy Robert Jędrychowski Politechnika Lubelska Nałęczów, ZET 2014 Plan prezentacji Wstęp
Podstawowe pojęcia dotyczące sieci komputerowych
Podstawowe pojęcia dotyczące sieci komputerowych Podział ze względu na obszar Sieci osobiste PAN (Personal Area Network) sieci o zasięgu kilku metrów wykorzystywane np. do bezprzewodowego połączenia telefonu
BADANIE METOD I PROJEKTOWANIE USŁUG LOKALIZACYJNYCH W SIECIACH RADIOKOMUNIKACYJNYCH
POLITECHNIKA GDAŃSKA JACEK STEFAŃSKI BADANIE METOD I PROJEKTOWANIE USŁUG LOKALIZACYJNYCH W SIECIACH RADIOKOMUNIKACYJNYCH GDAŃSK 2012 PRZEWODNICZĄCY KOMITETU REDAKCYJNEGO WYDAWNICTWA POLITECHNIKI GDAŃSKIEJ
PRACA DYPLOMOWA MAGISTERSKA
Politechnika Poznańska Wydział Budowy Maszyn i Zarządzania PRACA DYPLOMOWA MAGISTERSKA Konstrukcja autonomicznego robota mobilnego Małgorzata Bartoszewicz Promotor: prof. dr hab. inż. A. Milecki Zakres
Wykład I. Podstawowe pojęcia. Studia Podyplomowe INFORMATYKA Architektura komputerów
Studia Podyplomowe INFORMATYKA Architektura komputerów Wykład I Podstawowe pojęcia 1, Cyfrowe dane 2 Wewnątrz komputera informacja ma postać fizycznych sygnałów dwuwartościowych (np. dwa poziomy napięcia,
Praca dyplomowa magisterska
Autor: Krzysztof Urbas Promotor: dr inż. Marcin Głowacki Praca dyplomowa magisterska analiza wydajności protokołu B.A.T.M.A.N. w sieci testowej przepustowośd opóźnienie pakietów straty pakietów obciążenie
Wykład I. Administrowanie szkolną siecią komputerową. dr Artur Bartoszewski www.bartoszewski.pr.radom.pl
Administrowanie szkolną siecią komputerową dr Artur Bartoszewski www.bartoszewski.pr.radom.pl Wykład I 1 Tematyka wykładu: Co to jest sieć komputerowa? Usługi w sieciach komputerowych Zasięg sieci Topologie
Wykorzystanie nowoczesnych technologii w zarządzaniu drogami wojewódzkimi na przykładzie systemu zarządzania opartego na technologii GPS-GPRS.
Planowanie inwestycji drogowych w Małopolsce w latach 2007-2013 Wykorzystanie nowoczesnych technologii w zarządzaniu drogami wojewódzkimi na przykładzie systemu zarządzania opartego na technologii GPS-GPRS.
Mechatronika i inteligentne systemy produkcyjne. Paweł Pełczyński ppelczynski@swspiz.pl
Mechatronika i inteligentne systemy produkcyjne Paweł Pełczyński ppelczynski@swspiz.pl 1 Program przedmiotu Wprowadzenie definicja, cel i zastosowania mechatroniki Urządzenie mechatroniczne - przykłady
SIECI KOMPUTEROWE. Podstawowe wiadomości
SIECI KOMPUTEROWE Podstawowe wiadomości Co to jest sieć komputerowa? Sieć komputerowa jest to zespół urządzeń przetwarzających dane, które mogą wymieniać między sobą informacje za pośrednictwem mediów
Marek Parfieniuk, Tomasz Łukaszuk, Tomasz Grześ. Symulator zawodnej sieci IP do badania aplikacji multimedialnych i peer-to-peer
Marek Parfieniuk, Tomasz Łukaszuk, Tomasz Grześ Symulator zawodnej sieci IP do badania aplikacji multimedialnych i peer-to-peer Plan prezentacji 1. Cel projektu 2. Cechy systemu 3. Budowa systemu: Agent
Adrian Jakowiuk, Bronisław Machaj, Jan Pieńkos, Edward Świstowski
BEZPRZEWODOWE SIECI MONITORINGU Z RADIOIZOTOPOWYMI CZUJNIKAMI ZAPYLENIA POWIETRZA AMIZ 2004G Adrian Jakowiuk, Bronisław Machaj, Jan Pieńkos, Edward Świstowski Instytut Chemii i Techniki Jądrowej a_jakowiuk@ichtj.waw.pl
Sterowanie ruchem w sieciach szkieletowych
Sterowanie ruchem w sieciach szkieletowych Transmisja wielościeżkowa Dr inż. Robert Wójcik Wydział Informatyki, Elektroniki i Telekomunikacji Katedra Telekomunikacji Kraków, dn. 6 kwietnia 2016 r. Plan
Beskid Cafe. Hufcowa Kawiarenka Internetowa
Beskid Cafe Hufcowa Kawiarenka Internetowa Co to jest kawiarenka internetowa? Jest to kilka komputerów znajdujących się w jednym pomieszczeniu połączonych w sieć komputerową, która jest podłączona do Internetu.
Przetwarzanie równoległesprzęt. Rafał Walkowiak Wybór
Przetwarzanie równoległesprzęt 2 Rafał Walkowiak Wybór 17.01.2015 1 1 Sieci połączeń komputerów równoległych (1) Zadanie: przesyłanie danych pomiędzy węzłami przetwarzającymi, pomiędzy pamięcią a węzłami
5. Model komunikujących się procesów, komunikaty
Jędrzej Ułasiewicz str. 1 5. Model komunikujących się procesów, komunikaty Obecnie stosuje się następujące modele przetwarzania: Model procesów i komunikatów Model procesów komunikujących się poprzez pamięć
Załącznik nr 1 do Zapytania ofertowego: Opis przedmiotu zamówienia
Załącznik nr 1 do Zapytania ofertowego: Opis przedmiotu zamówienia Postępowanie na świadczenie usług badawczo-rozwojowych referencyjny Zamawiającego: ZO CERTA 1/2017 Celem Projektu jest opracowanie wielokryterialnych
MODELOWANIE SIECI DYSTRYBUCYJNEJ DO OBLICZEŃ STRAT ENERGII WSPOMAGANE SYSTEMEM ZARZĄDZANIA MAJĄTKIEM SIECIOWYM
Katedra Systemów, Sieci i Urządzeń Elektrycznych MODELOWANIE SIECI DYSTRYBUCYJNEJ DO OBLICZEŃ STRAT ENERGII Dariusz Jeziorny, Daniel Nowak TAURON Dystrybucja S. A. Barbara Kaszowska, Andrzej Włóczyk Politechnika
Sensory i systemy pomiarowe Prezentacja Projektu SYNERIFT. Michał Stempkowski Tomasz Tworek AiR semestr letni 2013-2014
Sensory i systemy pomiarowe Prezentacja Projektu SYNERIFT Michał Stempkowski Tomasz Tworek AiR semestr letni 2013-2014 SYNERIFT Tylne koła napędzane silnikiem spalinowym (2T typu pocket bike ) Przednie
BEZDOTYKOWY CZUJNIK ULTRADŹWIĘKOWY POŁOŻENIA LINIOWEGO
Temat ćwiczenia: BEZDOTYKOWY CZUJNIK ULTRADŹWIĘKOWY POŁOŻENIA LINIOWEGO 1. Wprowadzenie Ultradźwiękowy bezdotykowy czujnik położenia liniowego działa na zasadzie pomiaru czasu powrotu impulsu ultradźwiękowego,
LABORATORIUM SIECI KOMPUTEROWYCH (compnet.et.put.poznan.pl)
Wydział Elektroniki i Telekomunikacji POLITECHNIKA POZNAŃSKA fax: (+48 61) 665 25 72 ul. Piotrowo 3a, 60-965 Poznań tel: (+48 61) 665 22 93 LABORATORIUM SIECI KOMPUTEROWYCH (compnet.et.put.poznan.pl) Protokoły
<Nazwa firmy> <Nazwa projektu> Specyfikacja dodatkowa. Wersja <1.0>
Wersja [Uwaga: Niniejszy wzór dostarczony jest w celu użytkowania z Unified Process for EDUcation. Tekst zawarty w nawiasach kwadratowych i napisany błękitną kursywą
Przekształcenia sygnałów losowych w układach
INSTYTUT TELEKOMUNIKACJI ZAKŁAD RADIOKOMUNIKACJI Instrukcja laboratoryjna z przedmiotu Sygnały i kodowanie Przekształcenia sygnałów losowych w układach Warszawa 010r. 1. Cel ćwiczenia: Ocena wpływu charakterystyk
MODUŁ: SIECI KOMPUTEROWE. Dariusz CHAŁADYNIAK Józef WACNIK
MODUŁ: SIECI KOMPUTEROWE Dariusz CHAŁADYNIAK Józef WACNIK WSZECHNICA PORANNA Wykład 1. Podstawy budowy i działania sieci komputerowych Korzyści wynikające z pracy w sieci. Role komputerów w sieci. Typy
Dostawa oprogramowania. Nr sprawy: ZP /15
........ (pieczątka adresowa Oferenta) Zamawiający: Państwowa Wyższa Szkoła Zawodowa w Nowym Sączu, ul. Staszica,33-300 Nowy Sącz. Strona: z 5 Arkusz kalkulacyjny określający minimalne parametry techniczne
Politechnika Poznańska Instytut Technologii Mechanicznej. Laboratorium MASZYN I URZĄDZEŃ TECHNOLOGICZNYCH. Nr 2
Politechnika Poznańska Instytut Technologii Mechanicznej Laboratorium MASZYN I URZĄDZEŃ TECHNOLOGICZNYCH Nr 2 POMIAR I KASOWANIE LUZU W STOLE OBROTOWYM NC Poznań 2008 1. CEL ĆWICZENIA Celem ćwiczenia jest
Wirtualizacja zasobów IPv6 w projekcie IIP
Wirtualizacja zasobów IPv6 w projekcie IIP Artur Binczewski, Bartosz Gajda, Wiktor Procyk, Robert Szuman Poznańskie Centrum Superkomputerowo Sieciowe Adam Grzech, Jan Kwiatkowski, Krzysztof Chudzik Politechnika
Parametry wydajnościowe systemów internetowych. Tomasz Rak, KIA
Parametry wydajnościowe systemów internetowych Tomasz Rak, KIA 1 Agenda ISIROSO System internetowy (rodzaje badań, konstrukcja) Parametry wydajnościowe Testy środowiska eksperymentalnego Podsumowanie i
Zadania jednorodne 5.A.Modele przetwarzania równoległego. Rafał Walkowiak Przetwarzanie równoległe Politechnika Poznańska 2010/2011
Zadania jednorodne 5.A.Modele przetwarzania równoległego Rafał Walkowiak Przetwarzanie równoległe Politechnika Poznańska 2010/2011 Zadanie podzielne Zadanie podzielne (ang. divisible task) może zostać
Większe możliwości dzięki LabVIEW 2009: programowanie równoległe, technologie bezprzewodowe i funkcje matematyczne w systemach czasu rzeczywistego
Większe możliwości dzięki LabVIEW 2009: programowanie równoległe, technologie bezprzewodowe i funkcje matematyczne w systemach czasu rzeczywistego Dziś bardziej niż kiedykolwiek narzędzia używane przez
Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska
Instytut Informatyki Politechnika Poznańska Ograniczenie zasięgu transmisji wynika m.in. z energooszczędności ograniczonej mocy wyjściowej nadajnika radiowego Zasięg uzyskiwany w sieciach one-hop, można
Sieci komputerowe - Urządzenia w sieciach
Sieci komputerowe - Urządzenia w sieciach mgr inż. Rafał Watza Katedra Telekomunikacji AGH Al. Mickiewicza 30, 30-059 Kraków, Polska tel. +48 12 6174034, fax +48 12 6342372 e-mail: watza@kt.agh.edu.pl
WYDZIAŁ ELEKTROTECHNIKI I AUTOMATYKI KATEDRA AUTOMATYKI. Robot do pokrycia powierzchni terenu
WYDZIAŁ ELEKTROTECHNIKI I AUTOMATYKI KATEDRA AUTOMATYKI Robot do pokrycia powierzchni terenu Zadania robota Zadanie całkowitego pokrycia powierzchni na podstawie danych sensorycznych Zadanie unikania przeszkód
CZĘŚĆ I Podstawy komunikacji bezprzewodowej
O autorach......................................................... 9 Wprowadzenie..................................................... 11 CZĘŚĆ I Podstawy komunikacji bezprzewodowej 1. Komunikacja bezprzewodowa.....................................
Summary in Polish. Fatimah Mohammed Furaiji. Application of Multi-Agent Based Simulation in Consumer Behaviour Modeling
Summary in Polish Fatimah Mohammed Furaiji Application of Multi-Agent Based Simulation in Consumer Behaviour Modeling Zastosowanie symulacji wieloagentowej w modelowaniu zachowania konsumentów Streszczenie
MODEL SYMULACYJNY ROZPROSZONEGO SYSTEMU POMIAROWO-STERUJĄCEGO Z INTERFEJSEM CAN
Szybkobieżne Pojazdy Gąsienicowe (22) nr 2, 2007 Adam MARKOWSKI MODEL SYMULACYJNY ROZPROSZONEGO SYSTEMU POMIAROWO-STERUJĄCEGO Z INTERFEJSEM CAN Streszczenie: W artykule przedstawiono zastosowanie modelu
WIRTUALNY MOST DO KOMUNIKACJI MIĘDZYSIECIOWEJ
Prace Naukowe Instytutu Maszyn, Napędów i Pomiarów Elektrycznych Nr 59 Politechniki Wrocławskiej Nr 59 Studia i Materiały Nr 26 2006 Andrzej KAŁWAK *, Krzysztof PODLEJSKIF przemysłowe sieci kontrolno-pomiarowe,
Dynamiczne badanie wzmacniacza operacyjnego- ćwiczenie 8
Dynamiczne badanie wzmacniacza operacyjnego- ćwiczenie 8 1. Cel ćwiczenia Celem ćwiczenia jest dynamiczne badanie wzmacniacza operacyjnego, oraz zapoznanie się z metodami wyznaczania charakterystyk częstotliwościowych.
Zagadnienia egzaminacyjne TELEKOMUNIKACJA studia rozpoczynające się po 1.10.2012 r.
(TEM) Telekomunikacja mobilna 1. Pasmo zajmowane przez transmisję cyfrową, a szybkość transmisji i przepustowość łącza radiowego. 2. Kodowanie informacji transmitowanej w cyfrowych systemach wizyjnych.
Wykład II. Administrowanie szkolną siecią komputerową. dr Artur Bartoszewski www.bartoszewski.pr.radom.pl
Administrowanie szkolną siecią komputerową dr Artur Bartoszewski www.bartoszewski.pr.radom.pl Wykład II 1 Tematyka wykładu: Media transmisyjne Jak zbudować siec Ethernet Urządzenia aktywne i pasywne w
Urządzenia sieciowe. Tutorial 1 Topologie sieci. Definicja sieci i rodzaje topologii
Tutorial 1 Topologie sieci Definicja sieci i rodzaje topologii Definicja 1 Sieć komputerowa jest zbiorem mechanizmów umożliwiających komunikowanie się komputerów bądź urządzeń komputerowych znajdujących
PROGRAMOWALNE STEROWNIKI LOGICZNE
PROGRAMOWALNE STEROWNIKI LOGICZNE I. Wprowadzenie Klasyczna synteza kombinacyjnych i sekwencyjnych układów sterowania stosowana do automatyzacji dyskretnych procesów produkcyjnych polega na zaprojektowaniu
Metody integracji systemów sterowania z wykorzystaniem standardu OPC
Metody integracji systemów sterowania z wykorzystaniem standardu OPC (Control Systems Integration using OPC Standard) Autor: Marcin BAJER Wydział Elektrotechniki, Automatyki, Informatyki i Elektroniki
ARCHITEKTURA GSM. Wykonali: Alan Zieliński, Maciej Żulewski, Alex Hoddle- Wojnarowski.
1 ARCHITEKTURA GSM Wykonali: Alan Zieliński, Maciej Żulewski, Alex Hoddle- Wojnarowski. SIEĆ KOMÓRKOWA Sieć komórkowa to sieć radiokomunikacyjna składająca się z wielu obszarów (komórek), z których każdy
Spis treści. Przedmowa... XI. Rozdział 1. Pomiar: jednostki miar... 1. Rozdział 2. Pomiar: liczby i obliczenia liczbowe... 16
Spis treści Przedmowa.......................... XI Rozdział 1. Pomiar: jednostki miar................. 1 1.1. Wielkości fizyczne i pozafizyczne.................. 1 1.2. Spójne układy miar. Układ SI i jego
Tematy prac dyplomowych w roku akademickim 2012/2013 zgłoszone w Zakładzie Systemów Rozproszonych
Tematy prac dyplomowych w roku akademickim 2012/2013 zgłoszone w Zakładzie Systemów Rozproszonych L.p. Opiekun pracy Temat 1. dr hab. inż. Franciszek Grabowski 2. dr hab. inż. Franciszek Grabowski 3. dr
Wykonawcy: Data Wydział Elektryczny Studia dzienne Nr grupy:
POLITECHNIKA POZNAŃSKA INSTYTUT ELEKTROTECHNIKI I ELEKTRONIKI PRZEMYSŁOWEJ Zakład Elektrotechniki Teoretycznej i Stosowanej Laboratorium Podstaw Telekomunikacji Ćwiczenie nr 3 Temat: Pomiar charakterystyki
Zastosowanie symulacji Monte Carlo do zarządzania ryzykiem przedsięwzięcia z wykorzystaniem metod sieciowych PERT i CPM
SZKOŁA GŁÓWNA HANDLOWA w Warszawie STUDIUM MAGISTERSKIE Kierunek: Metody ilościowe w ekonomii i systemy informacyjne Karol Walędzik Nr albumu: 26353 Zastosowanie symulacji Monte Carlo do zarządzania ryzykiem
Zagadnienia egzaminacyjne AUTOMATYKA I ROBOTYKA. Stacjonarne I-go stopnia TYP STUDIÓW STOPIEŃ STUDIÓW SPECJALNOŚĆ
(ARK) Komputerowe sieci sterowania 1.Badania symulacyjne modeli obiektów 2.Pomiary i akwizycja danych pomiarowych 3.Protokoły transmisji danych w systemach automatyki 4.Regulator PID struktury, parametry,
Zdalne monitorowanie i zarządzanie urządzeniami sieciowymi
Uniwersytet Mikołaja Kopernika w Toruniu Wydział Matematyki i Informatyki Wydział Fizyki, Astronomii i Infomatyki Stosowanej Piotr Benetkiewicz Nr albumu: 168455 Praca magisterska na kierunku Informatyka
Tematy prac dyplomowych w Katedrze Awioniki i Sterowania Studia I stopnia (inżynierskie)
Tematy prac dyplomowych w Katedrze Awioniki i Sterowania Studia I stopnia (inżynierskie) Temat: Pomiar prędkości kątowych samolotu przy pomocy czujnika ziemskiego pola magnetycznego 1. Analiza właściwości
OKABLOWANIE W WYBRANYCH SYSTEMACH KOMUNIKACJI
OKABLOWANIE W WYBRANYCH SYSTEMACH KOMUNIKACJI KLASYFIKACJA SIECI wielkość -odległość między najdalej położonymi węzłami sieć lokalna (LAN - Local Area Network) o zasięgu do kilku kilometrów sieć miejska
Działanie komputera i sieci komputerowej.
Działanie komputera i sieci komputerowej. Gdy włączymy komputer wykonuje on kilka czynności, niezbędnych do rozpoczęcia właściwej pracy. Gdy włączamy komputer 1. Włączenie zasilania 2. Uruchamia
Zastosowanie procesorów AVR firmy ATMEL w cyfrowych pomiarach częstotliwości
Politechnika Lubelska Wydział Elektrotechniki i Informatyki PRACA DYPLOMOWA MAGISTERSKA Zastosowanie procesorów AVR firmy ATMEL w cyfrowych pomiarach częstotliwości Marcin Narel Promotor: dr inż. Eligiusz
Kierownik projektu. Imię i Nazwisko
Imię i Nazwisko Współautorzy Kierownik projektu mgr inż. Maciej Andrzejewski mgr Bożena Dobrowiecka mgr inż. Krzysztof Broda mgr inż. Andrzej Jaworski mgr inż. Zdzisław Kołodziejczyk mgr inż. Tadeusz Kozłowski
1. Wymagania funkcjonalne dla modułu pozycjonowania patroli zainstalowany moduł musi posiadać następującą funkcjonalność:
SPECYFIKACJA TECHNICZNA I ZAKRES RZECZOWY załącznik nr 6 do SIWZ nr 1 do umowy 1. Wymagania funkcjonalne dla modułu pozycjonowania patroli zainstalowany moduł musi posiadać następującą funkcjonalność:
Praca dyplomowa. Program do monitorowania i diagnostyki działania sieci CAN. Temat pracy: Temat Gdańsk Autor: Łukasz Olejarz
Temat Gdańsk 30.06.2006 1 Praca dyplomowa Temat pracy: Program do monitorowania i diagnostyki działania sieci CAN. Autor: Łukasz Olejarz Opiekun: dr inż. M. Porzeziński Recenzent: dr inż. J. Zawalich Gdańsk
ZiMSK. VLAN, trunk, intervlan-routing 1
ZiMSK dr inż. Łukasz Sturgulewski, luk@kis.p.lodz.pl, http://luk.kis.p.lodz.pl/ dr inż. Artur Sierszeń, asiersz@kis.p.lodz.pl dr inż. Andrzej Frączyk, a.fraczyk@kis.p.lodz.pl VLAN, trunk, intervlan-routing
Zespół Szkół Ponadgimnazjalnych Nr 1 w Barlinku - Technik informatyk
Topologie sieci Topologie sieci lokalnych mogą być opisane zarówno na płaszczyźnie fizycznej, jak i logicznej. Topologia fizyczna określa organizację okablowania strukturalnego, topologia logiczna opisuje
Metrologia: organizacja eksperymentu pomiarowego
Metrologia: organizacja eksperymentu pomiarowego (na podstawie: Żółtowski B. Podstawy diagnostyki maszyn, 1996) dr inż. Paweł Zalewski Akademia Morska w Szczecinie Teoria eksperymentu: Teoria eksperymentu
Ewa Niewiadomska-Szynkiewicz. Rozszerzony konspekt przedmiotu Modelowanie i symulacja komputerowa
Ewa Niewiadomska-Szynkiewicz Rozszerzony konspekt przedmiotu Modelowanie i symulacja komputerowa Warszawa 2009 Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego
Modelowanie jako sposób opisu rzeczywistości. Katedra Mikroelektroniki i Technik Informatycznych Politechnika Łódzka
Modelowanie jako sposób opisu rzeczywistości Katedra Mikroelektroniki i Technik Informatycznych Politechnika Łódzka 2015 Wprowadzenie: Modelowanie i symulacja PROBLEM: Podstawowy problem z opisem otaczającej
MiniModbus 4DO. Moduł rozszerzający 4 wyjścia cyfrowe. Wyprodukowano dla. Instrukcja użytkownika
Wersja 1.1 Wyprodukowano dla Dziękujemy za wybór naszego produktu. Niniejsza instrukcja ułatwi Państwu prawidłową obsługę i poprawną eksploatację opisywanego urządzenia. Informacje zawarte w niniejszej
Spis treści. Wstęp... 11. Część I Internet rozwiązania techniczne... 13
Wstęp... 11 Część I Internet rozwiązania techniczne... 13 1. Modelowanie dynamiki natężenia przesyłów TCP/IP... 15 1.1. Wprowadzenie... 15 1.2. Model matematyczny aproksymacji fluid flow... 16 1.2.1. Model
Projektowanie układów scalonych do systemów komunikacji bezprzewodowej
Projektowanie układów scalonych do systemów komunikacji bezprzewodowej Część 1 Dr hab. inż. Grzegorz Blakiewicz Katedra Systemów Mikroelektronicznych Politechnika Gdańska Ogólna charakterystyka Zalety:
Metodyka projektowania komputerowych systemów sterowania
Metodyka projektowania komputerowych systemów sterowania Andrzej URBANIAK Metodyka projektowania KSS (1) 1 Projektowanie KSS Analiza wymagań Opracowanie sprzętu Projektowanie systemu Opracowanie oprogramowania
Wykład z Technologii Informacyjnych. Piotr Mika
Wykład z Technologii Informacyjnych Piotr Mika Uniwersalna forma graficznego zapisu algorytmów Schemat blokowy zbiór bloków, powiązanych ze sobą liniami zorientowanymi. Jest to rodzaj grafu, którego węzły
SYSTEM MONITOROWANIA TEMPERATURY
SYSTEM MONITOROWANIA TEMPERATURY BEZPIECZEŃSTWO ŻYCIA CODZIENNEGO Dla konsumenta gwarancja zachowania prawidłowych warunków przechowywania produktów. Dla rodziców pewność, że ich dzieci w przedszkolach
kpt. Mirosław Matusik Brzeźnica, dnia 24.02.2012 roku
kpt. Mirosław Matusik Brzeźnica, dnia 24.02.2012 roku GPS Global Positioning System System Globalnej Lokalizacji Satelitarnej System GPS zrewolucjonizował nawigację lądową, morską, lotniczą a nawet kosmiczną.
Differential GPS. Zasada działania. dr inż. Stefan Jankowski
Differential GPS Zasada działania dr inż. Stefan Jankowski s.jankowski@am.szczecin.pl DGPS koncepcja Podczas testów GPS na początku lat 80-tych wykazano, że błędy pozycji w dwóch blisko odbiornikach były
Protokoły sieciowe model ISO-OSI Opracował: Andrzej Nowak
Protokoły sieciowe model ISO-OSI Opracował: Andrzej Nowak OSI (ang. Open System Interconnection) lub Model OSI to standard zdefiniowany przez ISO oraz ITU-T, opisujący strukturę komunikacji sieciowej.
dr hab. inż. Jacek Dziurdź, prof. PW Warszawa, r. Instytut Podstaw Budowy Maszyn Politechnika Warszawska
dr hab. inż. Jacek Dziurdź, prof. PW Warszawa, 8.01.2019 r. Instytut Podstaw Budowy Maszyn Politechnika Warszawska Recenzja pracy doktorskiej Pana mgr. inż. Piotra Szafrańca pt.: Ocena drgań i hałasu oddziałujących
Systemy i Sieci Radiowe
Systemy i Sieci Radiowe Wykład 3 Media transmisyjne część 1 Program wykładu transmisja światłowodowa transmisja za pomocą kabli telekomunikacyjnych (DSL) transmisja przez sieć energetyczną transmisja radiowa
Szczegółowy opis przedmiotu zamówienia
Załącznik 1 Dotyczy projektu nr WND-RPPD.01.01.00-20-021/13 Badania systemów wbudowanych do sterowania zasilania gazem oraz komunikacji w pojazdach realizowanego na podstawie umowy UDA-RPPD.01.01.00-20-
router wielu sieci pakietów
Dzisiejsze sieci komputerowe wywierają ogromny wpływ na naszą codzienność, zmieniając to, jak żyjemy, pracujemy i spędzamy wolny czas. Sieci mają wiele rozmaitych zastosowań, wśród których można wymienić
1. Podstawowe wiadomości...9. 2. Możliwości sprzętowe... 17. 3. Połączenia elektryczne... 25. 4. Elementy funkcjonalne programów...
Spis treści 3 1. Podstawowe wiadomości...9 1.1. Sterowniki podstawowe wiadomości...10 1.2. Do czego służy LOGO!?...12 1.3. Czym wyróżnia się LOGO!?...12 1.4. Pierwszy program w 5 minut...13 Oświetlenie
Zakład Sterowania Systemów
Zakład Sterowania Systemów Zespół ZłoŜonych Systemów Kierownik zespołu: prof. dr hab. Krzysztof Malinowski Tematyka badań i prac dyplomowych: Projektowanie algorytmów do podejmowania decyzji i sterowania
UKŁAD AUTOMATYCZNEJ REGULACJI STACJI TRANSFORMATOROWO - PRZESYŁOWYCH TYPU ARST
Oddział Gdańsk JEDNOSTKA BADAWCZO-ROZWOJOWA ul. Mikołaja Reja 27, 80-870 Gdańsk tel. (48 58) 349 82 00, fax: (48 58) 349 76 85 e-mail: ien@ien.gda.pl http://www.ien.gda.pl ZAKŁAD TECHNIKI MIKROPROCESOROWEJ
Rola stacji gazowych w ograniczaniu strat gazu w sieciach dystrybucyjnych
Rola stacji gazowych w ograniczaniu strat gazu w sieciach dystrybucyjnych Politechnika Warszawska Zakład Systemów Ciepłowniczych i Gazowniczych Prof. dr hab. inż. Andrzej J. Osiadacz Dr hab. inż. Maciej
PODSTAWOWE PODZIAŁY SIECI KOMPUTEROWYCH
PODSTAWOWE PODZIAŁY SIECI KOMPUTEROWYCH Pojęcie sieci komputerowych Sieć komputerowa jest to zbiór niezależnych komputerów połączonych ze sobą. Mówimy, że dwa komputery są ze sobą połączone, jeśli mogą