JSim [12]– jest opensourcowym symulatorem sieciowym napisanym w języku Java. Został on zaimplementowany w architekturze ACA (ang. autonomouse component architecture), w której podstawową role odgrywają komponenty komunikujące się między sobą poprzez wysyłanie i odbieranie informacji na poszczególnych portach. Komponenty w JSim są niezależne, oznacza to że mogą być tworzone i testowane indywidualnie. Aby zapewnić dobre odzwierciedlenie rzeczywistego układu oraz zasymulować współprace miedzy programową i sprzętową częścią sieci, JSim poza ACA posiada również INET (ang. packet-switched interworking framework), bazujący na warstwach stosu protokołu. Obie architektury zostały zaimplementowane w języku Java. Architektura autonomicznych komponentów czyni JSim-a elastycznym, uniwersalnym i bardzo wydajnym narzędziem symulacyjnym. JSim dostarcza również interfejs skryptowy oparty na języku Jacl, stanowiący połączenie takich języków skryptowych jak: Perl, Tcl i Python. Jacl jest bardzo zbliżony do jezyka Tcl używanego przez symulator ns-2. JSim jest dwujęzycznym symulatorem, jego komponenty są stworzone przy użyciu języka Java, natomiast Jacl stanowi rodzaj pośrednika przy pomocy którego łączy się wszystkie komponenty w jedną całość.
Z punktu widzenia symulacji, w sieci sensorowej można wyodrębnić trzy rodzaje węzłów [2]: zdarzeniowy (ang. target), sensorowy (ang. sensor), nadrzędny (ang. sink). Węzły te pełnią odpowiednio funkcje: generowania zdarzeń, wykrywania wygenerowanych zdarzeń oraz zbierania i konsumowania informacji. W naszych symulacjach węzły sensorowe wykrywają wygenerowane zdarzenia poprzez kanał sensorowy (ang. sensor chanel) i przesyłają informacje dalej za pośrednictwem kanału bezprzewodowego (ang wireless channel). Układ taki został przedstawiony na rysunku 4.1.
Rysunek 4.1 Model sieci sensorowej [20].
Transmisja poprzez kanał sensorowy jest zupełnie odmienna niż przy użyciu kanału bezprzewodowego. Posiadają one różne modele propagacji odpowiednio: model propagacji bezprzewodowej (ang. wireless propagation model) dla kanału bezprzewodowego oraz model propagacji sensorowej (ang. sensor propagation model) dla kanału sensorowego. W związku z tym węzły zostały wyposażone w rożne rodzaje interfejsów i tak węzeł nadrzędny posiada jedynie interfejs bezprzewodowy, węzeł zdarzeniowy tylko interfejs sensorowy, natomiast węzeł sensorowy posiada oba interfejsy.
Węzeł sensorowy jest wyposażony dodatkowo w stos sensorowy używany podczas połączeń z węzłem zdarzeniowym, oraz stos bezprzewodowy służący do komunikacji z węzłem nadrzędnym. Węzeł ten ma zaimplementowany ponadto model energetyczny, zawierający źródło energii (bateria) oraz elementy konsumujące energię (moduł radiowy oraz obliczeniowy - CPU). Dodatkowo w węźle sensorowym dodano komponent odpowiadający za przemieszczanie i położenie sensora w modelu przestrzennym – model przemieszczania. Modele węzłów: zdarzeniowego, nadrzędnego oraz sensorowego zostały przedstawione odpowiednio na rysunkach 4.2 4.3 i 4.4.
Rysunek 4.2 Model węzła zdarzeniowego [20].
Rysunek 4.3 Model węzła nadrzędnego [20].
Rysunek 4.4 Model węzła sensorowego [20].
Wszystkie węzły zbudowane zostały jako podklasy kluczowych klas symulatora JSim. Symulacje można w uproszczeniu opisać w następujący sposób: węzeł zdarzeniowy generuje okresowo zdarzenia, które propagując poprzez kanał sensorowy docierają do sąsiedniego węzła sensorowego. Węzeł ten określany jest przez promień w którym moc odbieranego sygnału jest powyżej ustalonego progu. Węzeł ten odbiera informacje na interfejsie sensorowym, następnie jeśli węzeł posiada odpowiednie zasoby energetyczne może on od razu lub po odpowiednim przetworzeniu przesłać informacje dalej przez interfejs bezprzewodowy. Tak przesłana Informacja trafia bezpośrednio lub przy użyciu innych węzłów sensorowych do węzła nadrzędnego. Zaimplementowany w węźle sensorowym model energetyczny może znajdować się w następujących stanach: zajętości, uśpienia, wyłączenia, nadawania lub odbierania. Konsumpcja energii jest dostosowana do stanu w jakim znajduje się węzeł, co pozwala odzwierciedlić rzeczywistą pracę sieci.
Copyright © 2008-2010 EPrace oraz autorzy prac.