• Nenhum resultado encontrado

Infoestrutura: um sistema em nuvem para prover contexto como serviço no cenário de internet das coisas integrado a ambientes veiculares

N/A
N/A
Protected

Academic year: 2017

Share "Infoestrutura: um sistema em nuvem para prover contexto como serviço no cenário de internet das coisas integrado a ambientes veiculares"

Copied!
95
0
0

Texto

(1)

Departamento de Informática e Matemática Aplicada Programa de Pós-Graduação em Sistemas e Computação

Mestrado Acadêmico em Sistemas e Computação

Infoestrutura: Um Sistema em Nuvem para

Prover Contexto como Serviço no Cenário de

Internet das Coisas Integrado a Ambientes

Veiculares

Everton Fagner Costa de Almeida

(2)

Infoestrutura: Um Sistema em Nuvem para Prover

Contexto como Serviço no Cenário de Internet das

Coisas Integrado a Ambientes Veiculares

Dissertação de Mestrado apresentada ao Pro-grama de Pós-Graduação em Sistemas e Computação do Departamento de Informá-tica e MatemáInformá-tica Aplicada da Universidade Federal do Rio Grande do Norte como re-quisito parcial para a obtenção do grau de Mestre em Sistemas e Computação.

Linha de pesquisa:

Sistemas Integrados e Distribuídos

Orientador:

Augusto José Venâncio Neto, Dr.

PPgSC – Programa de Pós-Graduação em Sistemas e Computação DIMAp – Departamento de Informática e Matemática Aplicada

CCET – Centro de Ciências Exatas e da Terra UFRN – Universidade Federal do Rio Grande do Norte

Natal-RN

(3)

Contexto como Serviço no Cenário de Internet das Coisas Integrado a Ambientes Vei-culares apresentada por Everton Fagner Costa de Almeida e aceita pelo Programa de Pós-Graduação em Sistemas e Computação do Departamento de Informática e Matemá-tica Aplicada da Universidade Federal do Rio Grande do Norte, sendo aprovada por todos os membros da banca examinadora abaixo especificada:

Augusto José Venâncio Neto, Dr. Presidente

DIMAp – Departamento de Informática e Matemática Aplicada UFRN – Universidade Federal do Rio Grande do Norte

Nélio Alessandro Azevedo Cacho, Dr. Examinador Interno ao Programa

DIMAp – Departamento de Informática e Matemática Aplicada UFRN – Universidade Federal do Rio Grande do Norte

André Luiz Lins de Aquino, Dr. Examinador Externo à Instituição

IC – Instituto de Computação UFAL – Universidade Federal de Alagoas

(4)
(5)

Agradeço a Deus por guiar a minha vida em todos os momentos, e em especial pela conclusão dessa dissertação;

Aos meu pais, Antônio e Maria de Lourdes, por todo amor que me dão, pelo apoio dado, além da ótima formação que me proporcionaram;

À minha esposa Nádya pelo seu amor, carinho e paciência de não estar comigo nas horas que estava desenvolvendo este trabalho;

Ao professor Augusto Neto, pelas oportunidades em nortear o desenvolvimento da minha vida acadêmica, também por sua orientação neste trabalho;

Aos meus colegas/amigos da Pós-Graduação, em especial ao pessoal do nosso grupo de pesquisa (Felipe, Hugo, Helber, Castillo, Charles); do LAUT (Ivan, Daniel, Anderson, Itamar) e da Universidade Federal do Rio Grande do Norte (UFRN) e Universidade do Estado do Rio Grande do Norte (UERN), por todo o tempo que passamos juntos, pelas dúvidas tiradas, pelos problemas resolvidos juntos e pelo apoio para terminar este trabalho;

Ao colaboradores da Universidade Federal do Ceará (UFC) (André Fonteles, Benedito Neto, Windson, Lincoln, Rossana, Fabrício) pelo apoio.

À Coordenação de Aperfeiçoamento de Pessoal de Nível Superior (CAPES) pelo apoio financeiro;

(6)

lutei para que o melhor fosse feito. Eu não sou quem eu gostaria de ser; eu não sou quem eu po-deria ser, ainda; mas Graças a Deus, não sou

quem eu era antes.”

(7)

Contexto como Serviço no Cenário de Internet das

Coisas Integrado a Ambientes Veiculares

Autor: Everton Fagner Costa de Almeida Orientador: Dr. Augusto José Venâncio Neto

Resumo

(8)
(9)

Information for the Internet of Things Scenario.

Author: Everton Fagner Costa de Almeida Supervisor: PhD. Augusto José Venâncio Neto

Abstract

Through numerous technological advances in recent years along with the popularization of computer devices, the company is moving towards a paradigm “always connected”. Com-puter networks are everywhere and the advent of IPv6 paves the way for the explosion of the Internet of Things. This concept enables the sharing of data between computing machines and objects of day-to-day. One of the areas placed under Internet of Things are the Vehicular Networks. However, the information generated individually for a vehicle has no large amount and does not contribute to an improvement in transit, once information has been isolated. This proposal presents the Infostructure, a system that has to facilitate the efforts and reduce costs for development of applications context-aware to high-level semantic for the scenario of Internet of Things, which allows you to manage, store and combine the data in order to generate broader context. To this end we present a reference architecture, which aims to show the major components of the Infostructure. Soon after a prototype is presented which is used to validate our work reaches the level of contextu-alization desired high level semantic as well as a performance evaluation, which aims to evaluate the behavior of the subsystem responsible for managing contextual information on a large amount of data. After statistical analysis is performed with the results obtai-ned in the evaluation. Finally, the conclusions of the work and some problems such as no assurance as to the integrity of the sensory data coming Infostructure, and future work that takes into account the implementation of other modules so that we can conduct tests in real environments are presented.

(10)

1 Relação entre Computação Pervasiva, Móvel e Ubíqua (Adaptado [ARAUJO, 2003]) . . . p. 42

2 Modelos de Serviços da Computação em Nuvem (Adaptado de [

ARM-BRUST et al., 2009]). . . p. 45

3 Arquitetura do SysSU (Adaptado de [LIMA et al., 2011]) . . . p. 48

4 Apresentação do Middleware como um elemento intermediário . . . p. 50

5 Visão geral do middleware. . . p. 55

6 Arquitetura do middleware . . . p. 56

7 Arquitetura de componentes ConProVa . . . p. 57

8 Arquitetura da ferramenta para análise de dados . . . p. 58

9 Arquitetura de Referência da Infoestrutura . . . p. 62

10 Diagrama de Caso de Uso das operações específicas para o Administrador

e Usuário . . . p. 65

11 Diagrama de estados para a função RF-01 . . . p. 66

12 Diagrama UML de sequência que ilustra a criação de uma nova aplicação

de contexto . . . p. 68

13 Diagrama UML de sequência que ilustra o processo necessário para

con-textualizar uma tupla . . . p. 69

14 Cenário utilizado nas avaliações . . . p. 73

15 Porcentagem de contextualização no estudo de caso Controle de Tráfego p. 74

16 Porcentagem de contextualização no estudo de caso Radar Virtual . . . p. 75

17 Apresentação contextual do “Carro 17” para ambas aplicações . . . p. 76

(11)

20 Informações detalhada de um veículo na aplicação Controle de Tráfego p. 78

21 Informações detalhada de um veículo na aplicação Radar Virtual . . . . p. 78

22 Apresentação da aceleração de veículo para Controle de Tráfego . . . . p. 79

23 Apresentação da aceleração de veículo para Radar Virtual . . . p. 79

24 Representação gráfica do resultado da avaliação . . . p. 82

25 Representação gráfica das Médias dos seus Desvios Padrão . . . p. 83

(12)

1 Dimensões da Computação Ubíqua (adaptado de [LYYTINEN; YOO, 2002]) p. 42

2 Comparação entre os trabalhos relacionados . . . p. 59

3 Apresentação da contextualização gerada . . . p. 75

4 Resultados da avaliação de desempenho . . . p. 81

(13)

AE – Agente de Eventos

AmI – Ambientes Inteligentes

API – Application Programming Interface

APTS – Advanced Public Transportation Systems

ATIS – Advanced Traveler Information Systems

ATMS – Advanced Transportation Management Systems

AVL – Automatic Vehicle Location

BC – Base de Conhecimento

CaaS – Context as a Service

DENATRAN – Departamento Nacional de Trânsito

EaaS – Everything as a Service

ETC – Electronic Toll Collection

FCL – Fuzzy Control Language

Fig – Figura

FRBS – Fuzzy Rule Based Systems

Fuzzy FCA – Fuzzy Formal Concept Analysis

GHz – Giga Hertz

GPS – Global Positioning System

IaaS – Infrastructure as a Service

ID – Identificador

IEC – International Electrotechnical Comission

(14)

IPv4 – Internet Protocol version 4

IPv6 – Internet Protocol version 6

ITS – Intelligent Transportation Systems

