• Nenhum resultado encontrado

Uma Infraestrutura de Suporte a Aplicações Cientes de Contexto com o Enfoque no Usuário Final

N/A
N/A
Protected

Academic year: 2021

Share "Uma Infraestrutura de Suporte a Aplicações Cientes de Contexto com o Enfoque no Usuário Final"

Copied!
117
0
0

Texto

(1)

Universidade Federal de Campina Grande

Centro de Engenharia El´etrica e Inform´atica

Coordenac¸˜ao de P´os-Graduac¸˜ao em Inform´atica

Uma Infraestrutura de Suporte a Aplicac¸˜oes Cientes

de Contexto com o Enfoque no Usu´ario Final

Hugo Feitosa de Figueirˆedo

Dissertac¸˜ao submetida `a Coordenac¸˜ao do Curso de P´os-Graduac¸˜ao em

Ciˆencia da Computac¸˜ao da Universidade Federal de Campina Grande -Campus I como parte dos requisitos necess´arios para obtenc¸˜ao do grau

de Mestre em Ciˆencia da Computac¸˜ao.

´

Area de Concentrac¸˜ao: Ciˆencia da Computac¸˜ao

Linha de Pesquisa: Sistemas de Informac¸˜ao e Banco de Dados

Cl´audio de Souza Baptista

(Orientador)

Campina Grande, Para´ıba, Brasil c

(2)

FICHA CATALOGRÁFICA ELABORADA PELA BIBLIOTECA CENTRAL DA UFCG

F475i Figueirêdo, Hugo Feitosa de

Uma infraestrutura de suporte a aplicações cientes de contexto com o enfoque no usuário final / Hugo Feitosa de Figueirêdo ─ Campina Grande, 2009.

115 f.

Dissertação (Mestrado em Ciência da Computação)- Universidade Federal de Campina Grande, Centro de Engenharia Elétrica e Informática.

Referências.

Orientador: Prof. Dr. Cláudio de Souza Baptista.

1. Dispositivos Móveis 2. Aplicação Cientes de Contexto 3. Ontologias I. Título.

CDU 004.65 (043)

(3)

Resumo

As aplicac¸˜oes cientes de contexto est˜ao se tornando populares, como consequˆencia de

avanc¸os tecnol´ogicos em dispositivos m´oveis, sensores e comunicac¸˜ao de redes sem fio. Entretanto, desenvolver um sistema ciente de contexto envolve v´arios desafios. Por

exem-plo, quais ser˜ao as informac¸˜oes contextuais, como representar, adquirir e processar essas informac¸˜oes e como estas ser˜ao utilizadas pelo sistema. Alguns frameworks e middlewares

foram propostos na literatura para auxiliar programadores a superar esses desafios, por´em ainda faltam mecanismos que auxiliem usu´arios finais na personalizac¸˜ao dessas aplicac¸˜oes.

Al´em disso, a maioria das soluc¸˜oes propostas n˜ao possui um modelo de contexto extens´ıvel baseado em ontologias ou n˜ao utiliza uma comunicac¸˜ao que permita aproveitar as

potenci-alidades dos modelos que seguem esta abordagem. Este trabalho prop˜oe uma infraestrutura de suporte a aplicac¸˜oes cientes de contexto que possui um modelo de contexto extens´ıvel

baseado em ontologias e comunicac¸˜ao entre os elementos utilizando SPARQL e SPARQL Update. Tamb´em s˜ao propostas ferramentas para usu´arios finais criarem e validarem

visual-mente regras contextuais.

(4)

Abstract

Context-aware applications have become popular as a consequence of the technological

ad-vances on mobile devices, sensors, and wireless network communication. However, there are many challenges in the development of these applications. For instance, which

contex-tual information will be used, how to represent, capture, proccess and use the context in the system are some of such application development challenges. Frameworks and middlewares

to improve context-aware application development have been proposed, but they still lack helping users in customizing their applications. Furthemore most proposed solutions do not

have an extensible ontology-based context model and an efficient communication which ena-bles to explore the main features of such approach. This work proposes an infrastructure to

support context-aware applications, which uses an extensible ontology-based context mo-del and communication through SPARQL and SPARQL Update. Also there are visual tools

aiming to help end-users in the creation and validation of context rules.

(5)

Agradecimentos

Ao meu orientador e amigo, Cl´audio Baptista, pelos muitos gritos e broncas, por ter me

ensinado muito de como ser um pesquisador e pela paciˆencia que teve comigo (ou n˜ao? :-P). `

A minha esposa, Julliana, por ter aguentado a falta de atenc¸˜ao que lhe dei durante a

redac¸˜ao desta dissertac¸˜ao e por ter me incentivado nos momentos em que precisei.

Em especial, a meu filho Igor, que me deu muitas alegrias e muita forc¸a nos momentos

dif´ıceis. `

A minha m˜ae, por ter me indicado o caminho a ser seguido, pelo apoio financeiro e por

ter me ajudado a entender as broncas do meu orientador. `

A minha irm˜a, Marcella, por ter ficado com Igor v´arios finais de semana para que eu

terminasse meu mestrado. A toda minha fam´ılia.

Ao meu grande amigo e parceiro de pesquisas, Yuri Lacerda, com quem realizei bons trabalhos de pesquisa e tomei poucas cervejas durante o per´ıodo de mestrado.

Aos meus grandes amigos, Cl´audio Campelo e Daniel Fireman.

Aos colegas de Laborat´orio, Dami˜ao, F´abio Leite, F´abio Gomes, Michael, Ricardo,

Lu-ciana, Felipe, Carlos Augusto, Welmisson Jammesson, Tiago (pelas risadas) e Halley. Aos alunos de graduac¸˜aodo LSI, Tiago, Eliael e Diego, por terem contribu´ıdo de alguma

