4 Critérios de Classificação e a Árvore de Classificação
Os dois maiores problemas na criação de uma nova taxonomia são: os critérios de classificação e a árvore de classificação. Aqui, os critérios de classificação foram escolhidos para refletir a essência do ponto de vista básico da pesquisa. A árvore de classificação tem sido obtida pela aplicação sucessiva dos critérios escolhidos. As folhas da árvore de classificação são os exemplos (esforços de pesquisa), que são elaborados brevemente mais adiante, na seção Apresentação das Soluções Existentes deste trabalho.
Neste estudo, incluímos também arquiteturas que não tratam da semântica dos dados, mas cujas arquiteturas influenciaram a pesquisa em determinada direção. Além disso, temos mostrado como o enriquecimento de dados semânticos melhora a eficiência da abordagem utilizada.
Desde que o papel da plataforma de integração de redes de sensores é agir como uma interface entre as redes de sensores e a aplicação dos usuários, os pesquisadores são capazes de lidar com o problema tanto no nível das redes de sensores, ou seja, de baixo para cima, ou no nível das aplicações, ou seja, abordagem de cima para baixo. Portanto, como principal critério de classificação das arquiteturas pesquisadas, classificamos as arquiteturas de acordo com a abordagem selecionada, que pode incluir: abordagem orientada a redes de sensores e abordagem orientada a aplicações. Na primeira abordagem, os pesquisadores tentam resolver a heterogeneidade das redes de sensores, características técnicas das redes de sensores, restrições, protocolos, e produzir observações e medições, por meio da proposta de uma forma ideal de manipulação, representação, armazenamento e agregação das fontes de dados de sensores disponíveis nas camadas superiores do sistema e, portanto, nas aplicações. Na segunda abordagem, os pesquisadores tendem a habilitar uma interface as-conformes-como-possível e um mecanismo de interação para usuários e aplicações, o que lhes permite obter as informações que lhes interessam, a partir das redes de sensores integrados, liberando-as das complexidades e especificidades dessas redes de sensores.
Na primeira classe, podemos identificar três subgrupos: arquiteturas centradas em bases de dados, abordagens baseadas na tradução de consultas e abordagens baseadas na virtualização de sensores. Todos esses subgrupos podem ser ainda mais divididos nas abordagens com e sem emprego de semântica de dados.
As soluções centradas em banco de dados são caracterizadas com um banco de dados como um núcleo central de todos os dados coletados dos sensores, e conseqüentemente toda a busca e manipulação dos dados dos sensores são realizadas sobre o banco de dados. É um desafio mapear dados de sensores heterogêneos para um esquema único de base de dados. Um mecanismo adicional deve ser fornecido para suporte de dados em tempo real, pois este tipo de dados dificilmente será armazenado em cache diretamente devido ao seu grande volume. A principal preocupação com esta abordagem é a escalabilidade, uma vez que o servidor de banco de dados deve lidar tanto com a inserção de dados provenientes dos nós sensores, como com a realização de consultas de aplicação. Esta abordagem pode se beneficiar da possibilidade de permitir o suporte a técnicas de mineração de dados e aprendizagem de máquinas sobre o pool de dados de sensores armazenados.
A abordagem de tradução de consultas utiliza a forma natural dos dados de sensores e as linguagens de consulta associadas, a fim de transformar as consultas dos usuários para a linguagem de consulta de destino de uma determinada fonte. Esta abordagem implica a necessidade de manter a informação das fontes de dados disponíveis, principalmente a linguagem de consulta nativa de certas fontes de dados, formato e natureza dos dados produzidos, mas também pode incluir informação sobre capacidades dos sensores, topologia de rede, restrições de potência para uma melhor optimização da consulta. Os resultados das consultas nativas devem ser reunidos no formato de dados de destino. Potencialmente, uma desvantagem do desempenho reside no fato de que duas conversões por pedido de cada usuário devem ser feitas no tempo de execução: quando uma consulta é traduzida para uma consulta nativa, e novamente quando os resultados da consulta devem ser convertidos para o formato alvo.
Na abordagem de virtualização de sensores, os sensores e outros dispositivos são representados com um modelo de dados abstrato e as aplicações são fornecidas com a capacidade de interagir diretamente com tal abstração usando uma interface. Quer a implementação da interface definida seja alcançada nos nós de sensores afundadores ou componentes de gateways, os fluxos de dados produzidos devem estar de acordo com o formato comumente aceito que deve permitir a interoperabilidade. Geralmente, qualquer formato de dados comum, que aproveite o modelo de dados semântico, pode ser usado para representação de dados, ou mesmo múltiplos formatos de dados visando diferentes níveis de abstração de dados, podem coexistir em paralelo, dependendo das necessidades do usuário. Esta abordagem é promissora e oferece boa escalabilidade, alto desempenho e fusão eficiente de dados em redes de sensores heterogêneas, bem como flexibilidade na agregação de fluxos de dados, etc.
Como dito acima, abordagens orientadas a aplicações tentam oferecer a maneira mais eficiente para as aplicações do usuário para obter as informações necessárias a partir das redes de sensores integrados. No entanto, o foco no fornecimento da interação de alto nível entre as aplicações e o sistema subjacente, com funcionalidades de inferência de conhecimento, às vezes sofre com os aspectos de desempenho, que impedem a aceitação mais ampla dessas soluções. Identificamos quatro subgrupos que compartilham o mesmo princípio básico da abordagem top-down: as abordagens de arquitetura orientada a serviços, abordagens de composição de serviços, abordagens de transformação de dados baseadas em regras e sistemas baseados em agentes.
As abordagens de arquitetura orientada a serviços fornecem uma interface de serviço padrão com métodos e codificações de dados definidos para obter observação e medições a partir dos sensores desejados. Além disso, pode oferecer funções tais como obter informações das características dos sensores, capacidade de subscrever os valores dos dados dos sensores selecionados, submeter consultas, opcionalmente as funções de acionamento, etc. A interação dominante nestas arquiteturas é o modelo de resposta ao pedido e, em menor escala, a entrega de dados de sensores baseada em eventos. Uma desvantagem desta abordagem é que ela não tem a capacidade de fundir dados de sensores baseados em fluxos juntamente com tipos de dados arquivados ou adquiridos. Embora não haja restrições explícitas na implementação concreta, esta abordagem tende a ser orientada verticalmente e cobre apenas um domínio de aplicação.
As abordagens orientadas para a composição de serviços permitem aos usuários a capacidade de definir serviços ou fluxos de dados arbitrários com características específicas de interesse. O sistema tentará compor tal fluxo de dados aplicando processamento específico sobre fontes de dados apropriadas, o que resultará na produção de um fluxo de dados que esteja de acordo com a especificação solicitada. A expressividade total do pedido do usuário pode ser alcançada ao permitir uma descrição semântica baseada em modelos de fluxos de dados desejados e capacidades de processamento: o raciocínio baseado na semântica pode ser utilizado quando se procura uma composição ótima dos componentes disponíveis. Esta abordagem parece oferecer as soluções mais flexíveis da perspectiva das aplicações, embora o desempenho possa ser degradado devido à descoberta em tempo real da composição do serviço.
A transformação de dados baseada em regras parece ser a abordagem mais comum para a utilização de modelos de dados semânticos. A infusão de novos conhecimentos ou a detecção de eventos de alto nível são conseguidos através das funções de mapeamento que se baseiam nas relações entre os conceitos capturados no modelo de domínio representação ontológica e as observações e medições de dados dos sensores. Pode haver múltiplas transformações através da arquitetura de acordo com as diferentes camadas do modelo de informação. Os dados são transformados de formatos de nível inferior para representações baseadas em semântica permitindo a aplicação de algoritmos de busca e raciocínio semântico.
Os sistemas baseados em agentes consistem em vários tipos de agentes. Os agentes são componentes de software capazes de realizar tarefas específicas. Eles alcançam de forma colaborativa as funcionalidades desejadas. Para as comunicações internas dos agentes podem ser usadas algumas plataformas de agentes padrão ou uma implementação específica. Normalmente, os agentes pertencem a uma das várias camadas com base no tipo de funcionalidades pelas quais eles são responsáveis. Também pode haver vários tipos de agentes em uma camada lógica. Os agentes das camadas superiores empregam agentes das camadas inferiores. Se os agentes empregam a semântica de dados do sensor, ou se modelos semânticos são usados para a descrição das capacidades de processamento de agentes depende da implementação concreta.
A árvore de classificação, derivada dos critérios de classificação acima mencionados, é apresentada na Fig. 1, e é composta de sete folhas. A cada folha da árvore de classificação é atribuído um nome, conforme descrito acima. A lista de soluções existentes (exemplos) é dada de acordo com a classificação aplicada para cada folha (classe). Fornecemos apenas os nomes das abordagens e referências principais em um parágrafo separado, a fim de permitir que os leitores interessados possam estudar mais detalhes… Por uma questão de simplicidade, damos um nome arbitrário a uma solução que não tem um nome explícito dado pelos autores. Usamos ou o nome da instituição de onde os autores vieram, ou o nome da principal característica estratégica dessa solução.
As soluções centradas em banco de dados incluem abordagens não-semânticas, como o sistema de banco de dados Cougar , um dos primeiros trabalhos de pesquisa para integração de redes de sensores, e SenseWeb , que é um exemplo de utilização máxima da abordagem descrita. O ES3N é um exemplo de abordagem centrada na semântica de banco de dados.
Todas as soluções relativas às abordagens de tradução de consultas empregam tecnologias semânticas e incluem: a rede de sensores semânticos CSIRO , a abordagem baseada em SPARQLSTREAM , e a SemSorGrid4Env , que é a solução mais abrangente neste grupo.
Os mais recentes esforços de pesquisa neste campo pertencem a abordagens de virtualização de sensores. A abordagem não-semântica é usada no GSN , enquanto as soluções propostas em projetos de grande escala financiados pela UE, como o SENSEI e a Internet das Coisas (IoT) utilizam a semântica dos dados.
As arquiteturas orientadas a serviços incluem soluções não-semânticas simples e eficientes, como o TinyREST e as especificações SWE do OGC da arquitetura de referência implementada por várias partes. Uma abordagem semântica é usada no SemSOS .
As abordagens de composição de serviços tendem a oferecer a interação mais flexível aos usuários e a Ampulheta é um exemplo de uma solução não-semântica. Soluções mais poderosas utilizam abordagens semânticas e incluem o SONGS e uma arquitetura desenvolvida na IBM .
As arquiteturas mais comuns que empregam tecnologias semânticas pertencem a abordagens de transformação de dados baseados em regras e incluem: um sistema de fusão de dados de sensores baseado na semântica desenvolvido na Universidade de Toronto , arquitetura pluggable projetada na Universidade Técnica Nacional de Atenas , e o SWASN , uma parte da visão CommonSense da Ericsson .
Finalmente, as abordagens baseadas em agentes têm tanto os representantes não-semânticos como semânticos: o primeiro é uma infra-estrutura de sensores à escala da Internet chamada IrisNet , enquanto o segundo é o SWAP , um sistema multi-agente para arquitecturas Web de sensores.