Km/h – Quilômetros por hora

LF – Lógica Fuzzy

LTE – Long Term Evolution

M2M – Machine-to-Machine

MHz – Mega Hertz

ORM – Object Role Modeling

PaaS – Plataform as a Service

PCL – Programmable Controller Languages

PDS – Provedores de Dados Sensoriais

RAM – Random Access Memory

RIV – Redes de Informação Veiculares

RPC – Remote Procedure Call

RV – Redes Veiculares

SaaS – Software as a Service

SOAP – Simple Object Access Protocol

SP – Sensoriamento Participativo

SSP – Sistemas de Sensoriamento Participativo

SysSU – System Support for Ubiquity

TI – Tecnologia da Informação

TIC – Tecnologias da Informação e Comunicação

UbiComp – Computação Ubíqua

(15)

V2V – Vehicle-to-Vehicle

VCC – Vehicular Cloud Computing

VMT – Vehicle Miles Traveled

(16)
(17)

1 Introdução p. 19 1.1 Motivação . . . p. 25

1.2 Objetivos e contribuições . . . p. 26

1.3 Metodologia . . . p. 27

1.4 Organização do trabalho . . . p. 28

2 Fundamentação Teórica p. 29 2.1 Ambientes Inteligentes . . . p. 29

2.1.1 Sistema Inteligente de Transporte . . . p. 31

2.2 Sensibilidade ao Contexto . . . p. 33

2.2.1 Definição de Contexto no Âmbito dessa Dissertação . . . p. 34

2.2.2 Sistemas Sensíveis ao Contexto . . . p. 35

2.2.3 Modelagem do Contexto . . . p. 37

2.3 Lógica Fuzzy . . . p. 39

2.3.1 Sistema de Controle com Lógica Fuzzy . . . p. 40

2.3.2 Linguagem de Controle Fuzzy . . . p. 41

2.4 Computação Ubíqua . . . p. 41

2.4.1 Benefícios Potenciais Associados a Computação em Nuvem . . . p. 45

2.5 Armazenamento e Recuperação em Sistemas Ubíquos . . . p. 47

2.6 Outras Definições . . . p. 50

2.6.1 Middlewre . . . p. 50

(18)

3 Trabalhos Relacionados p. 54

3.1 Soluções Baseadas em Nuvem Veicular . . . p. 54

3.2 Soluções Baseadas emMiddleware . . . p. 55

3.3 Framework para Provimento de Contexto Veicular . . . p. 56

3.4 Contextualização baseada em Lógica Fuzzy . . . p. 57

3.5 Conclusões . . . p. 58

4 Descrição da Proposta p. 60

4.1 Arquitetura de Referência . . . p. 61

4.2 Funcionamento da Infoestrutura . . . p. 64

4.3 Especificação Funcional . . . p. 65

4.4 Comunicação entre os Agentes . . . p. 67

4.5 Conclusões . . . p. 70

5 Prova de Conceito e Avaliação de Desempenho p. 71

5.1 Prototipagem da Infoestrutura . . . p. 71

5.2 Estudo de Caso . . . p. 72

5.2.1 Configuração do cenário . . . p. 72

5.3 Prova de Conceito . . . p. 73

5.4 Avaliação de Desempenho . . . p. 80

5.5 Conclusões . . . p. 84

6 Considerações Finais p. 86 6.1 Publicação . . . p. 86

6.2 Trabalhos Futuros . . . p. 87

(19)
(20)

1

Introdução

Por intermédio de inúmeros avanços tecnológicos dos últimos anos juntamente com a popularização de dispositivos computacionais móveis, a sociedade está se movendo em direção ao um paradigma “sempre conectado”. Este é o caminho para a concretização do conceito de Computação Ubíqua previsto por Weiser (1991), o qual define como principal característica a omnipresença da tecnologia no cotidiano das pessoas. Dessa forma, os usuários passariam a interagir com computadores tão facilmente que esse fato passaria a ser natural.

A penetração de dispositivos fixos/móveis na dia a dia das pessoas é tão enorme ao nível global, que podemos tranquilamente assumir que chegamos a um cenário de hiperconectividade. Em 2011, o número de dispositivos conectados a Internet ultrapassou a quantidade de usuários humanos. Hoje, o número de dispositivos conectados iguala a população global, sendo que previsões apontam que será o dobro em 2015. A justificativa para as estatísticas descritas acima é o estrondoso surgimento de dispositivos de baixo custo com capacidade multissensorial (diversidade de tipos de sensores embarcados no dispositivo) aumentada. A lista de oportunidades conferida por este cenário tecnológico é diversa, incluindo: fabricação de dispositivos, comunicação em rede móvel, gestão e fornecimento de serviços, design de software, integração de sistemas, segurança, etc.

(21)

tec-nologia IoT não irá limitar suas conexões a Internet pela restrição de endereços (como acontece no IPv4). É amplamente aceito que a tecnologia IoT será o principal condutor de finalmente implementar do IPv6.

O paradigma de comunicação Máquina a Máquina (Machine to Machine – M2M) [CHEN, 2013] é uma tecnologia complementar ao cenário de IoT, tendo inclusive seus conceitos muitas vezes sobrepostos. No M2M, dispositivos ativos são conectados por uma variedade de redes fixas e sem fio de modo a comunicarem entre si e com o resto do mundo. Recentemente, a sigla M2M também é citada como Móvel para Máquina e Máquina para Móvel, conferindo evidência ao crescimento notável segmento de celulares M2M.

O cenário de IoT/M2M inclui uma vasta oportunidade para o surgimento de novas aplicações e serviços com alto valor agregado a sociedade, sendo dos principais pilares para Ambientes Inteligentes. O conceito de Ambientes Inteligentes o define como espaços com sistemas embarcados e Tecnologias da Informação e Comunicação (TIC) que criam ambientes interativos no intuito de trazer a computação para o mundo físico. O campo Cidades Inteligentes está inserido no âmbito de Ambientes Inteligentes, e tem atraído bastante atenção da comunidade científica. As cidades inteligentes são definidas como um território que traz sistemas inovadores e TICs dentro da mesma localidade. Em uma cidade inteligente, seu território é caracterizado pela alta capacidade de aprendizado e inovação, que já é embutida na criatividade de sua população, suas instituições de geração de conhecimento, e sua infraestrutura digital para comunicação e gestão do conhecimento. A característica distintiva de uma cidade inteligente é o grande desempenho no campo da inovação, pois a inovação e a solução de novos problemas são recursos distintivos da inteligência [KOMNINOS, 2002, 2006].

(22)

Telecommunication Union (2013), atualmente existe cerca de 6,8 bilhões de assinantes de telefonia móvel em todo o mundo, e destes quase 31% utilizam a Internet móvel.

Após sensoriamento dos dados, os dispositivos os transmitem para plataformas de serviços (como por exemplo,data centers), de modo que sejam disponibilizados a aplica-ções, ou inclusive processados para gerar informação potencial a tomada de decisão. Desse modo, estes sensores irão gerar grandes quantidades de dados, onde o desafio não é ape-nas para armazenar e gerenciar o grande volume de dados (Big Data), mas também para analisar e extrair valor significativo a partir dele [BAKSHI, 2012]. Ou seja, fazer com que se consiga extrair informações mais ricas possíveis desse grande volume de dados. Portanto, o foco principal hoje, bem como desta dissertação, já não é na quantidade de dispositi-vos conectados, mas sim na possibilidade de traduzir dados em informação significativa e disponibilizá-la com maior facilidade de acesso.

Provedores de aplicações no âmbito de Cidades Inteligentes estão explorando técnicas de inteligência computacional para proporcionar uma fusão do mundo físico com o digital de modo a impactar diretamente no cotidiano das pessoas pela riqueza de serviços inteli-gentes, seja no âmbito profissional, pessoal e social. As aplicações inteligentes nas Cidades Inteligentes provisionam mecanismos computacionais no intuito de substituir ou auxiliar humanos em diversas tarefas do dia-a-dia por meio de detecção de eventos e acionamento de sistemas, ambos de modo automático. A aplicabilidade de tais aplicações inteligentes no cenário de Cidades Inteligentes tem a perspectiva de agilizar e melhorar drasticamente o sistema de controle urbano, e podem ser incluídas nos âmbitos de: (i) mobilidade ur-bana (sugestão de rotas alternativas, controle de sincronismo de semáforos, detecção de acidentes, controle de poluição, etc.); (ii) segurança dos cidadãos (detecção de eventos cri-minosos, acionamento de autoridades, etc.); (iii) saúde eletrônica (monitoramento remoto de pacientes, telemedicina, cirurgia assistida por robôs, etc.); e inúmeros outros.

(23)

externalização e representação do conhecimento [DAI et al., 2005]. De um modo geral, os dados sensoriais brutos necessitam ser processados para geração de informação com significado semântico de modo a dar sumo suficientemente capaz de auxiliar seres humanos e/ou aplicativos de software em tarefas complexas que requerem um alto grau de expertise de raciocínio para tomada de decisão.