forma com o prot´otipo desenvolvido na minha pesquisa. `

A CAPES e ao CNPQ, pelo apoio financeiro.

(6)

Conte ´udo

1 Introduc¸˜ao 1 1.1 Objetivos . . . 3 1.1.1 Objetivos Espec´ıficos . . . 3 1.2 Metodologia . . . 4 1.3 Estrutura da Dissertac¸˜ao . . . 4 2 Fundamentac¸˜ao Te´orica 5 2.1 Computac¸˜ao Ub´ıqua . . . 5 2.2 Contexto . . . 8

2.3 Servic¸os Baseados em Localizac¸˜ao . . . 10

2.4 Representac¸˜ao do Conhecimento, Ontologias e Web Semˆantica . . . 11

2.5 Modelagem de Contexto . . . 13 2.6 Considerac¸˜oes Finais . . . 15 3 Trabalhos Relacionados 17 3.1 FLAME2008 . . . 17 3.2 WASP e Infraware . . . 19 3.3 MScape . . . 22 3.4 StreamSpin . . . 25 3.5 SOCAM . . . 26

3.6 Context Toolkit e iCAP . . . 28

3.7 Omnipresent. . . 30

3.8 Comparac¸˜ao . . . 32

3.9 Considerac¸˜oes Finais . . . 33 iv

(7)

CONTE ´UDO v

4 VadeMecum 35

4.1 Vis˜ao Geral do Sistema . . . 35

4.2 Servidor de Contexto do VadeMecum . . . 36

4.2.1 Modelo de Contexto do VadeMecum . . . 37

4.2.2 Arquitetura . . . 38

4.2.3 Quest˜oes de Implementac¸˜ao . . . 44

4.3 Aux´ılio na criac¸˜ao de regras pelos usu´arios finais . . . 50

4.3.1 Requisitos Funcionais . . . 51

4.3.2 Requisitos N˜ao Funcionais . . . 52

4.3.3 CARE . . . 53 4.3.4 CARE Emulator . . . 60 4.3.5 Quest˜oes de Implementac¸˜ao . . . 62 4.4 Considerac¸˜oes finais . . . 64 5 Estudo de Caso 66 5.1 Outdoor Virtual . . . 67 5.2 Multimedia Service . . . 72 5.3 Considerac¸˜oes Finais . . . 77 6 Conclus˜ao 78 6.1 Contribuic¸˜oes . . . 78

6.1.1 Servidor de Contexto do VadeMecum . . . 79

6.1.2 Aux´ılio na Criac¸˜ao de Regras Contextuais . . . 80

6.2 Trabalhos Futuros . . . 81

Referˆencias Bibliogr´aficas 89

A Modelo de Contexto do VadeMecum 90

(8)

Lista de Abreviac¸˜oes

API - Application Programming Interface

CARE - Context-Aware Rule Editor

CC/PP - Composite Capability/Preference Profiles

CEP - C´odigo de Enderec¸amento Postal

CLDC - Connected Limited Device Configuration

DAML - DARPA Agent Markup Language

DARPA - Defense Advanced Research Projects Agency

DIG - DL Implementation Group FOAF - Friend of a Friend

GMLC - GatewayMobile Location Center GPS - Global Positioning System

HP - Hewlett-Packard

HTTP - Hypertext Transfer Protocol

JAD - Java Application Descriptor

JEE - Java Platform, Enterprise Edition JEE

JME - Java Platform, Micro Edition JSR - Java Specification Request

LBS - Location Based Services

MIDP - Mobile Information Device Profile

MPC - Mobile Positioning Center OGC - Open Geospatial Consortium

OIL - Ontology Inference Layer

OpenLS - Open Location Services Interface Standard

ORM - (Object Role Modeling)

(9)

vii

OWL - Ontology Web Language PDA - Personal Digital Assistants

RDF - Resource Description Framework

RDFS - Resource Description Framework Schema

RIA - Rich Internet Application

SIG - Sistemas de Informac¸˜oes Geogr´aficas

SOAP - Simple Object Access Protocol

SPARQL - SPARQL Protocol and RDF Query Language

SWRL - Semantic Web Rule Language UML - Unified Modeling Language

W3C - The World Wide Web Consortium XML - eXtensible Markup Language

(10)

Lista de Figuras

2.1 Eras computacionais propostas por Weiser.. . . 6

2.2 Tendˆencias futuras em computac¸˜ao(Adaptado de http://www.ubiq.com). . . 7

2.3 Camadas da Web Semˆantica (adaptada de http://www.w3.org/2001/sw). . . 12

3.1 Arquitetura do FLAME2008. . . 18

3.2 Plataforma WASP e seus relacionamentos . . . 20

3.3 Arquitetura da plataforma WASP.. . . 21

3.4 Arquitetura da plataforma Infraware. . . 22

3.5 Componentes de um mediascape. . . 23

3.6 Ferramenta de criac¸˜ao de mediascapes. . . 23

3.7 Arquitetura da plataforma StreamSpin. . . 26

3.8 Modelo baseado em ontologia com dois n´ıveis de hierarquia. . . 27

3.9 Arquitetura do SOCAM. . . 28

3.10 Arquitetura do Context Toolkit.. . . 29

3.11 Arquitetura do Omnipresent. . . 30

4.1 Esquema de criac¸˜ao de regras . . . 36

4.2 Contextos do modelo de contexto do VadeMecum. . . 39

4.3 Ontologia superior do modelo de contexto.. . . 40

4.4 Ontologia do VadeMecum para regras. . . 40

4.5 Arquitetura do servidor de contexto do VadeMecum. . . 41

4.6 Diagrama de classes da API para criac¸˜ao de provedores de contexto. . . 43

4.7 Ferramenta Prot´eg´e com o plugin OWL. . . 45

4.8 Arquitetura do CARE. . . 53

4.9 Widget para selec¸˜ao de elementos geogr´aficos. . . . 56 viii

(11)

LISTA DE FIGURAS ix

4.10 Interface do CARE. . . 57

4.11 Tela do CARE para selec¸˜ao da opc¸˜ao para especificar o estado contextual. . 58

4.12 Tela do CARE para selec¸˜ao da classe do tipo ContextEntity.. . . 58

4.13 Tela do CARE para selec¸˜ao do relacionamento da entidade. . . 59

4.14 Arquitetura do CARE Emulator. . . 61

4.15 Interface do CARE Emulator. . . 63

5.1 Diagrama de classes do provedor do contexto de localizac¸˜ao. . . 67

5.2 Ferramenta CARE com uma regra para o Outdoor Virtual. . . 69

5.3 Ferramenta CARE com o widget do google maps . . . 70

5.4 CARE Emulator validando a regra contextual criada para o Outdoor Virtual. 71 5.5 Aplicac¸˜ao m´ovel antes e depois da ac¸˜ao de mostra uma arquivo multim´ıdia. 72 5.6 Tela inicial do cliente m´ovel. . . 74

5.7 Tela de escolha do tipo arquivo o usu´ario deseja criar. . . 75

5.8 Tela de criac¸˜ao do arquivo de imagem. . . 76

(12)

Lista de Tabelas

2.1 Comparac¸˜ao entre os tipos de computac¸˜ao.. . . 7

2.2 Comparac¸˜ao entre abordagens para modelagem de contexto. . . 15

3.1 Comparac¸˜ao entre os trabalhos relacionados.. . . 33

(13)

Lista de C´odigos-Fonte

4.1 Regra contextual no VadeMecum. . . 44

4.2 Sintaxe das regras no Jena. . . 46

4.3 Exemplo de consulta em SPARQL SELECT.. . . 48

4.4 Resultado de uma consulta SPARQL na forma SELECT. . . 49

4.5 Atualizando o contexto utilizando SPARQL Update no VadeMecum. . . 49

4.6 Exemplo de arquivo com as func¸˜oes permitidas pelo CARE nas regras. . . . 55

5.1 Regra criada no CARE para o Outdoor Virtual. . . 68

5.2 Regra alterado do estudo de caso do Outdoor Virtual. . . 77

A.1 Modelo de contexto do VadeMecum descrito em OWL. . . 90

B.1 Configurac¸˜ao do Joseki no VadeMecum. . . 101

(14)

Cap´ıtulo 1

Introduc¸˜ao

O poder de processamento e armazenamento dos computadores est´a aumentando cada vez

mais. Tal evoluc¸˜ao n˜ao est´a s´o ocorrendo com os computadores pessoais, mas tamb´em com os dispositivos m´oveis. Desta forma, estes dispositivos est˜ao agregando cada vez mais

fun-cionalidades, permitindo que as pessoas possam realizar algumas tarefas com estes dispo-sitivos enquanto se movimentam. Por exemplo, um investidor recebe uma not´ıcia em seu

dispositivo sobre uma queda na bolsa de valores de Nova York e, rapidamente, vende algu-mas ac¸˜oes suas na Bovespa, antes que os efeitos dessa queda afetem suas cotac¸˜oes, sendo

toda a negociac¸˜ao feita no seu dispositivo.

Por outro lado, uma grande variedade de sensores est˜ao surgindo no mercado, sendo

poss´ıvel acopl´a-los a dispositivos m´oveis atrav´es de entradas seriais, Bluetooth, IrDa, etc. A fus˜ao dos dispositivos m´oveis com esses sensores, torna poss´ıvel o monitoramento da

situac¸˜ao na qual o usu´ario est´a inserido. Por exemplo, atrav´es de um sensor de temperatura de uma pessoa, ´e poss´ıvel descobrir se ela est´a com febre. Estas informac¸˜oes, que podem

ser monitoradas a partir de sensores, s˜ao conhecidas como informac¸˜oes contextuais, as quais

comp˜oem um conjunto chamado de estado contextual [1].

O monitoramento do estado contextual pelas aplicac¸˜oes, permite que estas estejam cien-tes de informac¸˜oes impl´ıcitas na comunicac¸˜ao entre o homem e a m´aquina e n˜ao somente as

expl´ıcitas. Com estas informac¸˜oes, as aplicac¸˜oes podem tomar decis˜oes com o intuito de per-sonalizar os servic¸os a seus usu´arios. Por exemplo, uma aplicac¸˜ao pode alterar a temperatura

do ar-condicionado de acordo com as preferˆencias das pessoas localizadas no ambiente. Uma das definic¸˜oes mais referenciadas para contexto foi proposta por Dey [2]:

(15)

2

“Contexto ´e qualquer informac¸˜ao que pode ser utilizada para caracterizar a situac¸˜ao de uma entidade. Uma entidade ´e uma pessoa, lugar ou objeto que ´e considerado relevante para a interac¸˜ao entre o usu´ario e a aplicac¸˜ao, incluindo o pr´oprio usu´ario e aplicac¸˜ao.”

O contexto ´e um dos temas mais pesquisados na computac¸˜ao ub´ıqua, que foi visionada

por Weiser [3]. Na vis˜ao de computac¸˜ao ub´ıqua, ´e previsto que as pessoas ser˜ao

auxili-adas nas suas atividades cotidianas pelos computadores, de maneira que este aux´ılio n˜ao

seja percebido pelos pr´oprios usu´arios. Para que os computadores consigam ajudar sem ser percebidos, ´e necess´ario o monitoramento do contexto do usu´ario, de forma que suas

neces-sidades sejam atendidas automaticamente, quando algum determinado estado contextual for

atingido.

Com os avanc¸os na capacidade de processamento e armazenamento dos dispositivos

m´oveis, muitos servic¸os poder˜ao ser fornecidos nestes, havendo a possibilidade destes servic¸os serem cientes de contexto. Dessa forma, surge a necessidade de pesquisas

volta-das para esta ´area, para se superar alguns desafios provenientes desta vis˜ao.

Os Servic¸os Baseados em Localizac¸˜ao (Location-Based Services - LBS) [4] podem ser

vistos como uma parte dos servic¸os cientes de contexto que podem ser oferecidos para dispo-sitivos m´oveis. Estes servic¸os j´a deixaram de ser uma vis˜ao do futuro para ser uma realidade

[5]. Por exemplo, existem diversas aplicac¸˜oes no mercado que oferecem a busca por uma

rota entre dois pontos geogr´aficos. Al´em disso, existem outras aplicac¸˜oes que permitem que

sejam criadas condic¸˜oes relacionadas a ´areas geogr´aficas. Assim, quando o usu´ario estiver dentro de alguma destas ´areas, uma ac¸˜ao ser´a executada.

Apesar de muitas aplicac¸˜oes cientes de contexto j´a existirem, poucas possuem uma ar-quitetura extens´ıvel, para facilitar a adic¸˜ao de novos contextos ou servic¸os. Com isso,

al-guns frameworks, middlewares e arquiteturas foram propostas na literatura para o auxilio na criac¸˜ao destas aplicac¸˜oes [6] [7] [8] [9] [10].

A maior parte das soluc¸˜oes para facilitar a extens˜ao de aplicac¸˜oes cientes de contexto, por´em, n˜ao enfoca o usu´ario final, pois s˜ao feitas para facilitar a extens˜ao por programadores

– que conhec¸am bem a soluc¸˜ao. Deste modo, alguns pesquisadores propuseram algumas ferramentas com o foco no usu´ario final, de forma que, ele pr´oprio possa estender e alterar

(16)

1.1 Objetivos 3

para sistemas de Casas inteligentes (Smart Home) e n˜ao possuem um modelo de contexto extens´ıvel ao qual as ferramentas se adaptem.

Este trabalho apresenta uma infraestrutura para facilitar o desenvolvimento de aplicac¸˜oes cientes de contexto com o enfoque na personalizac¸˜ao pelo usu´ario final. Fazem parte da

infraestrutura: um servidor de contexto, que realiza algumas tarefas comuns necess´arias `as aplicac¸˜oes cientes de contexto; uma ferramenta que auxilia o usu´ario final na especificac¸˜ao

de regras contextuais; e um emulador para validac¸˜ao das regras.

Na pr´oxima sec¸˜ao, ser˜ao apresentados os objetivos deste trabalho. Em seguida, na sec¸˜ao

1.2, ´e descrita a metodologia que foi utilizada nesta pesquisa. Por fim, na sec¸˜ao1.3, ´e exposta a estrutura do restante desta dissertac¸˜ao.

