4 Kryteria klasyfikacji i drzewo klasyfikacyjne
Dwa główne problemy przy tworzeniu nowej taksonomii to: kryteria klasyfikacji i drzewo klasyfikacyjne. Tutaj, kryteria klasyfikacji zostały wybrane tak, aby odzwierciedlały istotę podstawowego punktu widzenia badań. Drzewo klasyfikacyjne zostało uzyskane poprzez sukcesywne stosowanie wybranych kryteriów. Liście drzewa klasyfikacyjnego stanowią przykłady (wysiłki badawcze), które są krótko opracowane w dalszej części pracy, w rozdziale Prezentacja istniejących rozwiązań.
W niniejszym opracowaniu uwzględniliśmy również architektury nie zajmujące się semantyką danych, ale których architektury wpłynęły na badania w pewnym kierunku. Ponadto pokazaliśmy, w jaki sposób semantyczne wzbogacanie danych poprawia efektywność stosowanego podejścia.
Ponieważ rolą platformy integracyjnej sieci sensorowych jest działanie jako interfejs pomiędzy sieciami sensorowymi a aplikacjami użytkowników, badacze są w stanie zmierzyć się z problemem albo na poziomie sieci sensorowych, tj. podejściem bottom-up, albo na poziomie aplikacji, tj. podejściem top-down. Dlatego też, jako główne kryterium klasyfikacji badanych architektur, klasyfikujemy architektury w zależności od wybranego podejścia, do którego można zaliczyć: podejście zorientowane na sieci sensorowe oraz podejście zorientowane na aplikacje. W pierwszym podejściu badacze starają się rozwiązać problem heterogeniczności sieci sensorowych, charakterystyki technicznej sieci sensorowych, ograniczeń, protokołów oraz produkowanych obserwacji i pomiarów, poprzez zaproponowanie optymalnego sposobu obsługi, reprezentacji, przechowywania i agregacji dostępnych źródeł danych sensorowych do wyższych warstw systemu, a tym samym do aplikacji. W drugim podejściu badacze dążą do zapewnienia użytkownikom i aplikacjom interfejsu i mechanizmu interakcji, który umożliwi im uzyskanie interesujących ich informacji ze zintegrowanych sieci czujników, uwalniając ich od złożoności i specyfiki tych sieci czujników.
W ramach pierwszej klasy możemy wyróżnić trzy podgrupy: architektury skoncentrowane na bazach danych, podejścia oparte na translacji zapytań oraz podejścia oparte na wirtualizacji czujników. Wszystkie te podgrupy mogą być dalej podzielone na podejścia z i bez zatrudnienia semantyki danych.
Rozwiązania skupione na bazie danych charakteryzują się bazą danych jako centralnym ośrodkiem wszystkich zgromadzonych danych z czujników, a w konsekwencji wszystkie wyszukiwania i manipulacje danymi z czujników są wykonywane przez bazę danych. Wyzwaniem jest mapowanie heterogenicznych danych z czujników do unikalnego schematu bazy danych. Dodatkowy mechanizm powinien być zapewniony dla obsługi danych w czasie rzeczywistym, ponieważ ten typ danych jest trudny do bezpośredniego buforowania ze względu na ich dużą objętość. Głównym problemem w tym podejściu jest skalowalność, ponieważ serwer bazy danych powinien obsługiwać zarówno wstawianie danych pochodzących z węzłów czujników, jak i wykonywanie zapytań aplikacji. Podejście to może skorzystać z możliwości włączenia wsparcia dla technik eksploracji danych i uczenia maszynowego nad przechowywaną pulą danych z czujników.
Podejście tłumaczenia zapytań wykorzystuje naturalną formę danych z czujników i związane z nimi języki zapytań w celu przekształcenia zapytania użytkownika na docelowy język zapytań określonego źródła. Podejście to implikuje potrzebę zachowania informacji o dostępnych źródłach danych, przede wszystkim o natywnym języku zapytań danego źródła danych, formacie i naturze produkowanych danych, ale może również zawierać informacje o możliwościach czujników, topologii sieci, ograniczeniach mocy dla lepszej optymalizacji zapytań. Wyniki natywnych zapytań powinny być składane do docelowego formatu danych. Potencjalnie, wada wydajności leży w fakcie, że dwie konwersje na każde żądanie użytkownika muszą być wykonane w runtime: kiedy zapytanie jest tłumaczone na zapytanie natywne i ponownie, kiedy wyniki zapytania powinny być przekonwertowane na format docelowy.
W podejściu wirtualizacji czujników, czujniki i inne urządzenia są reprezentowane za pomocą abstrakcyjnego modelu danych, a aplikacje mają możliwość bezpośredniej interakcji z taką abstrakcją za pomocą interfejsu. Niezależnie od tego, czy implementacja zdefiniowanego interfejsu jest realizowana na węzłach czujników, czy na komponentach bramek, wytworzone strumienie danych muszą być zgodne z powszechnie przyjętym formatem, który powinien umożliwić interoperacyjność. Ogólnie rzecz biorąc, każdy wspólny format danych, który wykorzystuje semantyczny model danych, może być wykorzystany do reprezentacji danych, a nawet wiele formatów danych, ukierunkowanych na różne poziomy abstrakcji danych, może współistnieć równolegle, w zależności od potrzeb użytkownika. Podejście to jest obiecujące i oferuje dobrą skalowalność, wysoką wydajność i efektywną fuzję danych w heterogenicznych sieciach czujników, jak również elastyczność w agregacji strumieni danych, itp.
Jak stwierdzono powyżej, podejścia zorientowane na aplikacje starają się zaoferować najbardziej efektywny sposób aplikacjom użytkownika na uzyskanie potrzebnych informacji ze zintegrowanych sieci czujników. Jednakże, koncentrując się na zapewnieniu wysokopoziomowej interakcji pomiędzy aplikacjami a systemem bazowym, wraz z umożliwieniem funkcji wnioskowania o wiedzy, czasami cierpią z powodu aspektów wydajnościowych, które uniemożliwiają szerszą akceptację tych rozwiązań. Zidentyfikowaliśmy cztery podgrupy, które dzielą tę samą podstawową zasadę podejścia top-down: podejścia architektury zorientowanej na usługi, podejścia kompozycji usług, podejścia transformacji danych opartej na regułach oraz systemy oparte na agentach.
Podejścia architektury zorientowanej na usługi zapewniają standardowy interfejs usług ze zdefiniowanymi metodami i kodowaniem danych w celu uzyskania obserwacji i pomiarów z pożądanych czujników. Ponadto, mogą one oferować funkcje takie jak uzyskiwanie informacji o charakterystyce czujników, możliwość subskrybowania wybranych wartości danych z czujników, składanie zapytań, opcjonalnie funkcje aktywacji, itp. Dominującą interakcją w tych architekturach jest model żądanie-odpowiedź, a w mniejszym stopniu oparte na zdarzeniach dostarczanie danych z czujników. Wadą tego podejścia jest to, że nie ma ono możliwości łączenia strumieniowych danych z czujników z archiwalnymi lub pozyskanymi typami danych. Chociaż nie ma wyraźnych ograniczeń co do konkretnej implementacji, podejście to ma tendencję do bycia zorientowanym pionowo i obejmuje tylko jedną domenę aplikacji.
Podejścia zorientowane na kompozycję usług pozwalają użytkownikom na zdefiniowanie arbitralnych usług lub strumieni danych z określonymi cechami zainteresowania. System będzie próbował skomponować taki strumień danych poprzez zastosowanie specyficznego przetwarzania na odpowiednich źródłach danych, co w rezultacie doprowadzi do wytworzenia strumienia danych zgodnego z żądaną specyfikacją. Pełna ekspresyjność żądań użytkownika może być osiągnięta poprzez umożliwienie opartego na modelu semantycznym opisu pożądanych strumieni danych i możliwości przetwarzania: rozumowanie oparte na semantyce może być wykorzystane podczas poszukiwania optymalnej kompozycji dostępnych komponentów. To podejście wydaje się oferować najbardziej elastyczne rozwiązania z punktu widzenia aplikacji, chociaż wydajność może ulec pogorszeniu ze względu na odkrywanie kompozycji usług w czasie rzeczywistym.
Transformacja danych oparta na regułach wydaje się być najbardziej powszechnym podejściem do wykorzystania semantycznych modeli danych. Inferencja nowej wiedzy lub wykrywanie zdarzeń wysokiego poziomu są osiągane przez funkcje mapowania polegające na relacjach między pojęciami uchwyconymi w ontologicznej reprezentacji modelu domeny a obserwacjami i pomiarami danych z czujników. W architekturze może występować wiele transformacji w zależności od różnych warstw modelu informacyjnego. Dane są przekształcane z formatów niższego poziomu do semantycznych reprezentacji umożliwiających semantyczne wyszukiwanie i zastosowanie algorytmów rozumowania.
Systemy oparte na agentach składają się z kilku typów agentów. Agenty są komponentami oprogramowania zdolnymi do wykonywania określonych zadań. Wspólnie osiągają pożądane funkcjonalności. Do komunikacji wewnętrznej agentów można wykorzystać niektóre ze standardowych platform agentowych lub specyficzną implementację. Typowo, agenci należą do jednej z kilku warstw w oparciu o rodzaj funkcjonalności, za które są odpowiedzialni. W jednej warstwie logicznej może znajdować się kilka typów agentów. Agenci z wyższych warstw wykorzystują agentów z niższych warstw. To, czy agenci wykorzystują semantykę danych z czujników, czy też modele semantyczne do opisu możliwości przetwarzania agentów, zależy od konkretnej implementacji.
Drzewo klasyfikacji, wyprowadzone na podstawie wyżej wymienionych kryteriów klasyfikacji, przedstawione jest na Rys. 1 i składa się z siedmiu liści. Każdemu liściowi drzewa klasyfikacyjnego przypisana jest nazwa, zgodnie z opisem powyżej. Lista istniejących rozwiązań (przykładów) jest podana zgodnie z zastosowaną klasyfikacją dla każdego liścia (klasy). Podaliśmy tylko nazwy podejść i główne referencje w osobnym paragrafie, aby umożliwić zainteresowanym czytelnikom przestudiowanie dalszych szczegółów. Dla uproszczenia, nadajemy arbitralną nazwę rozwiązaniu, które nie ma wyraźnej nazwy nadanej przez autorów. Używamy albo nazwy instytucji, z której pochodzą autorzy, albo nazwy głównego zagadnienia strategicznego charakterystycznego dla tego rozwiązania.
Do rozwiązań bazodanowych należą podejścia niesemantyczne, takie jak system bazodanowy Cougar, jedna z pierwszych prac badawczych w kierunku integracji sieci sensorowych, oraz SenseWeb, który jest przykładem maksymalnego wykorzystania opisanego podejścia. ES3N jest przykładem podejścia bazodanowego opartego na semantyce.
Wszystkie rozwiązania odnoszące się do translacji zapytań wykorzystują technologie semantyczne i obejmują: semantyczną sieć czujników CSIRO, podejście oparte na SPARQLSTREAM oraz SemSorGrid4Env, który jest najbardziej kompleksowym rozwiązaniem w tej grupie.
Najnowsze prace badawcze w tej dziedzinie należą do podejść wirtualizacji czujników. Podejście niesemantyczne jest stosowane w GSN , podczas gdy rozwiązania proponowane w dużych projektach finansowanych przez UE, takich jak SENSEI i Internet Rzeczy (IoT), wykorzystują semantykę danych.
Architektury zorientowane na usługi obejmują proste, a zarazem wydajne rozwiązania niesemantyczne, takie jak TinyREST i specyfikacje OGC SWE architektury referencyjnej wdrażane przez różne podmioty. Podejście oparte na semantyce jest stosowane w SemSOS .
Podejścia oparte na komponowaniu usług mają tendencję do oferowania najbardziej elastycznej interakcji użytkownikom, a Klepsydra jest przykładem rozwiązania opartego na niesemantyce. Bardziej zaawansowane rozwiązania wykorzystują podejścia semantyczne i obejmują SONGS oraz architekturę opracowaną w IBM .
Najczęstsze architektury, które wykorzystują technologie semantyczne, należą do opartych na regułach podejść do transformacji danych i obejmują: oparty na semantyce system fuzji danych z czujników opracowany na Uniwersytecie w Toronto , architekturę pluggable zaprojektowaną na Narodowym Uniwersytecie Technicznym w Atenach oraz SWASN , część wizji CommonSense firmy Ericsson .
.