A computação sensível ao contexto, é uma tecnologia emergente com potencial su-porte ao problema descrito acima. De uma forma geral, informação de contexto descreve qualquer coisa, tudo o que ocorre ao seu redor e o que influencia na forma com que ele in-terage com o ambiente físico e outras coisas. Para externalização do contexto, é necessário primeiramente coletar um dado individual, ou um conjunto destes, para depois processar a geração do contexto (tarefa denominada contextualização). Como exemplo, o contexto de um ser humano referente ao seu nível de obesidade atual deve ser gerado de acordo com a combinação de diversos parâmetros clássicos pessoais, como idade, peso e altura, podendo inclusive refinar o contexto pela adição de outros parâmetros, como padrão de ações, condições de ambiente, ente outros.

Sensibilidade ao contexto é a capacidade que um sistema computacional possui de estar ciente do contexto atual ao seu redor, e como consequência ter capacidade de reação ao contexto disponível e posteriores mudanças dinâmicas. Em uma situação normal do dia-a-dia, onde duas pessoas conversam, elas podem utilizar explicitamente informações de contexto sobre tudo que acontece ao seu redor para melhorar a forma com que a interação entre elas ocorre. Este nível de interação não se aplica na interação entre humanos e computadores, uma vez que computadores não estão habilitados a explorar o contexto durante a interação com humanos.

A pesquisa na área de sensibilidade ao contexto apresenta divisões com relação às dimensões de contexto relevantes para análise do sistema computacional consumidor do contexto. Nessas dimensões, podemos identificar elementos mais objetivos (como espaço, tempo e temperatura), ou elementos mais subjetivos (como objetivos, intenções, emoções, interesses e atividades). Por um lado, definir contexto no âmbito de sistemas computa-cionais se torna uma tarefa complexa, delicada e bastante desafiadora, pois demanda tratamento em um nível de detalhamento que permita seu processamento interno. Mas por outro lado, as propriedades de inteligência e autonomia atribuídas a sistemas compu-tacionais sensíveis ao contexto são prometedoras por permitirem ações dinâmicas, perso-nalizadas e mais adequadas ao cotidiano humano.

(24)

apli-cação do conceito de Sensoriamento Participativo (SP) [BURKE et al., 2006], processo em que os seres humanos usam dispositivos móveis e serviço computacional de processamento para compartilhar dados sensoriais. O uso crescente de Sistemas de Sensoriamento Parti-cipativo (SSP) sensíveis ao contexto tem a perspectiva de potencializar a geração e refino de contexto sobre ambiente inteligentes, pela riqueza sensorial disponível. Com isso, é gerada uma enorme gama de oportunidade para surgimento de uma nova geração de sis-temas computacionais sensíveis ao contexto com alto potencial agregador aos Ambientes Inteligentes. Neste cenário, as redes veiculares ganham destaque especial por envolverem veículos automotores interconectados, embarcados com uma grande diversidade sensorial e sistemas que permitem a troca de mensagens entre si. A cada dia cresce a quantidade de veículos no Brasil e no mundo.

Informações do Departamento Nacional de Trânsito (DENATRAN)1 mostram que, nos últimos dez anos, o número de carros circulando nas grandes cidades brasileiras au-mentou aproximadamente 50%.Algumas capitais como Brasília e Manaus experimentaram um aumento no número de carros ainda maior. Em 2003, a Capital Federal tinha uma frota de 557 mil automóveis; em abril de 2013, a marca chegou a 1,07 milhão, aumento de aproximadamente 93%. Já a cidade de Manaus, no Amazonas, tinha 124 mil carros em sua frota. No mesmo período, ela cresceu cerca de 139%, chegando a marca de 297 mil automóveis em circulação [ECOLOGIA, 2013].

A falta de planejamento, de investimentos em infraestrutura e em gestão de recursos contribuiu diretamente para o caos do trânsito. O resultado é o aumento na quantidade de vítimas de acidentes, roubos e sequestros, o que prejudica substancialmente a qualidade de vida das pessoas nos grandes centros urbanos. Nesse cenário, as redes veiculares são vistas como um excelente aporte tecnológico para ajudar a minimizar problemas relacionados ao trânsito e veículos, bem como cooperar com o governo e a sociedade para prover mobilidade urbana segura; dentre uma infinidade de coisas.

O potencial das aplicações veiculares para atender a crescente demanda das redes vei-culares, tem motivado bastante a comunidade científica em aplicar esforços na concepção de novas tecnologias voltadas a estes ambientes. Os resultados desses esforços se traduzem em aplicações veiculares para rastreamento/monitoramento de veículos (carros, ônibus e caminhões), ou frotas destes, aplicações multimídia voltadas para o entretenimento e se-gurança do proprietário/pública. Por sua vez, as Redes de Informação Veiculares (RIV), que contempla as Redes Veiculares, englobam as diversas vertentes referentes à

infraestru-1

(25)

tura e aos processos adequados ao aporte necessário às aplicações veiculares, como: coleta de dados, processamento dos dados, caracterização e representação das informações, bem como dar acesso ubíquo a estas informações.

Segundo [SILVA et al., 2013], as aplicações veiculares são cientes do contexto por natu-reza, o que significa que a eficiência do seu processo de raciocínio e de decisão dependem da qualidade da informação de contexto disponível do ambiente veicular em questão. As-sim, nossas pesquisas fundamentam a hipótese de que as RIVs precisam fornecer o aporte tecnológico de uma abordagem sensível ao contexto necessário às aplicações veiculares.

Além disso, nossas pesquisas apontam que deve ser consideradas diversas dimensões de contexto, tendo em vista permitir identificar a situação sendo efetivamente vivenciada pelo veículo em questão. A contextualização deve considerar, em geral, dimensões de contexto que permitam identificar aspectos gerais em relação ao ambiente veicular, como a seguir:

• Ocupantes: quem são, qual ação/atividade está sendo desempenhada por cada um,

com que objetivo ele realiza esta ação, onde ele realiza a ação (local), de que forma ele realiza a ação (recursos disponíveis), quando realiza a ação (tempo corrente). Como exemplo, contexto de dirigibilidade (agressiva, responsável, defensiva) ou condição do condutor (sonolento, embriagado) tem valor agregado na vigilância de condutores pelas autoridades;

• Veículo: qual o estado da integridade dos componentes mecânicos/elétricos do

veícu-los, qual o comportamento do veiculo, o estado da integridade do veículo (roubado, acidentado), as condições de seu uso, entre outros, exemplificam contexto do veículo;

• Ambiente ao redor: comportamento dos veículos vizinhos, condições da via,

condi-ções climáticas, e outros descrevem as condicondi-ções nas quais tanto os veículos quanto seus ocupantes estão submetidos e podem ser usados para predição e controle pro-ativo.

(26)

disso, em ambientes veiculares a informação não está concentrada (e nem é tratada) em um único elemento, mas dispersos por diversas fontes, redes e entidades em constante mobilidade (logo, em constante reconfiguração, como mudança de topologia, endereços, canal de comunicação, etc.).

Outra questão desafiadora se prende quanto a gerência das informações recolhidas, pois um único contexto depende normalmente da combinação de diversos dados/informa-ções sensoriais diferentes, sendo assim necessário organizá-los para depois manipulá-los corretamente e em tempo hábil [NETO et al., 2009]. Mesmo assim, acreditamos que as redes veiculares sensíveis ao contexto irão impulsionar a criação de uma nova geração de veícu-los, serviços, aplicações, Sistemas Inteligentes de Transporte (Intelligent Transportation Systems – ITS) e até mesmo motoristas e passageiros (conectados à Internet), bem como mudar a forma de planejar e controlar o trânsito.

Dados todos os desafios supracitados, nosso trabalho propõe a Infoestrutura, uma rede de informação que estende sensibilidade ao contexto de alto nível semântico voltado para o ambientes veicular

1.1

Motivação

O problema no desenvolvimento de aplicações sensíveis ao contexto consiste na dificul-dade de encontrar a forma correta de processar, representar e de como dispor o contexto de maneira transparente, confiável e que seja facilmente acessível pelos agentes que o consomem. Para tentar solucionar esses desafios, podemos citar Alguns trabalhos como o Middleware ConProVa [SILVA et al., 2013], o Framework proposto por Nour et al. (2011). Esses trabalho propõem em suas arquiteturas o uso de infraestruturas para prover con-texto.

(27)

Com o uso dos serviço a ser prestado pela infraestrutura de informação contextual vei-cular, chegamos a hipótese de otimizar os esforços e os custos inerentes ao desenvolvimento e aplicações veiculares cientes do contexto. Além disso, acreditamos na perspectiva de que essas aplicações tenham também uma drástica diminuição no consumo dos recursos com-putacionais nos dispositivos finais em termos de processamento, memória e energia, para prover novos serviços com valor agregado (e.g., segurança, escalável, balanceamento de carga) uma vez que as operações complexas de sensoriamento, armazenamento, manuten-ção, indexação e processamento são servidos pela infraestrutura de informação contextual veicular. Cabe as aplicações finais consumidoras do contexto veicular apenas receber o contexto e gerar seus resultados.