1.1

Objetivos

O principal objetivo deste trabalho ´e desenvolver uma infraestrutura para dar suporte `a criac¸˜ao de aplicac¸˜oes cientes de contexto, que permitam a personalizac¸˜ao pelo usu´ario

fi-nal.

1.1.1

Objetivos Espec´ıficos

Os objetivos espec´ıficos deste trabalho s˜ao:

• Obter um modelo de contexto baseado em ontologias;

• Obter um servidor de contexto para o tratamento das informac¸˜oes contextuais;

• Obter uma ferramenta visual para gerac¸˜ao de regras, de forma que, esta tarefa possa

ser executada pelos usu´arios finais da aplicac¸˜ao;

• Obter um emulador do sistema para validac¸˜ao pelo usu´ario final das regras criadas; • Fazer com que a infraestrutura permita a extens˜ao do modelo de contexto; e

• Obter aplicac¸˜oes cientes de contexto que validem a infraestrutura proposta neste

(17)

1.2 Metodologia 4

1.2

Metodologia

A metodologia utilizada no trabalho descrito nesta dissertac¸˜ao baseou-se em atividades de estudos regulares em aplicac¸˜oes cientes de contexto, al´em da realizac¸˜ao de pesquisas nas

principais publicac¸˜oes na ´area. Foram levantadas algumas ferramentas que possuem carac-ter´ısticas similares a este trabalho e estas foram analisadas para o levantamento das lacunas

existentes. A partir das an´alises realizadas nas ferramentas, foram levantados os requisitos para o sistema. Em seguida, foi desenvolvido um prot´otipo e realizada uma validac¸˜ao com

alguns estudos de casos de utilizac¸˜ao do sistema em simulac¸˜oes de usos reais.

1.3

Estrutura da Dissertac¸˜ao

O restante desta dissertac¸˜ao est´a estruturada da seguinte forma:

• Cap´ıtulo 2: cont´em uma fundamentac¸˜ao te´orica necess´aria para a compreens˜ao desta dissertac¸˜ao, como as definic¸˜oes para contexto, aplicac¸˜oes cientes de contexto, computac¸˜ao ub´ıqua e ontologias;

• Cap´ıtulo3: cont´em uma discuss˜ao sobre os principais trabalhos relacionados na ´area, destacando os pontos relevantes, inspiradores e fracos de cada um;

• Cap´ıtulo4: ´e apresentada a infraestrutura VadeMecum, sendo descrito uma vis˜ao ge-ral do sistema, o servidor de contexto e o processo de criac¸˜ao e validac¸˜ao de regras

contextuais pelo usu´ario final;

• Cap´ıtulo5: s˜ao apresentados alguns estudos de caso de situac¸˜oes reais da utilizac¸˜ao da infraestrutura proposta neste trabalho; e

• Cap´ıtulo 6: ´e conclu´ıda esta dissertac¸˜ao, sendo apresentadas as principais contribuic¸˜oes obtidas e outros trabalhos que podem ser desenvolvidos no futuro.

(18)

Cap´ıtulo 2

Fundamentac¸˜ao Te´orica

Neste cap´ıtulo, apresenta-se a terminologia b´asica e os conceitos fundamentais utilizados

du-rante esta dissertac¸˜ao. Quest˜oes como distinc¸˜ao entre computac¸˜ao pervasiva, ub´ıqua e m´ovel s˜ao abordadas. Tamb´em ser´a introduzida uma noc¸˜ao de Web Semˆantica, que representa um

dos elementos-chaves a serem considerados na modelagem do contexto.

O restante deste cap´ıtulo est´a organizado da seguinte forma, na sec¸˜ao 2.1,

introduzem-se os conceitos de computac¸˜ao ub´ıqua. Na introduzem-sec¸˜ao 2.2, apresentam-se algumas definic¸˜oes e

caracter´ısticas de contexto, como tamb´em, alguns exemplos de sistemas cientes de contexto.

Na sec¸˜ao2.3, discorre-se sobre servic¸os baseados em localizac¸˜ao, que s˜ao um caso espec´ıfico de servic¸os cientes de contexto. Posteriormente, na sec¸˜ao2.4, descrevem-se alguns conceitos sobre representac¸˜ao do conhecimento, ontologias e Web semˆantica. Em seguida, na sec¸˜ao

2.5, apresenta-se um estudo sobre modelagem de contexto. Por fim, s˜ao citadas algumas

considerac¸˜oes finais do cap´ıtulo na ´ultima sec¸˜ao.

2.1

Computac¸˜ao Ub´ıqua

Weiser [3], em 1991, idealizou um futuro – para o per´ıodo em que o artigo foi escrito – para a computac¸˜ao, a qual seria onipresente na vida das pessoas durante a realizac¸˜ao de tarefas do cotidiano. Entretanto, esta n˜ao seria percebida pelos mesmos, devido `a naturalidade da

situac¸˜ao. Esta ideia abriu caminho para uma nova linha de pesquisa at´e ent˜ao inexplorada: a computac¸˜ao ub´ıqua.

Weiser [3] descreveu a computac¸˜ao ub´ıqua como a terceira grande era dos

(19)

2.1 Computac¸˜ao Ub´ıqua 6

res, sendo as duas primeiras representadas pelos mainframes e os computadores pessoais. Na era do mainframe, existiam poucos computadores de grande porte e imenso poder de

processamento para serem compartilhados por in´umeros usu´arios. J´a a era dos computa-dores pessoais foi caracterizada pela utilizac¸˜ao de micro-computacomputa-dores para uso pessoal e

exclusivo. Por ´ultimo, a era da computac¸˜ao ub´ıqua seria caracterizada pela existˆencia de di-versos dispositivos de pequeno porte que auxiliariam os usu´arios nas suas tarefas cotidianas

sem ser percebidos. A Figura2.1apresenta o relacionamento com as cardinalidades das eras

propostas por Weiser e a Figura2.2mostra um gr´afico com as trˆes eras e suas tendˆencias.

Figura 2.1: Eras computacionais propostas por Weiser.

A computac¸˜ao ub´ıqua muitas vezes ´e equivocadamente confundida com computac¸˜ao per-vasiva; no entanto, estes referem-se a ramos distintos de pesquisa, apesar de possu´ırem uma

grande intersec¸˜ao. A computac¸˜ao m´ovel trata da habilidade de utilizar dispositivos com-putacionais mesmo quando em movimento. Enquanto, computac¸˜ao pervasiva refere-se `a

colaborac¸˜ao transparente entre dispositivos computacionais distribu´ıdos no ambiente f´ısico para a obtenc¸˜ao de informac¸˜oes do meio para a construc¸˜ao dinˆamica de novos modelos

com-putacionais. Por fim, a computac¸˜ao ub´ıqua integra os avanc¸os da computac¸˜ao m´ovel e da computac¸˜ao pervasiva [14]. Na Tabela2.1, confrontam-se os trˆes tipos de computac¸˜ao cita-dos com duas caracter´ısticas, a de imers˜ao computacional – referente `a distribuic¸˜ao de

(20)

dis-2.1 Computac¸˜ao Ub´ıqua 7

