Proposição de Novos Serviços para o SEMSuS:
Middleware para Redes de Sensores sem fio baseado em
Serviços Semânticos
Marianna Angélica de Araújo1, Francisco Cassimiro Neto2, Cláudia Maria
Fernandes Araújo Ribeiro1
1
Laboratório LUMEN – Universidade do Estado do Rio Grande do Norte (UERN)
Departamento de Computação - Av. Ayrton Senna, 4241 – 59088-100 – Neópolis –
Natal/RN - Brasil
2
Instituto Federal da Paraíba (IFPB) - Rua Presidente Tancredo Neves, S/N
Jardim Sorrilândia – Sousa/Pb – Brazil
[email protected], [email protected],
[email protected]
Abstract. This paper proposes the extension of SEMSuS, a middleware for
wireless sensor networks based on semantic services, by incorporation of news
services aimed at improving the reuse of energy resources based in map of
energy available in the nodes that make up the wireless sensor networks.
Resumo. Este artigo propõe a extensão do SEMSuS, um middleware para
redes de sensores sem fio baseado em serviços semânticos, pela incorporação
de novos serviços que visam melhoria na reutilização dos recursos
energéticos baseado em mapa de energia disponível nos nós que compõem a
redes de sensores sem fio.
1. Introdução
Redes de sensores sem fio (RSSFs) são compostas por dispositivos heterogêneos
denominados nós sensores, com pequeno tamanho, baixo custo, limitações
computacionais quando comparados às redes tradicionais, e são intimamente
relacionadas com o ambiente em que são implantadas. Tais sensores possuem baterias
não recarregáveis como fonte de energia e devem permanecer operando com o mínimo
de intervenção humana, pois geralmente são implantados em áreas de difícil acesso. A
economia de energia, portanto, é uma questão crucial em RSSFs.
Diversas áreas podem utilizar as RSSFs, como a de saúde, monitoramento
ambiental, agricultura de precisão, “construções inteligentes”, sistemas militares, dentre
outras [Wang et al, 2008]. Embora as aplicações nessas redes se estendam por um
amplo espectro, a maioria dessas aplicações requer um nível mínimo de qualidade de
serviço (QoS) [Delicato, 2006]. Entretanto, apesar de existirem necessidades comuns as
aplicações, os requisitos de QoS são específicos de cada aplicação.
Por ser uma plataforma distribuída, as RSSFs também podem se beneficiar do
uso de middleware que forneça um ambiente de execução genérico e abstraia
funcionalidades de infra-estrutura da rede [Delicato, 2006]. Recentemente têm surgido
diferentes propostas de middleware para RSSFs com diferentes abordagens e objetivos.
Este artigo faz proposição de novos serviços a serem acrescentados ao SEMSuS
um middleware para RSSFs baseado em serviços semânticos [Cassimiro Neto and
Ribeiro 2010]. O SEMSuS adota estilos de arquitetura, tal como Arquitetura Orientada a
Serviços (SOA) e padrões de projeto tais como o Dispatcher [Gay et at, 2007] e
Interceptor [Markus et al, 2004].
Este artigo está estruturado da seguinte forma: a seção 2 apresenta as tecnologias
necessárias para uma melhor compreensão sobre o SEMSuS tais como SOA, serviços
web, web semântica e ontologias. A seção 3 aborda o SEMSuS, mais especificamente
sua arquitetura e como interagem seus principais componentes arquiteturais. A seção 4
discute sobre a extensão do SEMSuS, por fim, na seção 5 tem-se a conclusão e
trabalhos futuros.
2. Conceitos fundamentais sobre Serviços
Uma RSSF pode ser considerada tipicamente provedora de serviços e as aplicações
como clientes de tais serviços. A proposta de utilizar tecnologia semântica no
desenvolvimento de serviços tenciona facilitar a automatização de tarefas tipicamente
relacionadas à arquitetura SOA que inclui descoberta, seleção e composição de serviços,
por permitir o tratamento de dados pelo seu significado independente da forma como
está estruturado. A utilização de semântica por sua vez, promove melhorias na
comunicação entre aplicação como cliente, e RSSF como provedora, de modo que a
comunicação entre eles estejam baseada na definição do significado das informações
trocadas e não apenas em sua forma sintática.
2.1. Arquitetura Orientada a Serviços (SOA) e Serviços Web
Segundo [Cary et al, 2007], SOA é um conjunto de componentes que podem ser
invocados e as descrições de suas interfaces publicadas e descobertas. Os componentes
são disponibilizados como serviços independentes que são acessados de forma
padronizada.
Existem três principais atores em SOA: o cliente, o provedor e o registro. Suas
interações se resumem a publicação do serviço, sua busca e sua invocação.
Especificamente as interações ocorrem da seguinte maneira: Publicar – o provedor
realiza a publicação da descrição do serviço que ele fornece em um lugar conhecido
pelo cliente (o registro); Buscar – o cliente realiza perguntas sobre os serviços
publicados no registro; Ligar/Invocar – ao obter o endereço do serviço que atende as
suas necessidades, o cliente interage com o provedor do serviço para o seu
fornecimento. A figura 1 mostra como ocorre às interações entre os principais atores em
SOA.
Figura 1. Interações entre os atores em SOA. Fonte:[Rocha, 2002]
Serviços Web são considerados a realização de SOA mais usada, mas sua
utilização não implica necessariamente no uso de SOA [Cary et al, 2007]. A invocação
dos serviços web ocorre por meio de mensagens XML (Extensible Markup Language)
seguindo o padrão SOAP (Simple Object Access Protocol). As descrições dos serviços
contêm informações sobre as operações fornecidas, assim como os formatos de suas
mensagens de entrada e saída, e seguem o padrão WSDL (Web Service Definition
Language). O provedor publica o WSDL em um registro denominado UDDI (Universal
Description, Discovery, and Integration), possibilitando aos requisitantes de serviços a
buscarem e acharem no UDDI os serviços que atendam as suas necessidades.
2.2. Serviços semânticos e Ontologias
A utilização das tecnologias dos serviços web para implementação das interações de
fornecimento de serviços pela RSSF e do consumo pelas aplicações apresenta uma
limitação sintática.
Uma forma de superar essa limitação sintática é por meio do uso de tecnologias
da Web Semântica. Ela não é uma Web separada, mas uma extensão da atual, em que as
informações trazem significados bem definidos permitindo que computadores e pessoas
trabalhem melhor em cooperação [Berners-Lee, 2001]. Assim, os serviços semânticos
são obtidos pela adição de semântica aos padrões dos serviços web, possibilitando o
enriquecimento semântico dos mesmos.
Um dos principais recursos da Web Semântica é a ontologia. Ela é uma
especificação explícita de uma conceitualização, na qual definições associam nomes de
entidades no universo do discurso (por exemplo, classes, relações) com textos que
descrevam o significado dos nomes e os axiomas formais que restringem a interpretação
e o uso desses termos [Gruber, 1996]. Logo, as ontologias possuem um papel
importante na comparação ou combinação de informações que possuem diferentes
significados para o mesmo conceito. Assim, quando um cliente e o provedor de serviço
se comunicam utilizando informações semanticamente estruturadas, eles combinam o
significado dos dados que são trocados obtendo uma melhor interpretação dos mesmos.
3. O SEMSuS
O middleware denominado SEMSuS utiliza tecnologias da Web Semântica, para
fornecer serviços mais inteligentes, no qual as RSSF são consideradas essencialmente
fornecedoras de serviços. Nele a RSSF é interpretada como provedora de serviços e a
aplicação é quem consome os serviços. Assim quando do uso do SEMSuS, tem-se a
realização do componente Provedor pela RSSF e Cliente pela aplicação, enquanto o
Registro é realizado por uma terceira máquina, responsável por executar os mecanismos
de comparação sintáticos e semânticos na busca de serviços.
Esses serviços são implementados nos nós da rede, por meio da linguagem nesC
[Levis et al, 2003] no sistema operacional TinyOS [Tymo, 2010], na qual foram
especialmente desenvolvido para ambientes restritos.
3.1. Arquitetura do Middleware
A arquitetura de software em sistemas de middleware permite a visualização de como
os componentes estão distribuídos e como eles interagem entre si, para alcançar os
objetivos do sistema.
Levando em consideração os elementos arquiteturais organizados em camadas, a
arquitetura do SEMSuS fica como apresenta a figura 2.
Figura 2. Arquitetura do SEMSuS. Fonte: [Cassimiro Neto, 2010].
A publicação, que não está representada na arquitetura da figura 2 por não ser
um serviço diretamente fornecido às aplicações, trata-se de uma interação entre o
provedor e o registro sem a participação direta da aplicação, que é o cliente do serviço.
É neste processo que as bases de descrição sintática e semântica são alimentadas. A
aplicação apenas busca e faz uso dos serviços que tiveram suas descrições publicadas
nestas bases.
De acordo com a arquitetura da figura 2, o SEMSuS fornece os mecanismos de
busca e invocação de serviço. O primeiro é dividido em busca sintática e semântica. A
busca sintática se dá por meio do “Comparador Sintático”, sendo necessário o acesso a
essa base dos serviços onde são encontrados os arquivos WSDL proveniente da
aplicação. Enquanto que a busca semântica pelo “Comparador Semântico” sendo
necessário o acesso às descrições enriquecidas com informações semânticas no
repositório de “Descrição Semântica” dos serviços. O enriquecimento semântico das
descrições é derivado das ontologias de domínio que definem o significado dos termos
usados.
A invocação dos serviços é executada após a aplicação buscar e encontrar os
serviços que atendam as suas necessidades. Esse processo é mostrado na figura 3.
Figura 3. Interações e ferramentas utilizadas na invocação dos serviços.
Adaptada de [Cassimiro Neto, 2010].
Como mostra a figura 3, é pela invocação que as aplicações fazem uso das
funcionalidades oferecidas pela RSSF. Estas funcionalidades são representadas como
serviços escolhidos pelo Gerenciador e Dispatcher, ambos encontrados na RSSF
juntamente com os serviços. O Gateway é o componente que recebe requisições Web e
as mapeia para mensagens a serem trocadas na RSSF e faz a publicação de serviços nas
bases de descrições. Ele encontra-se no Web Server (Tomcat).
4. Proposta de extensão do SEMSuS
O SEMSuS é um middleware aberto que utiliza como um de seus componentes o
Dispatcher, o qual define uma interface genérica de modo que todos os serviços que
façam parte do SEMSuS devem obedecer a mesma. Cada um dos serviços está
associado a uma instancia da interface. Assim, por exemplo, um serviço de roteamento
está associado a instancia de identificador “1”, enquanto o de disseminação a de
identificador “2” e assim por diante. Então caso seja adicionado outro serviço, o mesmo
deve obedecer à interface disponibilizada pelo Dispatcher e ter um identificador
associado a sua implementação. A utilização deste componente possibilita a
manutenção do sistema em componentes específicos quando da remoção ou adição de
serviços.
A princípio, o serviço proposto refere-se ao controle de topologia baseado no
mapa de energia. Diante da informação da quantidade de energia disponível em cada nó
sensor que compõe a RSSF, torna-se possível fazer um levantamento do mapa de
energia da rede, podendo ser usado para tomar uma decisão mais apropriada do que
deve ou pode ser feito na RSSF. Escolher como os nós vão atuar em uma RSSF pode
ser crítico, pois uma má escolha da topologia física pode levar mais tarde a custos
desnecessários, bem como um ineficiente aproveitamento dos recursos de energia.
A proposta da obtenção do mapa de energia ocorre com os nós sensores
enviando periodicamente para o nó sorvedouro seus respectivos valores de energia e de
consumo. O valor desse consumo é baseado em predições de estados de energia
passados, possibilitando com essas informações, que o sorvedouro atualize os dados a
respeito da energia de cada nó. Se por exemplo, for detectado que os nós têm
quantidade de energia suficiente, é possível determinar os componentes que fazem parte
do backbone de comunicação, conforme topologia descrita em [Raei et al, 2009]. Para
uma topologia baseada em Clusters [Kong et al, 2010], pode-se utilizar o mapa de
energia para saber quais os nós que possuem quantidade de energia suficiente para
melhor assumirem o papel de cluster head. Outra utilização dos mapas de energia é
fazer com que os nós com menor quantidade de energia permaneçam em estado de
latência em relação aos que possuem maior quantidade de energia, pretendendo-se com
isso um maior alcance do tempo de vida da RSSF e maior controle de possíveis áreas
descobertas pela falha de nós devido a falta de energia.
5. Conclusão e Trabalhos Futuros
Soluções de middleware para RSSF já são discutidos e encontrados na literatura. O
SEMSuS, é baseado em serviços semânticos e permite a exposição da RSSF na Web,
realizando os chamados “Sensor Web [Cassimiro Neto, 2010]. O estilo SOA é usado
como uma forma de interação entre a RSSF e aplicações, e sua implementação é feita
por meio de Serviços Semânticos, oferecendo flexibilidade e dinamismo decorrentes da
troca de informações semanticamente estruturadas.
Com a obtenção dos valores energéticos dispostos em cada nó sensor, por meio
do mapa de energia, torna-se possível a implantação do serviço de gerenciamento de
topologia da rede baseado nos recursos energéticos disponíveis. O SEMSuS ajudará a
identificar áreas possivelmente descobertas de sensoriamento devido a falhas
provocadas por falta de energia suficiente, bem como poderá alterar a topologia e o
papel dos nós na rede conforme a quantidade de energia disponível.
O SEMSuS foi testado em um ambiente de simulação TOSSIM [TOSSIM,
2010], sendo previsto como trabalho futuro sua implementação em plataformas de
hardware de nós sensores. Diante disso pretende-se utilizá-lo em componentes de
hardware juntamente com os novos serviços que serão implementados.
Referências
Apache jUDDI – Welcome <http://ws.apache.org/juddi/>. Acesso em: 23 Agosto 2010.
OWL-S / UDDI Matchmaker. Disponível em <http://www.daml.ri.cmu.edu/matchmaker>.
Acesso em: Agosto 2010.
Apache Tomcat - Welcome!. Disponível em: < http://tomcat.apache.org/>. Acesso em: Agosto
2010.
Berners-Lee, T. et al. (2001) “The Semantic Web”, Scientific American.
Cary, P. et al. “Semantic Web Services: Theory, Tools and Applications”, J. Cardoso, Editor,
Hershey, Pennsylvania: IGI Global, Mar. 2007.
Cassimiro Neto, F and Ribeiro, C. M. F. (2010), “Dynamic Change of Services in
Wireless Sensor Network Middleware based on Semantic Technologies”, 2010 Sixth
International Conference on Autonomic and Autonomous Systems.
Cassimiro Neto, F. (2010) “SEMSUS: Middleware para redes de Sensores sem Fio
baseado em Serviços Semânticos”. (Dissertação de Mestrado em Ciência da
Computação) –Universidade do Estado do Rio Grande do Norte/ Universidade
Federal Rural do Semi-Árido.
Delicato, F. (2006) “Middleware Baseado em Serviços para Redes de Sensores sem
Fio”, Anais do XXVI Congresso da SBC, XIX Concurso de Teses e
Dissertações.Gay, D. Levis, P. and Culler, D. (2007) “Software design patterns for
TinyOS”, ACM Transactions on Embedded Computing Systems (TECS), v.6 n.4,
pp.22-es, doi:10.1145/1274858.1274860.
Gruber,
T.
(1996)
What
is
an
ontology?
Disponível
em:
<http://ksl.stanford.edu/kst/what-is-an-ontology.html>. Acesso em: agosto 2010.
Kong, Lei. Wang, Qianping. Zhao, Yan. (2010) “Time Synchronization algorithm based
on Cluster for WSN”. IEEE Computer Society.
Levis, P. et al. (2003) “The nesC Language: A Holistic Approach to Networked
Embedded Systems”. In: Programming Language Design and Implementation
(PLDI).Markus, V. Michael, K. and Uwe, Z. (2004) “Remoting Patterns: Foundations of
Enterprise, Internet, and Realtime Distributed Object Middleware”, England: Wiley and
Sons, 2004, pp. 130-133.
Raei, H. et al. (2009) “A new distributed algorithm for virtual backbone in Wireless Sensor
Networks with different transmission ranges”, Computer Systems and Applications.
AICCSA. IEEE/ACS International Conference.Rocha, H. (2002) “Como implementar Web
Services em Java”, COMDEX, SUCESU-SP. Disponível em:
<http://www.argonavis.com.br/>. Acesso em: 04 Agosto 2010.
TOSSIM
TinyOS
Documentation
Wiki.
Disponível
em:
<http://docs.tinyos.net/index.php/TOSSIM >. Acesso em: Agosto 2010.
Tymo - TinyOS Documentation Wiki. Disponível em:
<http://docs.tinyos.net/index.php/Tymo>. Acesso em: 27 Agosto 2010.
Wang, M. et al. (2008) “Middleware for Wireless Sensor Networks: A Survey”, J.
Comput. Sci. Technol, pp. 305-326.
Download

Middleware para Redes de Sensores sem fio baseado em - DI