1.2

Objetivos e contribuições

O objetivo geral desse trabalho é fornece um aporte tecnológico suficientemente ca-paz de permitir a mudança dos paradigmas atuais de como os ambientes veiculares são planejados, mantidos e gerenciados. Esta infraestrutura será capaz de provisionar informa-ções contextuais veiculares como serviço tendo em consideração as demandas e exigências de aplicações veiculares cientes do contexto consumidoras deste serviço. Como resultado disso, visamos permitir a melhora da qualidade de vida das pessoas por meio de aplicações veiculares com valer agregado, tendo a capacidade de prover maior segurança, fluidez e conservação no trânsito.

Os objetivos específicos definidos nesta dissertação são:

• Propor uma infraestrutura sensível ao contexto aplicado ao ambiente das redes

vei-culares. Esta deve ser capaz de coletar dados sensoriais provindos de uma rede veicular composta por múltiplas fontes heterogêneas (e.g., sensores embarcados no veículos, em dispositivos multifuncionais, ou inseridos a posteriori no ambiente);

• Conceber um subsistema otimizado para armazenamento e recuperação de

informa-ção contextual adequada ao ambientes veicular em foco. Este subsistema de arma-zenamento seguirá o conceito de espaço de tuplas, por se adequar as características dinâmicas e móveis inerentes as redes veiculares;

• Conceber um mecanismo de contextualização de informações veiculares no cenário

(28)

determinada aplicação veicular, ou seja, a que definiu seus critérios específicos;

• Desenvolver uma aplicação na nuvem para prover contexto enquanto serviço. A ideia

é se basear em ferramentas existentes como aporte ao provisionamento de contexto enquanto serviço, visando permitir acesso ubíquo, otimizado e facilitado a múltiplos consumidores de contexto (aplicações veiculares cientes do contexto no caso dessa dissertação);

• Implementar uma bancada de teste para aferição, em protótipo laboral, da proposta

tendo em consideração o estudo de caso definido acima. As aferições irão considerar métricas que descrevam o funcionamento da proposta, bem como seu desempenho;

• Publicar os resultados obtidos em periódicos e anais de conferências devidamente

qualificadas na plataforma Qualis.

1.3

Metodologia

A metodologia científica utilizada neste trabalho é caracterizada resumidamente nos itens a seguir.

1– Revisão da Literatura: Inicialmente foi realizada uma revisão bibliográfica sobre o

conceito de Sensibilidade ao Contexto, onde são apresentadas as principais técnicas e infraestruturas de suporte ao desenvolvimento desse tipo de sistema. Também é realizado um estudo sobre a Sistema de Controle com Lógica Fuzzy, paradigma que auxilia na implementação de sistemas sensíveis ao contexto, através de antecedentes e consequentes compostos por proposições lógicos. Por fim, é realizada uma revisão bibliográfica sobre a computação em nuvem. Nesse ponto são levantadas as principais soluções presentes na literatura e técnicas necessárias para a sua utilização;

2– Revisão de Trabalhos Relacionados: Além da revisão inicial sobre as

princi-pais infraestruturas de suporte ao desenvolvimento de aplicações veiculares cientes do contexto, também são levantadas aquelas que mais se assemelham ao trabalho proposto. O critério utilizado para tal seleção é se a infraestrutura em questão é desenvolvida contempla a sensibilidade ao contexto ou que permitam a criação de contextos pelas aplicações.

3– Solução Proposta: Especificação da arquitetura de referência, protocolos de

(29)

informação contextual veicular. Após a especificação, a proposta foi implementada em um protótipo laboral, sendo seus testes funcionais realizados sob uma bancada de testes real;

4– Avaliação e Interpretação dos Resultados: Uma vez o mecanismos apresentado, alguns experimentos são realizados como prova de conceito. Também são expostos os benefícios do uso do mecanismo implementado. Por fim, uma avaliação de de-sempenho é feita para apresentar como o protótipo implementado reage a entrada de uma grande quantidade dados.

1.4

Organização do trabalho

Esta dissertação está organizada em seis capítulos. O presente capítulo descreve a introdução ao tema, contextualizando o assunto abordado, a motivação e os objetivos dessa Proposta.

No Capítulo 2 é apresentada a fundamentação teórica com os principais conceitos e trabalhos relacionados a proposta.

No Capítulo 3 são apresentados os principais trabalhos relacionados referentes a mid-dlewares e frameworks mais semelhantes a esse trabalho e mais dois outros trabalhos referentes a contextualização utilizando a técnica lógica fuzzy.

O Capítulo 4 apresenta nossa infraestrutura de informação contextual veicular, seus componentes e subsistemas, é descrito como se dá o seu funcionamento.

Já no Capítulo 5 são apresentados os primeiros resultados desta proposta. Além da apresentação de um estudo de caso, uma prova de conceito foi realizada e logo em seguida uma avaliação de desempenho.

(30)

2

Fundamentação Teórica

Neste capítulo são apresentados os principais conceitos teóricos necessários para com-preensão deste trabalho. A Seção 2.1 descreve os conceitos relacionados a Ambientes Inteligentes, com ênfase em ambientes veiculares. A seção 2.2 apresenta as definições da tecnologia de contexto e sensibilidade ao contexto. Já a Seção 2.3 mostra técnicas de pro-cessamento de dados sensoriais para geração de contexto. A Seção 2.4 exibe o conceito de computação ubíqua, incluindo suas principais definições e os benefícios potenciais as-sociados a essa tecnologia com ênfase em ambientes veiculares. A Seção 2.5 apresenta o conceito de armazenamento e recuperação de informações ubíquas e apresenta o modelo que foi adotado nesta dissertação. E por fim, na Seção 2.6 expõe o Sistema de Suporte para Computação, que foi utilizado neste trabalho.

2.1

Ambientes Inteligentes

A popularização do computador pessoal e a introdução da internet alterou efetiva-mente o estilo de vida dos seres humanos no início da década de 90. Preliminarefetiva-mente o uso do computador estava associado unicamente ao trabalho, mas com o passar do tempo ganhou novas funções e se tornou ferramenta básica de acesso à informação. Sua popula-rização incitou a implementação de novas aplicações e passou a ganhar destaque também como ferramenta social, fortalecendo assim sua presença nas residências [VENKATESH, 1996].

No modelo tradicional, a interação entre seres humanos e computadores se dá através do uso de periféricos, como teclado, mouse e monitor, exigindo assim que haja uma inter-venção direta (física) entre homem e máquina. A evolução das interfaces tem possibilitado uma interação mais intuitivas com entre homem e máquina, fazendo com que a troca das informações seja mais rápidas.

(31)

Informação e Comunicação (TIC) que criam ambientes interativos que trazem a compu-tação para o mundo físico. Segundo Steventon; Wright, (2005), a compucompu-tação é usada nos AmIs para melhorar, imperceptivelmente, a execução de atividades comuns. Assim, o grande discernimento nos AmIs é tornar os computadores não apenas efetivamente intui-tivo ao usuário, mas sim fundamentalmente invisíveis para ele.

Embora tenham sido caraterizados de diferentes formas pelos pesquisadores, os AmIs convergem de forma a serem sensíveis, ágeis, adaptáveis, transparentes, ubíquos e inteli-gentes [AARTS; ENCARNACAO, 2006]. AmIs são ambientes sensíveis e tangíveis à presença dos seus usuários, sejam estes pessoas e/ou objetos. Caracteriza-se a visão de AmI por dois precípuos elementos: (i) Inteligência, refere-se ao fato de que o ambiente é capaz de analisar o contexto e adaptar-se aos usuários que nele estão inseridos, ou seja, ele apre-senta a capacidade de aprender com os comportamentos; e (ii) Integração, significa que os dispositivos cada vez mais farão parte do próprio ambiente, de forma imperceptível aos seus usuários.

AmIs envolvem diversas área de atuação, como por exemplo:

(i) Casas Inteligentes, ambiente doméstico com sensores embarcados, que permite co-letar informações a partir destes e reagir de forma independente. Os equipamentos podem ser, por exemplo, fogão, geladeira, ar condicionado, e ao possuírem “inte-ligência” resultam em vários benefícios para o usuário, resultando no aumento da segurança, conforto e economia;

(ii) Assistência e Monitoramento de Saúde, combinada com a computação vestível [ THO-MAS, 2012] e os sensores embarcados nestes dispositivos, potencializarão o surgi-mento de aplicações para a vigilância e monitorasurgi-mento da saúde, sendo possível fazer o acompanhamento remoto dos sinais vitais de um paciente por uma equipe especializada, em tempo real, que trará benefícios diretos quanto a qualidade de vidas das pessoas, incluindo as que vivem sozinhas; e