Figura 2.2: Tendˆencias futuras em computac¸˜ao(Adaptado de http://www.ubiq.com).

Tabela 2.1: Comparac¸˜ao entre os tipos de computac¸˜ao.

Imers˜ao Computacional Mobilidade

Computac¸˜ao Tradicional -

-Computac¸˜ao Pervasiva +

-Computac¸˜ao M´ovel - +

Computac¸˜ao Ub´ıqua + +

positivos computacionais para a captac¸˜ao de informac¸˜oes do ambiente – e a de mobilidade – referente `a mobilidade dos dispositivos computacionais enquanto est´a em funcionamento.

“+” indica que a computac¸˜ao atende `a caracter´ıstica e “-” que n˜ao atende.

Jensen [15] afirma que a realidade na qual uma aplicac¸˜ao ser´a utilizada deve ser pensada quando esta ´e desenvolvida para o futuro. Desta forma, o ideal ´e se basear em algumas referˆencias de pesquisadores sobre as tendˆencias no mundo computacional para o per´ıodo

em que a aplicac¸˜ao ser´a utilizada. Por exemplo, basear-se na lei de Moore para estimar qual ser´a o poder computacional no per´ıodo desejado ou, at´e mesmo, nas vis˜oes de Weiser [3].

A computac¸˜ao ub´ıqua abrange diversos ramos de pesquisas, incluindo o dos sistemas

cientes de contexto, que ´e um passo inicial para o futuro visionado por Weiser [3]. Esses

(21)

2.2 Contexto 8

2.2

Contexto

Com a proliferac¸˜ao de dispositivos m´oveis, tais como smartphones e PDA (Personal Di-gital Assistants), os usu´arios destes dispositivos podem se movimentar enquanto realizam

outras tarefas. Com isto, informac¸˜oes podem ser coletadas da situac¸˜ao na qual o usu´ario est´a inserido para fornecer servic¸os e informac¸˜oes personalizadas, realizac¸˜oes autom´aticas de

co-mandos e armazenamento destas informac¸˜oes para uso posterior. Este tipo de informac¸˜ao utilizada para estas tomadas de decis˜oes ´e chamado de contexto, sendo as aplicac¸˜oes que

utilizam este tipo de informac¸˜ao as aplicac¸˜oes cientes de contexto.

Como visto anteriormente, na computac¸˜ao ub´ıqua o usu´ario seria auxiliado por

compu-tadores em suas tarefas cotidianas, de forma que, estes n˜ao fossem percebidos. Para este objetivo ser alcanc¸ado, ´e necess´ario que o contexto seja monitorado constantemente, para a

tomada de decis˜ao pelo computador, a fim de auxiliar o usu´ario em suas tarefas.

Existem diversos desafios relacionados `a utilizac¸˜ao de contexto em sistemas, sendo

al-guns enumerados por Schmidt [16]:

• Entender o conceito de contexto. O conceito de contexto deve ser assimilado antes

de tentar us´a-lo;

• Utilizar o contexto. ´E necess´ario saber como o contexto ser´a utilizado;

• Adquirir informac¸˜oes de contexto. Nesta parte entra os desafios relacionados a

captac¸˜ao de informac¸˜oes de sensores;

• Conectar a aquisic¸˜ao de contexto na utilizac¸˜ao de contexto. A conex˜ao da aquisic¸˜ao

do contexto com a utilizac¸˜ao deve ser feita de maneira uniforme, independente de qual

sensor a informac¸˜ao foi capturada e onde o sensor est´a localizado, sendo esta parte abstra´ıda no momento de utilizac¸˜ao do contexto;

• Entender a influˆencia da interac¸˜ao entre o homem e o computador. Uma das

utilidades do contexto ´e facilitar a interac¸˜ao entre o homem e o computador. Com isso,

´e necess´ario entender como esta interac¸˜ao ocorre para tentar melhor´a-la;

• Auxiliar na construc¸˜ao de sistemas ub´ıquos. A construc¸˜ao de aplicac¸˜oes cientes de

(22)

2.2 Contexto 9

de mecanismos que auxilie na construc¸˜ao destes; e

• Validar sistemas cientes de contexto. Para validar um sistema ciente de contexto,

´e necess´ario testar o funcionamento deste em situac¸˜oes reais com alguns usu´arios e analisar os resultados.

Baldauf et al. [17] definem sensor como sendo qualquer fonte de dados que provˆe

informac¸˜oes contextuais. Considerando a maneira como os dados foram capturados, os sensores podem ser classificados como: sensores f´ısicos, quando representam o hardware

utilizado para captar informac¸˜oes do ambiente; sensores virtuais, quando adquirem os dados de aplicac¸˜oes ou servic¸os; e sensores l´ogicos, quando utilizam um conjunto de outras fontes

de dados – incluindo outros sensores – para inferir novas informac¸˜oes. Por exemplo, o GPS ´e um sensor f´ısico, enquanto que uma agenda de compromissos na Web que indica a atividade

que o usu´ario est´a realizando ´e um sensor virtual e um sistema que infere a localizac¸˜ao do usu´ario a partir de sua agenda de compromissos ´e um sensor l´ogico.

Schilit e Theimer [18] foram dois dos precursores na pesquisa envolvendo sistemas

cien-tes de contexto, sendo dada por eles a seguinte definic¸˜ao: ciente de contexto ´e a habilidade de

uma aplicac¸˜ao de descobrir e reagir `as mudanc¸as no ambiente. J´a com relac¸˜ao `a classificac¸˜ao de contexto, eles propuseram a seguinte:

• Contexto computacional. Este contexto est´a associado `as informac¸˜oes do dispositivo

que est´a sendo utilizado. Por exemplo: mem´oria dispon´ıvel e tamanho do visor;

• Contexto do usu´ario. Este contexto est´a associado `as informac¸˜oes do usu´ario. Por

exemplo: press˜ao sangu´ınea e temperatura corporal; e

• Contexto f´ısico. Este contexto est´a associado `as informac¸˜oes do ambiente f´ısico ao

redor do usu´ario. Por exemplo: temperatura ambiente e press˜ao atmosf´erica.

Dentre os sistemas cientes de contexto, um dos tipos que mais est˜ao sendo utilizados,

fora do ˆambito dos laborat´orios de pesquisas, s˜ao as aplicac¸˜oes nas quais o contexto de localizac¸˜ao do usu´ario ´e o foco [19]. Na pr´oxima sec¸˜ao, ser˜ao descritas mais caracter´ısticas dos Servic¸os Baseados em Localizac¸˜ao (LBS).

(23)

2.3 Servic¸os Baseados em Localizac¸˜ao 10

2.3

Servic¸os Baseados em Localizac¸˜ao

Servic¸os que s˜ao fornecidos baseados em alguma localizac¸˜ao espacial s˜ao chamados de

Servic¸os Baseados em Localizac¸˜ao (LBS) [5]. Alguns exemplos de LBS s˜ao sistemas de

navegac¸˜ao de carros, sistemas de monitoramento de caminh˜oes, entre outros.

Segundo Schiller e Voisard [4], LBS pode ser definido como um servic¸o que integra

localizac¸˜ao ou posic¸˜ao de um dispositivo m´ovel com outras informac¸˜oes, para adicionar valor para o usu´ario.

LBS tem sido uma ´area bastante pesquisada devido ao barateamento dos equipamentos necess´arios para a utilizac¸˜ao destes, como por exemplo, o GPS e smartphones. Al´em disto, os

avanc¸os tecnol´ogicos tˆem permitido cada vez mais uma maior capacidade de armazenamento e processamento em dispositivos m´oveis.

As aplicac¸˜oes LBS podem ser classificadas como do tipo pull ou push, sendo as aplicac¸˜oes do primeiro tipo as que fornecem servic¸os requisitados pelos usu´arios, ou seja,

os usu´arios possuem o controle de quando os servic¸os ir˜ao ser fornecidos. Por outro lado, no servic¸o do tipo push, os usu´arios n˜ao possuem o controle de quando este ser´a fornecido. Um

exemplo de servic¸o do tipo pull ´e o de procura de amigos, no qual o usu´ario pede para o sis-tema localizar algum amigo. Como exemplo de servic¸o push, podem ser citados os servic¸os

de monitoramento de amigos, os quais lanc¸am um alerta quando algum amigo est´a pr´oximo do usu´ario.

Os servic¸os push resultam em um alto prec¸o pela transparˆencia e comodidade oferecida, sendo muito mais caros do que os servic¸os pull. Este alto custo ´e devido `a maior quantidade

de recurso de rede necess´ario, pois a localizac¸˜ao do usu´ario precisa ser atualizada constan-temente. Al´em disto, os servic¸os push possuem a quest˜ao da privacidade do usu´ario, devido

ao monitoramento constante de sua localizac¸˜ao por terceiros.

No momento de criac¸˜ao de aplicac¸˜oes LBS, algumas caracter´ısticas do sistema a ser

implementado devem ser levadas em considerac¸˜ao [5]. Algumas destas s˜ao:

• A aplicac¸˜ao ser´a baseada em servic¸os push ou pull?

• Os perfis dos usu´arios podem ser adquiridos indiretamente ou s´o diretamente? • Quais informac¸˜oes do perfil do usu´ario ser˜ao dispon´ıveis?

(24)

2.4 Representac¸˜ao do Conhecimento, Ontologias e Web Semˆantica 11 • Quais os cen´arios poss´ıveis de interac¸˜ao no sistema?

– Requisitante e provedor s˜ao estacion´arios?

– Um ´e estacion´ario e outro n˜ao. Por exemplo, um carro que emite sua

localizac¸˜ao pode ser visto como um provedor e o servidor LBS que consulta essas informac¸˜oes como estacion´ario; e

– Os dois s˜ao m´oveis. Por exemplo, um usu´ario que procura um amigo. • Qual a fonte da informac¸˜ao de localizac¸˜ao?

• Qual o n´ıvel de precis˜ao da localizac¸˜ao ´e necess´ario para a aplicac¸˜ao?

• Ser´a mantido um hist´orico do contexto e, caso seja, este hist´orico ser´a utilizado para

tomadas de decis˜oes futuras?

• Qual o tipo de fonte de informac¸˜ao? – Est´atica: banco de dados; e – Dinˆamica: tempo, tr´afego.

2.4

Representac¸˜ao do Conhecimento, Ontologias e Web

Semˆantica

Nesta sec¸˜ao, ser˜ao abordados conceitos importantes para aplicac¸˜oes cientes de contexto, como a representac¸˜ao do conhecimento, ontologias e Web Semˆantica.

A representac¸˜ao de conhecimento atrav´es de ontologias tem ganhado forc¸as nos ´ultimos anos devido `a influˆencia da Web Semˆantica, que possui como um de seus pilares, a

representac¸˜ao das informac¸˜oes na Web na forma de uma ontologia. Segundo Gruber [20], em

ciˆencia da computac¸˜ao, ontologia define um conjunto de primitivas de representac¸˜ao, com o

qual se modela um dom´ınio de conhecimento, sendo este conjunto formado tipicamente por classes, atributos e relacionamentos.

J´a a Web Semˆantica ´e considerada uma extens˜ao da Web original, na qual a informac¸˜ao ´e dada com um significado bem definido, permitindo que computadores e pessoas trabalhem

(25)

2.4 Representac¸˜ao do Conhecimento, Ontologias e Web Semˆantica 12

em cooperac¸˜ao [21]. A Figura2.3apresenta as camadas da Web Semˆantica, como pode ser

observado uma das camadas superiores ´e formada por ontologias, as quais s˜ao respons´aveis

pela representac¸˜ao do conte´udo na Web de forma interpret´avel por homens e m´aquinas. Na camada acima das ontologias est˜ao as regras, que definem como ser˜ao inferidos novos

co-nhecimentos na Web a partir dos j´a conhecidos.

Figura 2.3: Camadas da Web Semˆantica (adaptada de http://www.w3.org/2001/sw).

Em aplicac¸˜oes simples, a escolha de uma representac¸˜ao n˜ao ´e importante, devido `a fa-cilidade de manter um vocabul´ario consistente. Em aplicac¸˜oes complexas como as cientes

de contexto, por´em, existe a necessidade de uma representac¸˜ao mais geral e flex´ıvel. Con-sequentemente, a forma como o conhecimento ´e representado em aplicac¸˜oes cientes de

con-texto deve ser bem definida, sendo este processo conhecido como m odelagem de concon-texto.

O RDFS (RDF Schema) [22] e o OWL (Web Ontology Language) [23] est˜ao entre as

principais linguagens de definic¸˜ao e instanciac¸˜ao de ontologias. RDFS ´e uma extens˜ao

semˆantica do RDF (Resource Description Framework) [24] que ´e uma recomendac¸˜ao W3C

para descrever recursos na Web. A estrutura de qualquer express˜ao RDF ´e uma colec¸˜ao de triplas, cada uma formada por um sujeito, um predicado (propriedade) e um objeto. O RDFS

possui um grande poder de descric¸˜ao, por´em, falta a capacidade de informar caracter´ısticas das classes e propriedades, o que ´e poss´ıvel com OWL. Por exemplo, informar que uma

(26)

2.5 Modelagem de Contexto 13

O OWL ´e dividido em trˆes sublinguagens: OWL Lite, OWL DL e OWL Full. A expres-sividade nestas ´e aumentada na ordem apresentada. A OWL Lite ´e a mais simples, sendo

todos os relacionamentos com cardinalidade zero ou um. J´a o OWL DL, permite o m´aximo de expressividade sem perder a completude computacional – todos os v´ınculos s˜ao

garan-tidos de serem computados – e a decidibilidade – as computac¸˜oes terminar˜ao em tempo finito – das m´aquinas de inferˆencia. Enquanto que o OWL Full, apesar de possuir a maior

expressividade, n˜ao possui garantias de decidibilidade.

2.5

Modelagem de Contexto

Um modelo de contexto define os tipos, nomes, propriedades e atributos das entidades

envol-vidas nas aplicac¸˜oes cientes de contexto, como os usu´arios, dispositivos m´oveis, contextos, etc. O modelo tenta prover a representac¸˜ao, busca, troca e interoperabilidade de informac¸˜ao

contextual entre as aplicac¸˜oes.

Strang e Linnhoff [25] realizaram um estudo de comparac¸˜ao entre as principais

aborda-gens para modelagem de contexto. Para tanto, foram considerados os seguintes requisitos:

1. Composic¸˜ao distribu´ıda: capacidade do modelo de ser descrito de maneira dis-tribu´ıda;

2. Validac¸˜ao parcial: facilidade para detecc¸˜ao de conhecimento contextual inv´alido, de acordo com a descric¸˜ao do modelo;

3. Riqueza e qualidade da informac¸˜ao: o modelo de contexto utilizado deve permitir a descric¸˜ao da qualidade e riqueza da informac¸˜ao fornecida, pois esta ´e bastante vari´avel

em aplicac¸˜oes cientes de contexto;

4. Incompletude e ambiguidade: as informac¸˜oes contextuais descrevendo um ambiente,

geralmente, s˜ao incompletas e amb´ıguas, quando envolvem uma rede de sensores. Estes aspectos da informac¸˜ao devem ser cobertos pelo modelo;

5. N´ıvel de formalidade: ´e importante que haja um compreendimento compartilhado dos significados das informac¸˜oes existentes no modelo, o que gera a necessidade de

(27)

2.5 Modelagem de Contexto 14

6. Aplicabilidade em ambientes existentes: do ponto de vista da implementac¸˜ao, o modelo de contexto deve ser aplic´avel ao ambiente tecnol´ogico dispon´ıvel para o

de-senvolvimento de aplicac¸˜oes cientes de contexto.

Adotando como crit´erio a estrutura de dados utilizada, as t´ecnicas para modelagem de contexto podem ser classificadas em:

• Modelos Chave-Valor: este modelo ´e a estrutura de dados mais simples para

mode-lagem de contexto. O contexto ´e representado no formato de uma lista de pares de

chaves, como “temperatura”, e valores, como “370

C”. Esta t´ecnica de modelagem foi

utilizada por Schilit et al. [26];

• Modelos Baseados em Esquemas de Marcac¸˜ao: a principal linguagem para a descric¸˜ao das informac¸˜oes contextuais neste modelos ´e o XML (eXtensible Markup Language) [27], a qual organiza estas informac¸˜oes de maneira hier´arquica atrav´es de

tags com atributos e valores. Um dos representantes dos modelos desta categoria ´e o

CSCP [28] que estende o CC/PP da W3C [29];

• Modelos Gr´aficos: Elementos gr´aficos s˜ao utilizados na modelagem feita utilizando

esta t´ecnica. Como exemplos de modelos que utilizam esta t´ecnica temos: o CMP

(Context UML Profile) [30], que utiliza a linguagem UML (Unified Modeling

Lan-guage) para descrever o modelo; e CML (Context Modelling LanLan-guage) [31], que

utiliza ORM (Object Role Modeling) [32];

• Modelos Orientados a Objetos: Esta t´ecnica para modelagem de contexto permite

que sejam aproveitados os principais benef´ıcios das abordagens orientada a objetos,

que s˜ao, a encapsulamento e a reusabilidade. Em Cheverst et al. [33], foi utilizada

uma abordagem de modelagem de contexto orientada a objetos para gerar o modelo chamado de Active Object Model;

• Modelos Baseados em L´ogica: Nesta abordagem os modelos s˜ao descritos atrav´es de

fatos, express˜oes e regras, podendo novos fatos serem derivados a partir do processo de inferˆencia sobre as regras. Como exemplos de modelos que utilizam esta t´ecnica

(28)

2.6 Considerac¸˜oes Finais 15 • Modelos Baseados em Ontologia: Esta abordagem utiliza ontologias para descrever

as entidades do sistemas e seus relacionamentos. Esta t´ecnica ´e uma das mais

pro-missoras, devido ao grande poder de descric¸˜ao das ontologias. O Omnipresent [36],

o SOCAM [7] e o FLAME2008 [10] s˜ao bons exemplos de sistemas que utilizam

modelos de contexto baseados em ontologias.

Ainda no trabalho de Strang e Linnhoff [25], foi exposto que os modelos baseados em

ontologias s˜ao os mais expressivos e preenchem todos os requisitos descritos anteriormente,

como pode ser observado na Tabela2.2, na qual ’++’ indica que a abordagem atende

total-mente ao requisito, ’+’ indica que atende parcialtotal-mente e ’-’ que n˜ao atende.

Consequen-temente, uma abordagem baseada em ontologias ´e a mais indicada para a modelagem de contexto.

Tabela 2.2: Comparac¸˜ao entre abordagens para modelagem de contexto (adaptado de [25]).

Abordagens/ Requisitos 1 2 3 4 5 6 Chave-Valor - - - + Esquemas de Marcac¸˜ao + ++ - - ++ + Gr´aficos - - + - + + Orientado a Objetos ++ + + + + + L´ogica ++ - - - ++ -Ontologia ++ ++ + + ++ +

A utilizac¸˜ao de ontologias para a modelagem de contexto tem sido um dos grandes temas estudados por pesquisadores [7][10][37], devido `a necessidade de uma maior expressividade

na modelagem de contexto [9]. No entanto, ainda falta uma padronizac¸˜ao na forma como o

contexto ´e modelado utilizando esta abordagem.

2.6

Considerac¸˜oes Finais

Neste cap´ıtulo, foram apresentados alguns conceitos gerais necess´arios para o entendimento desta dissertac¸˜ao, como a computac¸˜ao ub´ıqua, contexto, representac¸˜ao do conhecimento,

(29)

2.6 Considerac¸˜oes Finais 16

sobre aplicac¸˜oes cientes de contexto, onde ´e poss´ıvel obter mais informac¸˜oes sobre o tema. No pr´oximo cap´ıtulo, ser˜ao apresentados alguns trabalhos relacionados.

(30)

Cap´ıtulo 3

Trabalhos Relacionados

Neste cap´ıtulo, ser˜ao abordadas algumas ferramentas propostas na literatura para o

desen-volvimento de aplicac¸˜oes cientes de contexto. Ser˜ao observadas nas aplicac¸˜oes suas arquite-turas, contribuic¸˜oes e lacunas. Uma atenc¸˜ao especial foi dada as ferramentas de criac¸˜ao de

aplicac¸˜oes cientes de contexto que possuem o foco no usu´ario final, por ser um dos principais objetivos deste trabalho.

O restante do cap´ıtulo est´a organizado da seguinte forma: na pr´oxima sec¸˜ao, ser´a apre-sentada a plataforma FLAME2008. Na sec¸˜ao seguinte, ser˜ao apreapre-sentadas as plataformas

WASP e Infraware. Na sec¸˜ao 3.3, descreve-se a ferramenta MScape. Na sec¸˜ao seguinte,

´e apresentado o sistema StramSpin. J´a na sec¸˜ao 3.5, apresenta-se o midleware SOCAM.

Na sec¸˜ao 3.6 apresenta a ferramenta iCAP e o framework Context Toolkit. Para finalizar

a lista de trabalhos relacionados, na sec¸˜ao 3.7, ´e apresentado o Omnipresent. Em seguida,

´e apresentada uma comparac¸˜ao entre os trabalhos descritos. Por fim, s˜ao apresentadas as considerac¸˜oes finais deste cap´ıtulo.

3.1

FLAME2008

O FLAME2008 [10] utiliza uma abstrac¸˜ao em relac¸˜ao ao contexto, chamada de situac¸˜ao,

que acontece quando algumas caracter´ısticas do contexto ficam inalteradas durante algum

intervalo de tempo. Devido a esta abstrac¸˜ao, os servic¸os s˜ao chamados de cientes de situac¸˜ao.

O FLAME2008 [10] ´e uma plataforma de servic¸os cientes de situac¸˜ao, desenvolvida para

ser utilizada durante os jogos ol´ımpicos de 2008 em Pequim. Nesta plataforma, ´e utilizado

(31)

3.1 FLAME2008 18

um n´ıvel semˆantico para identificar os servic¸os que mais se aproximam das demandas dos usu´arios, que n˜ao necessitam procur´a-los.

Na Figura 3.1, pode ser visualizada a arquitetura do FLAME2008, que ´e formada por

trˆes camadas, sendo a primeira camada formada pelos clientes, a segunda formada pela

pla-taforma de servic¸os e a terceira formada pelos fornecedores de conte´udo. A plapla-taforma ´e composta de um conjunto de servidores, que s˜ao:

Figura 3.1: Arquitetura do FLAME2008 (adaptada de [10]).

• O servidor Log´ıstica de Informac¸˜ao, que implementa os mecanismos de

comunicac¸˜ao push e pull, para o fornecimento de informac¸˜oes e servic¸os, baseado

no casamento semˆantico dos servic¸os com as situac¸˜oes, atrav´es do m´odulo Casamento Semˆantico;

• O servidor Corretor de Conte ´udo, que possui os registros semˆanticos – atrav´es da

ontologia da aplicac¸˜ao – e provˆe acesso aos conte´udos;

• O servidor Perfis e Contextos, que ´e respons´avel por fornecer informac¸˜oes – perfil e

contexto – do usu´ario para a detecc¸˜ao de situac¸˜oes; e

• O servidor Verificador de Servic¸os [38], que ´e respons´avel por fornecer os servic¸os dispon´ıveis na ´area em que o usu´ario est´a inserido e substituir os servic¸os

(32)

3.2 WASP e Infraware 19

No FLAME2008, os servic¸os n˜ao s˜ao acionados por regras e sim atrav´es de uma in-ferˆencia semˆantica realizada sobre a descric¸˜ao dos servic¸os e da situac¸˜ao do usu´ario, sendo

analisada a semelhanc¸a destes, para verificar quais servic¸os devem ser oferecidos.

Para habilitar a selec¸˜ao flex´ıvel de servic¸os para os usu´arios em um n´ıvel semˆantico, ´e

necess´aria a descric¸˜ao semˆantica das situac¸˜oes e dos servic¸os oferecidos. Assim, s˜ao utili-zadas ontologias para estas descric¸˜oes, podendo ser realiutili-zadas inferˆencias para a selec¸˜ao de

servic¸os personalizados, que atendam `as necessidades do usu´ario na sua situac¸˜ao atual. Todas as vezes que acontece alguma alterac¸˜ao significante no contexto do usu´ario, ´e

realizada a procura por servic¸os que possuam semelhanc¸a `a situac¸˜ao atual do usu´ario, sendo todos os servic¸os resultantes enviados para o dispositivo m´ovel do usu´ario.

As principais contribuic¸˜oes do FLAME2008 s˜ao: o oferecimento de servic¸os personali-zados baseados na situac¸˜ao do usu´ario sem a necessidade da interferˆencia dele e a utilizac¸˜ao

de ontologias para descrever semanticamente os perfis, servic¸os e situac¸˜oes, possibilitando a inferˆencia para selec¸˜ao de servic¸os.

Uma caracter´ıstica que falta no FLAME2008 ´e o monitoramento de situac¸˜oes de ter-ceiros, principalmente para o prop´osito que a plataforma foi criada – eventos com grande

concentrac¸˜ao de pessoas. Por exemplo, se o usu´ario desejar saber onde est´a uma atleta para pedir um aut´ografo, necessitar´a monitorar o contexto dele.

No FLAME2008, n˜ao h´a a possibilidade do usu´ario se inscrever em algum servic¸o, dessa forma, o usu´ario n˜ao possui o controle sobre os servic¸os fornecidos a ele, com isso, muitos

servic¸os que n˜ao s˜ao do seu interesse s˜ao oferecidos.

No processo de desenvolvimento da plataforma de servic¸os para os Jogos Ol´ımpicos de

Pequim, o FLAME2008 foi renomeado para COMPASS2008, sendo colocado um prot´otipo em execuc¸˜ao e testado com usu´arios [39].

3.2

WASP e Infraware

WASP (Web Architectures for Services Platforms) [9] ´e uma plataforma para servic¸os cientes

de contexto, que oferece o apoio `a construc¸˜ao e execuc¸˜ao dessas aplicac¸˜oes. Na Figura3.2, s˜ao mostrados os trˆes elementos com os quais a plataforma WASP possui relacionamentos, sendo eles:

(33)

3.2 WASP e Infraware 20

Figura 3.2: Plataforma WASP e seus relacionamentos (adaptada de [9]).

• Os Provedores de Contexto, que s˜ao respons´aveis por fornecer as informac¸˜oes de

texto provindas de sensores, estruturas computacionais ou outros provedores de con-texto;

• Os Provedores de Servic¸o, que s˜ao entidades que fornecem servic¸os `a plataforma,

havendo a necessidade dos servic¸os serem publicados e registrados; e

• As Aplicac¸˜oes WASP, que s˜ao as aplicac¸˜oes sens´ıveis ao contexto, que utilizam a

plataforma WASP para ter acesso `a assinatura de servic¸os e as informac¸˜oes contextuais dos Provedores de Contexto.

As informac¸˜oes de contexto e os servic¸os s˜ao definidos na plataforma WASP atrav´es de

ontologias, para auxiliar a criac¸˜ao de novos servic¸os e a descric¸˜ao de regras que ativar˜ao os servic¸os dispon´ıveis pelos provedores de servic¸os. O monitoramento do contexto e das regras ´e realizado pela plataforma, sendo algumas vezes necess´ario que informac¸˜oes de contexto

das aplicac¸˜oes sejam fornecidas atrav´es de provedores de contexto para a plataforma (ver

Figura3.3).

Para a descric¸˜ao de regras, a plataforma WASP possui uma linguagem de comunicac¸˜ao

entre as aplicac¸˜oes e a plataforma, para que as aplicac¸˜oes especifiquem como a plataforma deve reagir a um determinado contexto.

Existe uma camada de Privacidade na plataforma WASP, a qual permite um controle so-bre o fluxo de informac¸˜oes provindas dos provedores de contexto e servic¸o, que s˜ao utilizadas

(34)

3.2 WASP e Infraware 21

Figura 3.3: Arquitetura da plataforma WASP (adaptada de [9]).

O Infraware [40] [41] ´e uma plataforma que est´a dando continuidade ao projeto iniciado com a plataforma WASP, sendo desenvolvida na Universidade Federal do Esp´ırito Santo. O Infraware pretende estender as funcionalidades da plataforma WASP com o objetivo de

tornar a arquitetura mais flex´ıvel, permitindo a adic¸˜ao de novos servic¸os e a interpretac¸˜ao

num n´ıvel mais abstrato do contexto. Na Figura 3.4, pode ser observada a arquitetura do

Infraware, a qual possui m´odulos adicionais de manipulac¸˜ao semˆantica em relac¸˜ao `a arquite-tura da plataforma WASP, sendo esta semˆantica utilizada, entre outras funcionalidades, para

a composic¸˜ao de servic¸os.

Um dos problemas destes sistemas ´e a falta de uma ferramenta que auxilie a criac¸˜ao

de novos servic¸os e de criac¸˜ao de regras, pois a utilizac¸˜ao de uma semˆantica, atrav´es de ontologias, n˜ao ´e o suficiente para auxiliar na criac¸˜ao de servic¸os e de regras para a aplicac¸˜ao

(35)

3.3 MScape 22

Figura 3.4: Arquitetura da plataforma Infraware (retirada de [40]).

3.3

MScape

MScape [42] ´e um projeto da HP, que tem como objetivo o aux´ılio na criac¸˜ao, no

comparti-lhamento e na distribuic¸˜ao de mediascapes por usu´arios de dispositivos m´oveis. Mediascape

´e uma experiˆencia multim´ıdia ciente de contexto que permite acionar conte´udos multim´ıdia baseados no contexto.

Um mediascape pode ser executado em um dispositivo m´ovel que possua a aplicac¸˜ao instalada, sendo um arquivo de m´ıdia apresentado quando determinado contexto acontecer.

A existˆencia de um portal Web torna poss´ıvel o compartilhamento e distribuic¸˜ao dos mediascapes pelos usu´arios, al´em de poderem trocar experiˆencias obtidas no processo de

criac¸˜ao, atrav´es de um f´orum de discuss˜ao.

Na Figura 3.5, podem ser observados os componentes b´asicos de um mediascape, que

s˜ao: a parte l´ogica, as entradas do usu´ario, os sensores e os arquivos de m´ıdia.

Para facilitar o processo de criac¸˜ao de um mediascape por usu´arios, foi desenvolvida

uma ferramenta para auxili´a-los (ver Figura3.6). A ferramenta de construc¸˜ao de mediascape

possui uma interface de construc¸˜ao baseada em regras de contexto. Desta forma, ´e poss´ıvel

criar regras do tipo: quando o usu´ario estiver inserido em uma determinada ´area geogr´afica, ent˜ao ser´a mostrado um determinado v´ıdeo sobre aquele local.

(36)

3.3 MScape 23

Figura 3.5: Componentes de um mediascape (adaptada de [42]).

(37)

3.3 MScape 24

Os seguintes requisitos foram utilizados para a criac¸˜ao da ferramenta de construc¸˜ao de mediascape:

• Uma linguagem extens´ıvel para descrever o contexto. Existe uma linguagem de

script na ferramenta, com a qual o usu´ario pode manipular as informac¸˜oes recebidas

dos sensores.

• Especificac¸˜ao de eventos contextuais e as suas consequˆencias. Atrav´es da

lingua-gem de script ´e poss´ıvel determinar consequˆencias de acordo com um estado

contex-tual no qual o usu´ario est´a inserido.

• A representac¸˜ao do estado contextual. Com eventos lanc¸ados quando o usu´ario

“en-tra” ou “sai” de um determinado contexto ´e poss´ıvel representar os estados contextuais poss´ıveis e suas consequˆencias.

• O armazenamento e gerenciamento de arquivos de m´ıdia. Arquivos multim´ıdia

podem ser carregados no sistema, para posteriormente serem utilizados na gerac¸˜ao de regras.

• Uma interface de criac¸˜ao que permite n˜ao programadores explorar novos gˆeneros de mediascape. Atrav´es de uma interface visual de criac¸˜ao de regras ´e poss´ıvel que

usu´arios n˜ao programadores consigam criar mediascapes.

• Um emulador para testar as regras criadas. O emulador que acompanha a

ferra-menta de criac¸˜ao possui ferraferra-mentas para simular informac¸˜oes retornadas por um GPS e ativac¸˜oes de bot˜oes no dispositivo, mas para haver o suporte a outro tipo de sensor ´e

necess´ario a adic¸˜ao de um plugin `a ferramenta.

As grandes contribuic¸˜oes do MScape s˜ao: a liberdade oferecida para os usu´arios

cri-arem suas pr´oprias aplicac¸˜oes com uma ferramenta visual; a opc¸˜ao de testar o funciona-mento do mediascape criado em um emulador; e a existˆencia de um portal no qual pode-se

compartilhar e distribuir os mediascapes criados, al´em de ser poss´ıvel a discuss˜ao sobre as experiˆencias na criac¸˜ao.

Apesar da ferramenta de emulac¸˜ao de mediascapes ser uma das grandes contribuic¸˜oes do MScape, esta possui a limitac¸˜ao de s´o permitir a simulac¸˜ao do GPS, n˜ao permitindo a

(38)

3.4 StreamSpin 25

Uma caracter´ıstica marcante que falta ao MScape ´e a possibilidade de adic¸˜ao de arquivos multim´ıdia pelo pr´oprio dispositivo m´ovel, podendo assim criar ou alterar mediascapes a

partir do pr´oprio dispositivo m´ovel. Por exemplo, um usu´ario poderia tirar uma foto e gerar um mediascape com essa foto, de forma que, quando o usu´ario estivesse nesta mesma ´area

novamente a foto fosse mostrada.

Outro problema detectado no MScape ´e que a alterac¸˜ao de um mediascape torna-se quase

invi´avel, pois seria necess´ario utilizar a ferramenta de criac¸˜ao de mediascape e novamente adicionar no portal Web. Deste modo, pessoas que j´a haviam baixado o mediascape

desa-tualizado teriam que substituir o mediscape antigo. Al´em disto, o armazenamento de v´arios mediascapes nos dispositivos m´oveis pode n˜ao ser vi´avel, pois o espac¸o de armazenamento

nos dispositivos m´oveis ´e reduzido. Assim sendo, seria mais interessante o armazenamento em um servidor central. Desta forma, ao inv´es de baixar o mediascape para o dispositivo, os

usu´arios iriam execut´a-lo de uma plataforma.

3.4

StreamSpin

O projeto StreamSpin desenvolvido na Universidade de Alborg [43] [13], tem como objetivo

criar um portal onde se concentrem os servic¸os dispon´ıveis para os dispositivos m´oveis, sendo estes servic¸os na sua grande maioria cientes de contexto. Com isso, ´e mantida uma

API para o desenvolvimento dos servic¸os e um sistema de cadastro de usu´arios, os quais podem gerenciar suas inscric¸˜oes nos servic¸os e adicionarem seus pr´oprios servic¸os para a

comunidade.

Na Figura 3.7, ´e apresentada a arquitetura do portal StreamSpin, a qual ´e formada por

trˆes m´odulos: o m´odulo de Servic¸os Web, respons´avel pelo gerenciamento dos servic¸os dispon´ıveis; o m´odulo do S´ıtio Web, respons´avel pelo gerenciamento dos usu´arios no

sis-tema e pela distribuic¸˜ao dos servic¸os; e o N´ucleo, respons´avel pela execuc¸˜ao de casamento semˆantico e gerenciamento da distribuic¸˜ao dos servic¸os.

O grande lema do projeto StreamSpin ´e ser para servic¸os m´oveis o que o YouTube ´e para os v´ıdeos. A grande contribuic¸˜ao do projeto, segundo os autores, ´e facilitar criac¸˜ao e

compartilhamento de servic¸os m´oveis.

(39)

3.5 SOCAM 26

Figura 3.7: Arquitetura da plataforma StreamSpin (adaptada de [13]).

um programador, pois s´o ´e fornecida uma API de desenvolvimento e nenhuma ferramenta

para auxiliar na criac¸˜ao do servic¸o. Devido `as grandes dificuldades de se construir uma aplicac¸˜ao ciente de contexto de maneira ad hoc, torna-se quase que invi´avel a criac¸˜ao de

servic¸os pelos usu´arios finais. Al´em disso, para a adic¸˜ao de novos sensores para a captac¸˜ao de novos contextos, ´e necess´ario estender a API fornecida, o que exige experiˆencia do usu´ario

com programac¸˜ao.

O controle de acesso e privacidade ´e quase inexistente. Desta forma, n˜ao h´a a

possibili-dade de um usu´ario acessar o contexto de outro usu´ario.

O fornecimento de mapas ´e outro problema, pois deixa a responsabilidade para o servic¸o

a ser criado, n˜ao existindo um servic¸o padr˜ao de fornecimento de mapas.

3.5

SOCAM

O SOCAM (Service-Oriented Context-Aware Middleware) [7] ´e um intermediador para a

construc¸˜ao de aplicac¸˜oes cientes de contexto, cujo modelo de contexto ´e baseado em ontolo-gia.

Na Figura 3.8, pode ser visualizado o modelo baseado em ontologia, que ´e formado

por dois n´ıveis de hierarquia. No n´ıvel inferior, est˜ao contidas as ontologias de dom´ınio

espec´ıfico do sistema, como por exemplo, os dom´ınios de uma casa e um ve´ıculo. J´a o n´ıvel superior ´e composto da ontologia geral do sistema, que possui conceitos gerais sobre

(40)

3.5 SOCAM 27

as outras ontologias. Desta forma, a ontologia de um dom´ınio espec´ıfico selecionada, pode ser alterada dinamicamente. Por exemplo, quando o usu´ario est´a em casa, ent˜ao a ontologia

de dom´ınio selecionada ´e a de uma casa, mas se ele sair da casa e entrar em seu carro, ent˜ao a ontologia selecionada ser´a a de um ve´ıculo.

Figura 3.8: Modelo baseado em ontologia com dois n´ıveis de hierarquia (retirada de [7]).

Na Figura3.9, ´e apresentada a arquitetura do SOCAM, cujos elementos principais s˜ao:

• Provedores de contexto: respons´aveis pela separac¸˜ao de um n´ıvel mais baixo de

sen-soriamento de um n´ıvel mais alto de manipulac¸˜ao de contexto. Os provedores de contexto necessitam ser registrados no Servic¸o de Localizac¸˜ao de Servic¸o, para que

este possa ser utilizado por outros usu´arios.

• Servic¸o de localizac¸˜ao de servic¸o (SLS): servic¸o respons´avel pelo cadastro e

localizac¸˜ao dos provedores de servic¸o.

• Interpretador de contexto: respons´avel pela interpretac¸˜ao de contexto, para

forne-cer um n´ıvel mais alto de abstrac¸˜ao. O interpretador de contexto tamb´em pode ser cadastrado no Servic¸o de Localizac¸˜ao de Servic¸os, para poder ser utilizado por outros

(41)

3.6 Context Toolkit e iCAP 28

Figura 3.9: Arquitetura do SOCAM (adaptada de [7]).

• Servic¸os m´oveis ciente de contexto: s˜ao os servic¸os fornecidos ao usu´ario, com ou

sem o controle deste. Por exemplo, um servic¸o de seguranc¸a de ve´ıculo, n˜ao pos-sui controle do usu´ario, que recebe informac¸˜oes sobre as condic¸˜oes de trˆansito nas

suas proximidades. Por outro lado, um servic¸o de localizac¸˜ao de amigos, necessita da requisic¸˜ao do usu´ario para ser fornecido.

As principais contribuic¸˜oes do SOCAM s˜ao: o modelo de contexto de dois n´ıveis hier´arquicos baseado em ontologia, devido ao alto n´ıvel semˆantico dado ao sistema; a

capa-cidade de alterac¸˜ao dinˆamica da ontologia de dom´ınio espec´ıfico de acordo com o contexto; e uma arquitetura orientada a servic¸os, que possibilita a adic¸˜ao de novos servic¸os facilmente.

Por outro lado, a utilizac¸˜ao somente de ontologias n˜ao ´e o suficiente para o auxilio da criac¸˜ao de servic¸os. Al´em disso, o SOCAM n˜ao possui uma interface para os dispositivos

m´oveis, de maneira que, sejam utilizados os servic¸os fornecidos pelo sistema.

3.6

Context Toolkit e iCAP

O Context Toolkit [6] ´e um framework que auxilia na construc¸˜ao de aplicac¸˜oes cientes de

contexto. Para isso, s˜ao utilizados os seguintes conceitos: a separac¸˜ao de preocupac¸˜oes, da

aquisic¸˜ao e uso de contexto; a agregac¸˜ao de contexto e a interpretac¸˜ao de contexto.

Na Figura 3.10, pode ser visualizada a arquitetura do Context Toolkit, que ´e composto

(42)

3.6 Context Toolkit e iCAP 29

das informac¸˜oes de contexto; o agregador, que ´e respons´avel por agregar toda informac¸˜ao de contexto de uma entidade; e o interpretadoro, utilizado para abstrair as informac¸˜oes de

contexto.

Figura 3.10: Arquitetura do Context Toolkit (adaptada de [6]).

O Context Toolkit ´e um framework para auxiliar na criac¸˜ao de aplicac¸˜oes cientes de con-texto num n´ıvel mais baixo de abstrac¸˜ao. Dessa forma, necessitando de outras ferramentas

para auxiliar na criac¸˜ao de um sistema mais completo.

Um dos problemas do Context Toolkit ´e a falta de um controle de privacidade das

informac¸˜oes de contexto. Al´em disso, n˜ao existe uma semˆantica para descrever o contexto e as regras.

O Context-Aware Application Prototyper (iCAP) [11] ´e um sistema que permite usu´arios

finais projetarem visualmente aplicac¸˜oes cientes de contexto. O iCAP permite que o usu´ario

descreva uma situac¸˜ao e uma ac¸˜ao associada a esta. Para isso, possui uma interface de criac¸˜ao

de regras de forma visual, a qual utiliza o esquema de casamento de Pane e Myers [44] – que

representa o operador AND na vertical e o operador OR na horizontal.

O iCAP possui uma boa interface com o usu´ario para a prototipac¸˜ao e simulac¸˜ao de

sistemas cientes de contexto pelos usu´arios finais, utilizando o Context Toolkit. Entretanto, foi desenvolvido focado mais na ´area de Casas Inteligentes.

(43)

3.7 Omnipresent 30

3.7

Omnipresent

O Omnipresent [8] ´e um sistema ciente de contexto baseado em uma arquitetura orientada a

servic¸o. Na Figura3.11, apresenta-se a arquitetura do Omnipresent que ´e formada por trˆes

camadas:

Figura 3.11: Arquitetura do Omnipresent (adaptada de [8]).

Na camada cliente, o Omnipresent possui duas formas de ser acessado, atrav´es de um navegador Web ou em um dispositivo m´ovel. Algumas funcionalidades podem ser acessadas

nas duas formas de acesso, que s˜ao o monitoramento da localizac¸˜ao de terceiros, a rota entre dois pontos, a alterac¸˜ao do contexto emocional e o status, o acesso de informac¸˜oes de pontos

de interesse, operac¸˜oes de aproximac¸˜ao e deslocamento em um mapa e o recebimento de alertas.

Por outro lado, algumas funcionalidades s´o podem ser acessadas em uma das formas de acesso. Por exemplo, somente no navegador Web ´e poss´ıvel criar regras sobre os estados

contextuais e somente no dispositivo m´ovel ´e poss´ıvel alterar os contextos fisiol´ogicos e de localizac¸˜ao – atrav´es das informac¸˜oes captadas dos sensores.

´

(44)

tercei-3.7 Omnipresent 31

ros. As ac¸˜oes podem ser no formato de alertas ou de e-mails, sendo que os alertas podem ser visualizados tanto no dispositivo m´ovel, quanto no navegador Web.

As regras de estados contextuais s˜ao criadas no formato XML respeitando as definic¸˜oes de um XSD, n˜ao havendo uma forma visual de criar as regras. As ac¸˜oes poss´ıveis de uma

regra s˜ao: o lanc¸amento de alertas para o usu´ario desejado ou o envio de um e-mail. Alguns servic¸os s˜ao oferecidos no Omnipresent, sendo eles:

• O Servic¸o de Apresentac¸˜ao: utiliza o iGIS [45] para o fornecimento de mapa e de informac¸˜oes sobre a localizac¸˜ao. Este servic¸o ´e dividido em duas partes a WMS e a

WFS, que seguem os respectivos padr˜oes da OGC [46][47];

• O Servic¸o de Roteamento: servic¸o que fornece o roteamento a partir de dois pontos; • O Servic¸o LBS: monitora os contextos de todos os usu´arios, lanc¸ando alertas de

acordo com as regras criadas no sistema; e

• O Servic¸o de Propaganda: servic¸o para o lanc¸amento de propagandas para o usu´ario

de acordo com suas preferˆencias e contexto.

As grandes contribuic¸˜oes do Omnipresent s˜ao a proposta de uma arquitetura orientada a servic¸o, o monitoramento de diversos tipos de contextos al´em da localizac¸˜ao, a existˆencia de

um Sistema de Informac¸˜ao Geogr´afico no cliente, uma interface de gerenciamento de regras pelo o usu´ario final e o monitoramento do contexto de terceiros.

O Omnipresent, por´em, n˜ao utiliza uma m´aquina de inferˆencia baseada em regras, ele simplesmente compara informac¸˜oes de contexto atuais com os valores monitorados. Al´em

disso, a extens˜ao do modelo de contexto para suportar outros tipos de contextos ´e bastante complicada, uma vez que ´e necess´ario a modificac¸˜ao do c´odigo fonte e adic¸˜ao de servic¸os

Web, que n˜ao seguem um padr˜ao. Outro problema refere-se aos servic¸os, uma vez que n˜ao ´e poss´ıvel adicionar novos servic¸os em tempo de execuc¸˜ao, sendo necess´ario a criac¸˜ao de

stubs1e adic¸˜ao do suporte destes no dispositivo m´ovel.

O modelo de monitoramento de contexto e regras do Omnipresent [36] ao atualizar um

contexto que est´a sendo monitorado, ser˜ao acionados todos que est˜ao escutando as mudanc¸as neste. Entretanto, para a utilizac¸˜ao eficiente deste modelo foi necess´aria a n˜ao utilizac¸˜ao de

(45)

3.8 Comparac¸˜ao 32

uma m´aquina de inferˆencia e a simplificac¸˜ao das regras contextuais poss´ıveis no sistema, restringindo as regras a um formato de arquivo XML que segue um XSD que d´a pouca

liberdade na criac¸˜ao das regras, comparada `a complexidade de regras poss´ıveis com o modelo de contexto existente.

Outro problema detectado no Omnipresent ´e que as ac¸˜oes das regras que comp˜oem os servic¸os push s´o permitem enviar e-mail ou mandar um alerta, desta forma, limitando-se a

uma pequena diversidade de servic¸os.

3.8

Comparac¸˜ao

Nesta sec¸˜ao, apresenta-se uma comparac¸˜ao entre os trabalhos relacionados descritos neste

cap´ıtulo. Para esta comparac¸˜ao foram considerados as seguintes caracter´ısticas consideradas relevantes para o prop´osito do trabalho ao qual trata esta dissertac¸˜ao:

1. Modelo de contexto baseado em ontologias. Como descrito na sec¸˜ao2.5, uma

abor-dagem baseada em ontologias ´e a mais indicada para modelagem de contexto, devido `a sua grande expressividade e preenchimento de v´arios requisitos necess´arios para um

modelo de contexto;

2. Extensibilidade do modelo de contexto. A natureza dinˆamica das aplicac¸˜oes cientes

de contexto geram mudanc¸as r´apidas e constantes nos requisitos destas aplicac¸˜oes [48], consequentemente, o modelo de contexto deve se extens´ıvel para diminuir o tempo e

os custos no preenchimento dos novos requisitos;

3. Aquisic¸˜ao de dados provindos de sensores f´ısicos, virtuais e l´ogicos. As aplicac¸˜oes

cientes de contexto podem adquirir as informac¸˜oes contextuais de v´arios tipos de fon-tes diferenfon-tes, gerando a necessidade das ferramentas que almejam dar suporte a estas

aplicac¸˜oes possuam uma forma de aquisic¸˜ao desses v´arios tipos;

4. Interface gr´afica para criac¸˜ao visual de regras contextuais. Para permitir que

usu´arios finais possam criar regras contextuais, existe a necessidade de uma ferramenta visual para este fim;

(46)

3.9 Considerac¸˜oes Finais 33

5. Emulador para validac¸˜ao de regras contextuais. Ap´os criar regras contextuais, o usu´ario necessita valid´a-las em um emulador antes de serem submetidas para o

servi-dor; e

6. Comunicac¸˜ao entre os componentes que permita a adic¸˜ao de novas informac¸˜oes

contextuais. Para permitir que o modelo de contexto seja estendido em tempo de

execuc¸˜ao, ´e necess´ario que a comunicac¸˜ao entre os componentes do sistema permita

esta ac¸˜ao.

Na Tabela 3.1, mostram-se quais trabalhos possuem as caracter´ısticas citadas

anterior-mente. Os campos marcados com ’+’ indicam que a ferramenta possui a determinada

fun-cionalidade, os marcados com ’-’ indicam que n˜ao a possuem. Quando alguma ferramenta possui parcialmente alguma funcionalidade, os campos s˜ao marcados com ’+-’.

Tabela 3.1: Comparac¸˜ao entre os trabalhos relacionados.

3.9

Considerac¸˜oes Finais

Neste cap´ıtulo, foram descritos alguns trabalhos relacionados, sendo citadas suas principais vantagens e desvantagens. Em seguida, foi apresentada uma comparac¸˜ao entre os

traba-lhos, levando em considerac¸˜ao algumas caracter´ısticas desej´aveis para um sistema ciente de contexto que permita a personalizac¸˜ao pelo usu´ario final e seja extens´ıvel.

Algumas lacunas, referentes `as caracter´ısticas citadas neste cap´ıtulo, foram detectadas nos trabalhos relacionados. Nenhum dos trabalhos possui uma comunicac¸˜ao que facilite

(47)

3.9 Considerac¸˜oes Finais 34

execuc¸˜ao. Al´em disto, somente dois trabalhos possuem uma forma visual de criac¸˜ao de regras contextuais, por´em, estes n˜ao possuem um modelo de contexto baseado em ontologias.

No pr´oximo cap´ıtulo, ser´a apresentado o servidor de contexto do VadeMecum e, no se-guinte, as ferramentas CARE e CARE Emulator, as quais formam a infraestrutura proposta

Referências

Documentos relacionados

4 RESULTADOS E DISCUSSÃO 4.1 Caracterização da cobertura florestal e da biodiversidade vegetal no entorno dos cultivos de tomate na região de Apiaí-SP a Módulos

O valor da reputação dos pseudônimos é igual a 0,8 devido aos fal- sos positivos do mecanismo auxiliar, que acabam por fazer com que a reputação mesmo dos usuários que enviam

Apesar dos esforços para reduzir os níveis de emissão de poluentes ao longo das últimas décadas na região da cidade de Cubatão, as concentrações dos poluentes

2. Identifica as personagens do texto.. Indica o tempo da história. Indica o espaço da história. Classifica as palavras quanto ao número de sílabas. Copia do texto três

Em janeiro, o hemisfério sul recebe a radiação solar com menor inclinação e tem dias maiores que as noites, encontrando-se, assim, mais aquecido do que o hemisfério norte.. Em julho,

Local de realização da avaliação: Centro de Aperfeiçoamento dos Profissionais da Educação - EAPE , endereço : SGAS 907 - Brasília/DF. Estamos à disposição

Tais características introduziram desafios adicionais à operação de sistemas elétricos, como definição e alocação de reserva operativa de potência sob a

O desenvolvimento das interações entre os próprios alunos e entre estes e as professoras, juntamente com o reconhecimento da singularidade dos conhecimentos