(32)

2.1.1 Sistema Inteligente de Transporte

Sistema Inteligente de Transporte (Intelligent Transportation System – ITS) consiste nos esforços da comunidade cientifica que visam agregar as tecnologias de informação e comunicação nos sistemas de transporte. Em geral, os problemas referentes ao transporte delibera óbices relacionados a sua logística, segurança e gerenciamento do ambiente e seus agentes, que inclui os veículos, o próprio ambiente veicular e as pessoas (condutores, passageiros e pedestres). Além disso, há a necessidade de se ter uma gestão cada vez mais eficiente quando aos sistemas de transporte, no sentido de progredir conjuntamente com o crescimento populacional das cidades e da população.

A novidade se dá no acompanhamento, cada vez mais próximo (muitas vezes em tempo real), no controle, e nas intervenções que se podem realizar nas diversas etapas do transporte, com impactos em logística e nas atividades relacionadas. Tais mudanças se devem aos avanços tecnológicos da humanidade, com sistemas de rastreamento em tempo real, posicionamento relativo por satélite, maior cobertura de satélites da superfície terrestre, e aplicações no geral, que visam obter melhores desempenhos e dinamismo na visualização de informações obtidas da Terra.

ITS abrange múltiplas tecnologias de informação como: transmissão de dados, senso-riamento, controle eletrônico e processamento de sinal. Assim, sua meta é integrar todo o gerenciamento do tráfego e construir, em grande escala e tempo real, um sistema que coordene o tráfego de modo preciso e eficiente. Tem-se comprovado que o ITS realmente pode melhorar o ambiente veicular, e resolver uma boa parte dos problemas atuais no setor de transporte de maneira eficaz e dinâmica, como no controle de tráfego, com o intuito de minimizar os congestionamentos [JING et al., 2006].

Podemos fragmentar ITS em cinco categorias elementares[EZELL, 2010]:

(33)

demonstram que mais de 30% do congestionamento causado nas grandes cidades é motivado pela circulação dos motoristas em busca de estacionamento [EZELL, 2010], assim, através do ATIS podemos minimizar tal problema;

(ii) Sistemas Avançados de Gerenciamento de Tráfego: do inglês Advanced Transporta-tion Management Systems (ATMS), inclui aplicações ITS que focam em dispositivos de controle de tráfego como: semáforos dinâmicos e painéis eletrônicos, que exibem mensagens dinâmicas informando aos motoristas sobre as situações gerais na estrada, como o tráfego, suas condições, acidentes, etc., tudo isso em tempo real;

(iii) Sistemas de Tarifação do Transporte: embora não exista uma sigla que represente o conjunto de sistemas responsáveis por cobrar tarifas automáticas, alguns desses sistemas são bem conhecidos. Por exemplo, o sistema de Arrecadação de Pedágio Eletrônico (Electronic Toll Collection – ETC [XIAO; GUAN; ZHENG, 2008]) em que o usuário pode pagar pedágios automaticamente fazendo uso de um aparelho em seu automóvel que desconta um valor cada vez que for necessário. Outro exemplo é um sistema que está começando a ser implantado em alguns países, como Japão e Suíça, com o Vehicle Miles Traveled (VMT) [PAZ; NORDLAND; KHAN, 2012], as taxas são cobradas dos motoristas por quilometro rodado;

(iv) Localização Automática de Veículo: Automatic Vehicle Location (AVL), é o signifi-cado para determinar a localização geográfica de um veículo e transmitir a informa-ção para quem a requisitou. Seu uso é mais comumente associado ao sistema GPS, e o funcionamento se dá a partir da coleta das informações de posicionamento geográfica dos veículos, pelo subsistema de aquisição de dados. Depois, usando o subsistema de comunicação, transmite as informações a uma central de controle, onde é realizada a análise e processamento das informações, por meio da integração dos dados, sua localização pode ser georreferenciada em alguma base de dados existente (i.e., Bing Maps, Google Maps, etc.); e

(34)

de transporte público, que permitem aos usuários pagarem as tarifas através de seus cartões inteligentes (Smart Cards) [EZELL, 2010].

ITS permite basicamente dois tipos de modelos de comunicação que advém das redes veiculares [CAMPISTA et al., 2009]: (i) Comunicação entre veículos (Vehicle-to-Vehicle – V2V); e (ii) Comunicação entre o veículo e a infraestrutura (Vehicle-to-Infrasctructure – V2I). V2V e V2I permite a comunicação entre os membros que compõem um sistema de transporte, por exemplo, a comunicação de veículos com sensores na estrada que podem informar se o carro está saindo da pista ou ainda a comunicação entre dois veículos.

A fim de assimilar a comunicação sem fio para veículos ITS, é preciso estudar as metodologias e protocolos de transmissão e tratamento de informações entre veículos e com infraestruturas de transporte. Logo, pode ser visto como uma extensão da comunicação móvel para o ambiente veicular, onde tem-se que considerar as características singulares de mobilidade veicular, que constantemente se movimentam, podem ocasionar desconexões.

O potencial das aplicações veiculares para atender a crescente demanda das redes vei-culares, tem motivado bastante a comunidade científica em aplicar esforços na concepção de novas tecnologias voltadas a estes ambientes. Os resultados desses esforços se traduzem em aplicações veiculares para rastreamento/monitoramento de veículos (carros, ônibus e caminhões), ou frotas destes, aplicações multimídia voltadas para o entretenimento e se-gurança do proprietário/pública. Por sua vez, as Redes de Informação Veiculares (RIV), que contempla as Redes Veiculares, englobam as diversas vertentes referentes à infraestru-tura e aos processos adequados ao aporte necessário às aplicações veiculares, como: coleta de dados, processamento dos dados, caracterização e representação das informações, bem como dar acesso ubíquo a estas informações.

Segundo Silva et al. (2013), as aplicações veiculares são sensíveis ao contexto (ou cientes do contexto) por natureza, ou seja, eles são dependentes do contexto disponível para que guiar reações de maneira mais adequada e confiável de modo a maximizar a gestão à tomada de decisão. O conceito de sensibilidade ao contexto é de suma importância para nossa dissertação, e será singularizada na seção a seguir.

2.2

Sensibilidade ao Contexto

(35)

uma localização, identidade das pessoas próximo ao usuário combinado com fenômenos da natureza (e.g., tempo, clima, temperatura).

Abowd et al., (1999) apontam que sistemas sensíveis ao contexto são aqueles que pos-suem a capacidade de prover informações e serviços relevantes ao usuário dependendo de que tarefas estes estejam executando. Esses sistemas são capazes de adaptar suas opera-ções de acordo com o contexto corrente sem a intervenção explícita do usuário, aumen-tando assim a usabilidade e a efetividade do sistema [BALDAUF; DUSTDAR; ROSENBERG, 2007].

Segundo Dey (2001), contexto é definido como toda e qualquer informação que possa ser usada para caracterizar uma entidade. Onde uma entidade (e.g., pessoa, local ou ob-jeto) é considerado relevante para a interação entre um usuário e uma aplicação, incluindo os próprios usuários e a aplicação.

Como referência clássica na área, Schilit (1995) divide contexto em três categorias:

(i) Contexto Computacional: conectividade de rede, custos de comunicação, largura de banda e recursos disponíveis como impressoras, processadores e memória;

(ii) Contexto do Usuário: perfil do usuário, localização, pessoas próximas a ele, humor, etc; e

(iii) Contexto Físico: luminosidade, níveis de barulho, condições do trânsito e tempera-tura.

Para além, Chen; Kotz, (2000) defende a inclusão de mais uma categoria: o Tempo (e.g., hora do dia, da semana, do mês e a estação do ano); a quarta categoria de con-texto introduz o conceito de Histórico de Concon-texto e a necessidade de armazenamento de informações contextuais como fonte de tomada de decisões e para a construção das aplicações.

2.2.1 Definição de Contexto no Âmbito dessa Dissertação

(36)

dados brutos em informações significativas (isto é, contexto), que semanticamente des-crevam situações, comportamentos, condições, emoções, e outras percepções associadas a entidades, ou grupos de entidades. Exemplos de informação contextual significativa con-siderada nesta dissertação pode ser: “o veículo está em um congestionamento resultante de um acidente com vítimas”, “o condutor do veículo está sobre influência de álcool e em condução perigosa”. Para tal, a contextualização (processamento de dados para geração de informação contextual) de informação veicular significativa deve ser realizada com base em técnicas de inteligência computacional adequadas, que considere aspectos de incer-teza inerentes ao âmbito veicular considerado envolvendo movimentos e múltiplas fontes sensoriais.

Para alcançar informação contextual veicular significativa, o sistema precisa coletar os dados nos sensores e transformá-los em informação contextual veicular. Umas das grandes contribuições desse trabalho está no potencial do provimento de informação contextual veicular significativa a partir de múltiplas fontes sensoriais em veículos. Além disso, este trabalho visa também permitir o armazenamento de dados brutos para histórico, de modo a permitir que aplicações possam consumi-los de acordo com suas necessidades e objetivos, como por exemplo no caso de temperatura atual de um determinado ambiente (que seria categorizada como contexto, porém não significativo).

A dificuldade em atingir tal objetivo se dá pela caracterização das informações pri-márias dispostas pelos sensores e pelo sensoriamento necessário para tal, por exemplo, os sensores de uma sala coletam temperatura=20oC, humidade=80%; de acordo com a regra contextual, aferirmos que está chovendo. Para além, outro desafio se da quando a confiança do contexto gerado, pois os mesmos dados sensoriais da sala pode ser motivados em decorrência de uma limpeza na sala utilizando água ou até algum vazamento próximo aos sensores.

2.2.2 Sistemas Sensíveis ao Contexto

Os Sistemas Sensíveis ao Contexto são caracterizados por sua capacidade em guiar suas operações por informações contextuais disponíveis. Com esse tipo de sistema, aplica-ções ganham potencialidades para suportar apoio à gestão e à tomada de decisão verda-deiramente inteligentes, em comparação com paradigmas clássicos [SALBER; DEY; ABOWD, 1999].

(37)

inferências, entre outros. Além disso, utiliza fontes de dados (provedores de contexto) das mais diversas, tais como dispositivos móveis computacionais, sensores, entre outros, afetando consideravelmente a produtividade do desenvolvedor e aumentando custos com o desenvolvimento.

Há uma série de tarefas que eventualmente podem ser executadas por entidades sen-síveis ao contexto, como:

• Provisão de contexto: Os blocos de construção básicos de qualquer sistema de

reco-nhecimento de contexto são provedores de informação. Estes não só fornecem infor-mações de contexto, mas também devem suportar a inspeção a fim de recuperar as propriedades estruturais da informação fornecida.

• Aquisição de contexto: É o processo de coleta e armazenamento de informações

de fornecedores. Conceituais artefatos para aquisição de contexto tem propriedades como o período de amostragem e o tamanho do cache.

• Agregação de contexto: É o processo de ingressar a informação que foi adquirida a

partir de diferentes fontes para oferecer um novo tipo de informações correlaciona-das. Agregação pode ser feita seguindo diferentes estratégias que podem ser muito específico, portanto, estas serão definidas em tempo de especificação.

• Análise de contexto: É o processo de categorização de situações que possam resultar

após algum procedimento de análise foi realizado nas informações adquiridas e/ou agregados. Tal processo de categorização pode ser simples, estabelecendo-se algumas informações dentro de alguns limites ou tão complexo como uma recursiva associa-tiva de uma Rede Neural ou Clusterização de entrada de dados de treinamento.

• Notificação de contexto: É o processo de entrega de matérias-primas, agregados ou

analisaram dados de contexto para os assinantes.

Segundo Neto et al. (2009) as funções inerentes em sistemas sensíveis ao contexto são: coleta de dados sensoriais, processamento dos dados obtidos, raciocínio sobre os dados pré-processados, distribuir das informações de contexto e gerenciamento das informações de forma eficiente. Para tal, a arquitetura necessita de elementos como:

(38)

(ii) Agente de Contexto, executa tarefas referentes ao processo de contextualização sobre o módulo Provedor de Contexto; e

(iii) Consumidor de Contexto, aplicação ou agente que consome a informação processada.

A popularização de dispositivos móveis computacionais (i.e., smartphones, tablets) trouxe para os seus usuários a capacidade de realizar tarefas nesses dispositivos enquanto eles se movimentam. Neste cenário, diversas informações podem ser obtidas da situação na qual o usuário se encontra e podem servir para a oferta de novos serviços e informa-ções customizadas. Esse tipo informação, que caracteriza uma situação e é utilizada para tomada de decisão, é chamada de contexto [BIEGEL; CAHILL, 2004]. As aplicações que utilizam esse tipo de informação são denominadas aplicações sensíveis ao contexto.

As aplicações sensíveis ao contexto têm utilizado bastantes princípios da computa-ção ubíqua [SCHMIDT, 2002] para obter informações do contexto do usuário, objetivando auxiliá-los em suas tarefas cotidianas. Um exemplo é a utilização de sensores que detectam a presença de pessoas e, automaticamente, acionam a iluminação do ambiente e ajustam a temperatura do ar-condicionado em conformidade com o horário do acionamento e da quantidade de pessoas presentes.

2.2.3 Modelagem do Contexto

Sistemas Sensíveis ao Contexto, são cientes do estado de um contexto, e a par das suas definições conseguem percebe quando há mudanças. Além de detectar mudanças, eles reagem a essas, fornecendo serviços úteis. Segundo Schilit; Adams; Want, (1994) três aspectos importantes definem o contexto: (i) qual a localização do usuário; (ii) com quem está; e (iii) quais recursos estão próximos. Esses aspectos podem sofrer alterações continuamente e uma grande quantidade de informações podem ser derivadas a partir delas, como por exemplo, luminosidade, nível de ruído, condição climática, largura de banda, situação social, entre outros.

Para que um contexto possa ser representado é necessário que ele seja modelado por alguma técnica computacional. Um modelo de contexto define tipos, nomes, propriedades e atributos das entidades envolvidas nas aplicações sensíveis ao contexto, tais como usuários, dispositivos móveis e outros. O modelo tenta prever a representação, a busca, a troca e a interoperabilidade de informação contextual entre as aplicações.

(39)

• Modelos chave-valor: É a categoria mais simples dos modelos. Nele as informações

são descritas por pares compostos por uma chave que identifica a informação e um valor atribuído a ele.

• Modelos baseados em esquemas de marcação: Esse modelo utilizam estrutura de

dados hierárquica composta por tags com atributos e valores utilizando o padrão XML (eXtensible Markup Language), e também utiliza-se do XML para representar as informações de contexto.

• Modelos gráficos: Essa categoria de modelos utiliza elementos gráficos para a

repre-sentação de contexto e inclui as abordagens baseadas emUnified Modeling Language (UML), Object Role Modeling (ORM) e grafos contextuais.

• Modelos orientados a objetos: Exploram os benefícios desse paradigma, como, por

exemplo, encapsulamento e reuso. Os detalhes de processamento de contexto são encapsulados no nível de objetos. O acesso às informações de contexto é feito apenas por meio de interfaces.

• Modelos baseados em ontologias: modelos utiliza ontologias para representar

con-ceitos e suas relações. Para [SOUZA; ALVARENGA, 2004] uma ontologia é uma espe-cificação de uma conceituação e é designada com o proposito de habilitar o compar-tilhamento e reuso de conhecimentos, de forma a criar “compromissos ontológicos”, ou definições necessárias a criação de um vocabulário comum.

• Modelos baseados em lógica: Define as condições em que uma expressão conclusiva

ou fato pode ser derivado de um conjunto de outras expressões ou fatos (raciocínio). Contexto é definido como fatos, expressões e regras e apresenta um alto grau de formalidade. Um dos exemplos deste modelo é o projeto Gaia1.

A relatividade do contexto é um importante requisito no âmbito desta dissertação. A relatividade do contexto é a capacidade de dar sentido a valores intermediários, por exemplo, entre os valores 0 (FRIO) e o 1 (QUENTE) existe um conjunto numérico infinito, que podem caracterizar situações como 0.5 (MORNO). Nestes casos, imprescindivelmente, a contextualização não será obtida através dos valores absolutos. Portanto, optou-se em utilizar Lógica Fuzzy como técnica para permitir gerar o contexto que foi definido neste trabalho, descrito na seção a seguir.

1

(40)

2.3

Lógica Fuzzy

Existe várias maneiras de como definir contexto, por exemplo, os Sistemas Clássicos através de uma máquina de estado (SE-SENÃO) pode alcançar tal objetivo parcialmente. Entretanto, existe a problemática de alcançarmos a relatividade, ou seja, dar sumo para avaliar conceitos não-quantificáveis, por exemplo: temperatura (quente, morno, médio); a veracidade de um argumento (correto, incoerente, falso, totalmente errôneo). A Lógica Difusa ou Lógica Fuzzy (LF) [PEDRYCZ; GOMIDE, 2007] é uma extensão da lógica booleana que admite valores lógicos entre o intervalo 0 e 1, por exemplo, se temos FALSO (0) e o VERDADEIRO (1), os valores 0.3, 0.5 e 0.8, podem corresponder a CONFUSO, TALVEZ, e QUASE ISSO, respectivamente. Também chamada de Lógica Nebulosa, a LF também pode ser definida como a lógica que suporta os modos de raciocínio que são aproximados, ao invés de exatos, como estamos naturalmente acostumados a trabalhar [MAIA, 2012].

Com base na teoria dos Conjuntos Nebulosos (Fuzzy Set) [GUIFFRIDA; NAGI, 1998], a LF tem se mostrado mais adequada para tratar imperfeições da informação do que a teoria das probabilidades. De forma mais objetiva e preliminar, pode-se definir LF como sendo uma ferramenta capaz de capturar informações vagas, em geral descritas em uma linguagem natural e convertê-las para um formato numérico, de fácil manipulação pelos computadores.

As principais características referentes a LF são:

(i) é baseada em palavras e não em números, ou seja, os valores verdades são expressos linguisticamente, por exemplo: quente, muito frio, verdade, longe, perto, rápido, vagaroso, médio, etc.;

(ii) possui vários modificadores de predicado como por exemplo: muito, mais ou menos, pouco, bastante, médio, etc.;

(iii) contempla um amplo conjunto de quantificadores, como por exemplo: poucos, vários, em torno de, usualmente;

(iv) faz uso das probabilidades linguísticas, como por exemplo: provável, improvável, que são interpretados como números fuzzy e manipulados pela Aritmética; e

(v) manuseia todos os valores entre 0 e 1, tomando estes apenas como um limite.

(41)

Para além, é importante frisar que o objetivo dessa dissertação investigar qual a melhor técnica; mas sim utilizar dessa técnica para atingir a contextualização com relatividade, e neste caso, foi alcançada através da Lógica Fuzzy.

2.3.1 Sistema de Controle com Lógica Fuzzy

Sistemas baseados em regras fuzzy (Fuzzy Rule Based Systems – FRBS) compõe uma das áreas mais importantes de aplicação da Teoria dos Conjuntos Fuzzy. Sistemas clássicos baseados em regras tratam com regras de produção do tipo SE-ENTÃO. FRBS são uma extensão para os sistemas clássicos, tendo antecedentes e consequentes compostos por proposições fuzzy. Um sistema de controle fuzzy é um FRBS composto de [CINGOLANI; ALCALA-FDEZ, 2012]:

• Uma Regra ou Base de Conhecimento (BC) que contém a informação usada pelo

especialista/operador humano, na forma de regras linguísticas de controle. Con-sistindo numa base de dados e uma base de regras Fuzzy linguísticas. A base de dados fornece definições numéricas e a base de regras caracteriza os objetivos do controlador e sua estratégia usada;

• Interface de Fuzzificação ou Fuzzificador é responsável pelo mapeamento das

entra-das numéricas em conjuntos Fuzzy. A Inferência é realizada ao mapear os valores linguísticos de entrada em valores linguísticos de saída com o uso das regras;

• Um Sistema de Inferência que usa os valores fuzzy advindos da Interface de

Fuzzi-ficação, a informação da BC, para realizar o processo de raciocínio;

• Interface de Defuzzificação ou Defuzzificador, que considera as ações fuzzy vindas

do Sistema de Inferência e as traduz em valore s numéricos de saída. A partir deste, obtêm-se um valor discreto que pode ser utilizado em ações de controle no mundo real.

(42)

2.3.2 Linguagem de Controle Fuzzy

Linguagem de Controle Fuzzy (Fuzzy Control Language – FCL) é um padrão publi-cado pela International Electrotechnical Comission (IEC) [IEC 61131-7, 1997]. As normas IEC 61131-7 são conhecidas pela definição de Linguagens Programáveis de Controle (Pro-grammable Controller Languages– PCL), ordinariamente usadas em aplicações industriais [CINGOLANI; ALCALA-FDEZ, 2012]. Na parte 7 da norma IEC 61131-7, há um entendimento sobre como integrar aplicações fuzzy com sistemas de controle. Sendo assim, a linguagem FCL é um padrão da indústria, definida pela IEC como parte da especificação de PCL.

FLC é definida como uma linguagem de controle, onde o principal conceito é um bloco de controle (Control Block), que apresenta variáveis de entrada e de saída. Não se pode desenvolver programas de maneira usual, ou seja, não há como criar o típico exemplo “Hello World”, isso porque não existe o comando Print. Além disso, não há nenhuma ordem de execução implícita; teoricamente, todo o bloco é executado em paralelo. Sua definição é feita sobre o conjunto de definições que contemplam: Regras, Fuzzificador, Sistema de Inferência e Defuzzificador, os quais já foram descritos na subseção anterior.

2.4

Computação Ubíqua

O termo Ubíquo vem do Latim ubiquu, adjetivo, que significa “o que está ao mesmo tempo em toda a parte”. Para entender e posicionar a Computação Ubíqua (UbiComp) é necessário apresentarmos outros dois conceitos:

(i) Computação Móvel, que é a capacidade de um dispositivo computacional e os serviços associados ao mesmo serem móveis, permitindo este serem carregados ou transpor-tados mantendo-se conectranspor-tados a rede ou a Internet. Estes dispositivos se conectam a internet através de redes locais sem fio (i.e., 3G, 4G, IEEE 802.11, etc.), tornando-se um dispositivo computacional tornando-sempre pretornando-sente e que expande a capacidade do usuário em utilizar os seus serviços, independente de localização; e

(43)

as necessidades de um dispositivo ou de um usuário. Em um ambiente dotado de sensores, computadores e aplicações, cada integrante é capaz de detectar a existência e interagir com outro integrante a fim de construir um contexto inteligente.

A tabela 1 apresenta as dimensões da computação ubíqua.

Tabela 1: Dimensões da Computação Ubíqua (adaptado de [LYYTINEN; YOO, 2002])

Computação Pervasiva

Computação Móvel

Computação Ubíqua

Mobilidade Baixa Alta Alta

Grau de Embarcamento Alta Baixa Alta

De modo geral, o grau de “embarcamento” indica o nível de inteligência dos compu-tadores presentes em um ambiente pervasivo, para detectar, explorar e construir dinami-camente modelos de seus ambientes.

Assim, como apresentado na Figura 1, a UbiComp é a fusão da Computação Móvel e da Computação Pervasiva, beneficiando-se dos avanços tecnológicos de ambas as áreas de pesquisa. Deste modo, a UbiComp expõe a integração do alto grau de mobilidade da computação móvel com a presença distribuída, imperceptível, inteligente e altamente integrada de computadores e suas aplicações da computação pervasiva.

Figura 1: Relação entre Computação Pervasiva, Móvel e Ubíqua (Adaptado [ARAUJO, 2003])

Segundo Hansmann; Nicklous; Stober, (2001) pelos menos três princípios são identi-ficados na Computação Ubíqua, sendo eles:

(44)

sobrepõem, um pode ser mais apropriado para uma função do que outro. Por exem-plo, o palmtop é bom para criar anotações rápidas, mas não é o melhor dispositivo para navegar na web. Já um tablet pode ser o dispositivo escolhido pelo usuário em sua casa para navegar pela internet, com boa resolução, definição das cores e tama-nho avantajado da tela este dispositivo oferece. Um outro aspecto da diversidade é o de como gerenciar as diferentes capacidades de diferentes dispositivos, uma vez que cada dispositivo tem características e limitações peculiares, que a complexidade ao oferecer aplicações comuns;

(ii) Descentralização: Na UbiComp as responsabilidades são distribuídas entre vários dispositivos que assumem e executam certas tarefas e funções. Estes dispositivos cooperam entre si para a construção de inteligência no ambiente, que é refletida nas aplicações. Para isso, é formara uma rede dinâmica de relações entre os pró-prios dispositivos e entre dispositivos e servidores/infraestruturas do ambiente, isso caracteriza um sistema distribuído. Questões relacionadas à distribuição inclui o gerenciamento, pelos servidores, das aplicações que executam nos dispositivos. Os servidores/infraestruturas precisam manter registros de perfis de usuários e de dis-positivos com capacidades diferentes. Além disso, o servidor/infraestrutura deve ser altamente flexível, bem como poderoso, para tratar um vasto número de dispositivos em movimento; e

(iii) Conectividade: Na computação ubíqua, tem-se a visão da conectividade sem fron-teiras, em que dispositivos e as aplicações que executam neles movem-se juntamente com o usuário entre diversas redes heterogêneas, tais como as redes sem fio de tele-fonia móvel (i.e., 3G, 4G) e redes de sem fio WiFi (que contempla o padrão IEEE 802.11), de forma transparente.

Uma tecnologia associada a computação ubíqua é a computação em nuvem. Estamos habituados a utilizar aplicações instaladas em nossos computadores, assim como o arma-zenamento de arquivos dos mais variados tipos. Em ambientes corporativos, esse cenário é um pouco diferente, isso porque as aplicações ficam disponíveis em servidores e são acessadas pelos terminais autorizados dentro da organização. A principal vantagem deste modelo se dá no acesso offline aos recursos.

(45)

de Computação em Nuvem (Cloud Computing), que traz à ideia de utilizarmos, em qual-quer lugar, a qualqual-quer hora e independente de plataforma, serviços através da Internet, sem que haja a necessidade de instalá-las em nossos próprios computadores.

Os ambientes de computação em nuvem apresentam diferentes tipos de modelos de implantação. Isso se dá pela restrição ou abertura de acesso do negócio, do tipo de infor-mação e do nível de visão. Certas organizações, por exemplo, não desejam que todos os usuários tenham acesso a sua nuvem. Com isso, surge a necessidade de ambientes mais restritos, onde somente usuários devidamente autorizados possam utilizar os serviços pro-vidos. Os modelos de implantação da computação em nuvem podem ser divididos em: Nuvem pública, privada, comunitária e híbrida [SOUSA; MOREIRA; MACHADO, 2009].

Nuvem Pública: a infraestrutura é disponibilizada para o público em geral, sendo aces-sada por qualquer usuário que conheça a localização do serviço.

Nuvem Privada: a infraestrutura é utilizada exclusivamente por uma organização, sendo

esta nuvem local ou remota e administrada pela própria empresa ou por terceiros.

Nuvem Comunitária: neste modelo a nuvem é compartilhada por diversas empresas, sendo esta suportada por uma comunidade específica que partilhou seus interesses.

Nuvem Híbrida: aqui existe uma composição de duas ou mais nuvens, que podem ser

privadas, comunitárias ou públicas e que permanecem como entidades únicas, ligadas por uma tecnologia padronizada ou proprietária que permite a portabilidade de dados e aplicações.

(46)

Figura 2: Modelos de Serviços da Computação em Nuvem (Adaptado de [ARMBRUST et al., 2009]).

Software como um Serviço (Software as a Service – SaaS): Trata-se de uma forma

de trabalho onde o software é oferecido como serviço. Assim, o usuário não precisa adquirir licenças de uso para instalação ou mesmo comprar computadores ou servi-dores para executá-lo;

Plataforma como um Serviço (Plataform as a Service – PaaS): Corresponde a um

tipo de solução para determinadas aplicações, incluindo todos os recursos necessá-rios à operação, como armazenamento, banco de dados, escalabilidade, suporte a linguagens de programação, segurança, etc; e

Infraestrutura como um Serviço (Infrastructure as a Service – IaaS): Semelhante

com o conceito de PaaS, mas aqui o foco é a infraestrutura de hardware ou de máquinas virtuais, com o usuário tendo inclusive acesso aos recursos do sistema operacional.

2.4.1 Benefícios Potenciais Associados a Computação em Nuvem

(47)

Redução de custo: A computação em nuvem possibilita a redução dos custos globais

referentes a Tecnologia da Informação (TI), em particular devido ao fato de o custo dos serviços serem inferiores aos dispêndios demandados por uma operação própria;

Redução do investimento inicial: A adoção da computação em nuvem leva à redução do investimento inicial em TI, tendo em vista que os recursos são de propriedade de terceiros;

Escalabilidade: A computação em nuvem possibilita que os recursos de TI necessários

sejam escalados dinamicamente, proporcionando flexibilidade;

Acesso a inovações: A computação em nuvem contribui para a redução de barreiras à inovação e torna viável utilizar novos tipos de aplicativos e serviços não possíveis em outras condições;

Inversões com fundos operacionais: Os recursos disponibilizados nas nuvens podem

ser adquiridos com fundos destinados a despesas operacionais, ao invés de com inversões de capital;

Disponibilidade imediata de recursos: A computação em nuvem possibilita o

provi-sionamento e a aquisição de recursos em tempo real, de qualquer lugar e para uti-lização imediata, conferindo maior disponibilidade a esses recursos e viabilizando, dessa forma, a implantação mais rápida de serviços;

Menor mobilização de recursos destinados a TI: A computação em nuvem

propi-cia menor mobilização de recursos de pessoal e infraestrutura para TI;

Ganhos decorrentes da competição: Se um determinado provedor passa a não de-sempenhar a contento e/ou seus preços se elevam em demasia, os serviços envolvidos podem ser transferidos para outro provedor; e

Gestão de recursos: A computação em nuvem propicia maior eficiência na gestão dos

recursos de TI, por meio da sua programação dinâmica.

(48)

2.5

Armazenamento e Recuperação em Sistemas

Ubí-quos

Um dos pontos fundamentais em sistemas ubíquos é referente ao armazenamento e re-cuperação de sinais (dados e/ou informações) em sistemas ubíquos. Em sistemas clássicos, bases de dados relacionais são adotadas, e neste modelo o armazenamento, manipulação e recuperação dos dados são estruturados na forma de tabelas. Entretanto, sistemas clás-sicos apresentam muitas questões que impõe limitações na computação ubíqua, como: (i) serviço quanto a escalabilidade horizontal; (ii) exigem esquemas de tabela de tamanho fixo, etc.

Lima et al., (2011) propôs um Sistema de Suporte para Computação Ubíqua (SysSU, System Support for Ubiquity), que proporciona uma maneira flexível de acessar, agregar e filtrar os dados sensoriais. Suas funcionalidades permitem que informações contextuais em forma de tuplas sejam dispostas e acessadas de forma síncrona e assíncrona, caracte-rística atingida a partir das abordagem de espaço de tuplas do modeloLinda [CARRIERO; GELERNTER, 1989] ePublish/Subscribe [EUGSTER et al., 2003]. SysSU atua apenas como a camada de Gerenciamento descrita por BALDAUF; DUSTDAR; ROSENBERG, (2007), não possuindo funcionalidades como aquisição de contexto ou enriquecimento de informa-ções contextuais.

Todo o funcionamento desse sistema é baseado em tuplas. Uma tupla é uma compo-sição de um conjunto de campos chave/valor, por exemplo:(user,“John”), (age,10),

(gender,“M”). Existem duas formas para que aplicações possam utilizar informações

publicadas no SysSU:

(i) Realizar uma consulta direta o que exige que as informações tenham sido disponi-bilizadas nele antes da consulta ser realizada; e

(ii) Baseada em eventos (publicação/subscrição), que é utilizada quando a informação ainda não está disponível, mas uma aplicação deseja ser notificada quando estiver.

As duas formas de acesso a informações fazem uso detemplates efiltrospara selecionar as tuplas desejadas.

(49)

uma chave. Por exemplo,(user, ?),(age, 10) retorna todas as tuplas que contenham qualquer valor para o campo com chave user e que também contenham um campo com chaveage e valor exatamente igual a 10.

O uso de templates permite realizar apenas comparações de igualdade de valores. Para melhorar a expressividade da seleção de tuplas, um filtro deve ser utilizado. Filtros são criados utilizando JavaScript e são limitados apenas pela própria expressividade da linguagem. O Algoritmo 2.1 mostra um exemplo de filtro que seleciona tuplas onde um campo com a chaveage possui valores a partir de 18.

Algoritmo 2.1: Exemplo de implementação de um filtro

1 f u n c t i o n filter ( tuple ) {

2 if ( tuple . age >= 18) { 3 return true;

4 } else {

5 return false;

6 }

7 }

O SysSU tem a sua arquitetura baseada no modelo cliente/servidor, onde oUbiCentre, o servidor, é um repositório de espaços de tuplas acessados concorrentemente por vários agentes através do UbiBroker, um middleware responsável pela comunicação entre os agentes e o UbiCentre. A Figura 3 mostra a sua arquitetura.

Imagem

Tabela 1: Dimensões da Computação Ubíqua (adaptado de [ LYYTINEN; YOO , 2002])
Figura 2: Modelos de Serviços da Computação em Nuvem (Adaptado de [ ARMBRUST et al. , 2009]).
Figura 3: Arquitetura do SysSU (Adaptado de [ LIMA et al. , 2011])
Figura 4: Apresentação do Middleware como um elemento intermediário
+7

Referências

Documentos relacionados

Portanto, mesmo percebendo a presença da música em diferentes situações no ambiente de educação infantil, percebe-se que as atividades relacionadas ao fazer musical ainda são

Dada a potencialidade que o estudo com esse gênero tem para estimular a reflexão crítica do alunado, pautada pelos multiletramentos, analisamos a presença de aspectos culturais

O mesmo pode ser relatado por Luz & Portela (2002), que testaram nauplio de Artemia salina nos 15 pri- meiros dias de alimentação exógena para trairão alcançando

Discussion The present results show that, like other conditions that change brain excitability, early environmental heat exposure also enhanced CSD propagation in adult rats.. The

da quem praticasse tais assaltos às igrejas e mosteiros ou outros bens da Igreja, 29 medida que foi igualmente ineficaz, como decorre das deliberações tomadas por D. João I, quan-

Este trabalho busca reconhecer as fragilidades e potencialidades do uso de produtos de sensoriamento remoto derivados do Satélite de Recursos Terrestres Sino-Brasileiro

O objetivo do curso foi oportunizar aos participantes, um contato direto com as plantas nativas do Cerrado para identificação de espécies com potencial

Analysis of relief and toponymy of the landscape based on the interpretation of the military topographic survey: Altimetry, Hypsometry, Hydrography, Slopes, Solar orientation,