You are on page 1of 53

UNIVERSIDADE CATOLICA DE PELOTAS CENTRO POLITECNICO CURSO DE CIENCIA DA COMPUTACAO

Explorando a L gica Fuzzy na Tomada o de Decis es em Regime de Incerteza o


por Marcos Guilherme Peglow

` Monograa submetida como requisito parcial a aprovacao em Projeto de Graduacao I

Orientador: Prof. Dr. Adenauer Corr a Yamin e Co-orientador: Profa .Dra . RenataReiser

Pelotas, junho de 2011

Dedico a Deus, a minha minha m e e a todos que de alguma forma contriburam para a que eu me tornasse quem sou hoje.

AGRADECIMENTOS
Agradeco a orientacao e ensinamentos do professor Adenauer Correa Yamin, sem ` os quais este Projeto de Graduacao n o se tornaria realidade, n o poderia deixar de citar a a a professora Renata Reiser, que contribuiu com diversos textos, os quais me serviram de base de estudo. Tamb m agradeco a todos integrantes do G3PD, por compartilharem seus e conhecimentos e estarem sempre a disposicao para sanar qualquer d vida que viesse a u surgir.

A maior vitoria que se pode conquistar e a conquistada sobre a propria ignorancia.

SUMARIO

LISTA DE FIGURAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . LISTA DE TABELAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . LISTA DE ABREVIATURAS E SIGLAS . . . . . . . . . . . . . . . . . . . . . RESUMO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.1 1.2 1.3 2 2.1 2.2 2.3 3 3.1 3.2 3.2.1 3.2.2 3.2.3 3.2.4 3.2.5 3.3 4 4.1 INTRODUCAO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Tema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Estrutura do texto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . COMPUTACAO UBIQUA . . . . . . . . . . . . . . . . . . . . . . . . . . . Caractersticas da Computacao Ubqua . . . . . . . . . . . . . . . . . . Cen rios em Computacao Ubqua . . . . . . . . . . . . . . . . . . . . . a Consideracoes sobre o Captulo . . . . . . . . . . . . . . . . . . . . . . . SENSIBILIDADE AO CONTEXTO: PRINCIPAIS CONCEITOS . . . . . Denicao de Contexto . . . . . . . . . . . . . . . . . . . . . . . . . . . . Conceitos em Computacao Sensvel ao Contexto . . . . . . . . . . . . . Aquisicao de Contexto . . . . . . . . . . . . . . . . . . . . . . . . . . . Modelagem de Contexto . . . . . . . . . . . . . . . . . . . . . . . . . . Interpretacao de Contexto . . . . . . . . . . . . . . . . . . . . . . . . . . Processamento e Raciocnio sobre o Contexto . . . . . . . . . . . . . . . Armazenamento de Informacoes Contextuais . . . . . . . . . . . . . . . Consideracoes Sobre o Captulo . . . . . . . . . . . . . . . . . . . . . . . ESCOPO DO TRABALHO . . . . . . . . . . . . . . . . . . . . . . . . . . Middleware EXEHDA . . . . . . . . . . . . . . . . . . . . . . . . . . . .

7 8 9 11 12 13 14 14 15 17 18 20 21 22 23 23 24 25 26 27 27 28 28

4.1.1 Aspectos Funcionais e Arquiteturais . . . . . . . . 4.2 EXEHDA-SS . . . . . . . . . . . . . . . . . . . . . 4.2.1 Concepcao e Modelagem do EXEHDA-SS . . . . . 4.2.2 Modelo de Representacao de Contexto . . . . . . . 4.2.3 Arquitetura de Software do EXEHDA-SS . . . . . 4.3 L gica Fuzzy . . . . . . . . . . . . . . . . . . . . . o 4.3.1 L gica Fuzzy Revisitada . . . . . . . . . . . . . . o 4.3.2 L gica fuzzy aplicada no escalonamento de tarefas o 4.4 Consideracoes sobre o Captulo . . . . . . . . . . . 5 EXEHDA-FL: VISAO GERAL E TECNOLOGIAS 5.1 Vis o Geral . . . . . . . . . . . . . . . . . . . . . a 5.2 Tecnologias Previstas . . . . . . . . . . . . . . . . 5.2.1 Plataforma Java . . . . . . . . . . . . . . . . . . 5.2.2 Servidor Web Apache . . . . . . . . . . . . . . . 5.2.3 Banco de Dados PostgreSQL . . . . . . . . . . . 5.3 Consideracoes sobre o captulo . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

28 35 35 35 37 37 38 39 40 41 41 43 43 43 45 47 48 48 49 50

6 CONSIDERACOES FINAIS . . . . . . . . . . . . . . . . . . . . . . . . . . 6.1 Principais Conclus es . . . . . . . . . . . . . . . . . . . . . . . . . . . . o 6.2 Cronograma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . REFERENCIAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

LISTA DE FIGURAS
Figura 2.1 Framework para Computacao Ubqua (adaptada de (SAHA; MUKHERJEE, 2003)) . . . . . . . . . . . . . . . . . . . . . . . . . Denicao de (DEY, 2000) . . . . . . . . . . . . . . . . . . . . . . . Denicao de (CHEN; KOTZ, 2002) . . . . . . . . . . . . . . . . . . Arquitetura de Software do Middleware EXEHDA (YAMIN, 2004) Ambiente Ubquo Suprido pelo EXEHDA (YAMIN, 2004) . . . . . Organizacao dos Subsistemas do EXEHDA (YAMIN, 2004) . . . . Classes da OntContext (VENECIAN, 2010) . . . . . . . . . . . . . . . . .

16 22 23 32 33 34 37

Figura 3.1 Figura 3.2 Figura 4.1 Figura 4.2 Figura 4.3 Figura 4.4 Figura 5.1

M dulo-FL integrado a Arquitetura de Software do Middleware o EXEHDA (YAMIN, 2004) . . . . . . . . . . . . . . . . . . . . . . .

42

LISTA DE TABELAS
Tabela 3.1 Avaliacao das Abordagens para Modelagem de Contexto (STRANG; LINNHOFF-POPIEN, 2004) . . . . . . . . . . . . . . . . . . . . . . Limite valor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

26 47

Tabela 5.1

LISTA DE ABREVIATURAS E SIGLAS


ACID BDA BSD CBR CoC DSO EXEHDA FTP GMob G3PD HTML HTTP IBM IEEE ISAM MVC NCSA ORB ORM OWL OX Atomicidade - Consist ncia - Isolamento - Durabilidade e Base de Dados Ubqua das Aplicacoes Berkeley Software Distribution Case-Based Reasoning Convention over Conguration Dynamic Shared Objects Execution Enviroment for High Distributed Applications File Transfer Protocol Grupo de Sistemas em Computacao M vel o Grupo de Pesquisa em Processamento Paralelo e Distribudo Hyper-Text Markup Language Hyper-Text Transfer Protocol International Business Machines Institute of Electric and Electronic Engineers ` Infraestrutura de Suporte a Aplicacoes M veis o Model - View - Controller National Center for Supercomputing Applications Object Request Broker Object-Relational Mapping Web Ontology Language Objeto eXehda

P2P PDA PPGINF RA RCN RIC RMI SGBDOR SSL UCPeL UML WEB

Peer-to-Peer Personal Digital Assistant Programa de P s-graduacao em Inform tica o a Reposit rio de Aplicacoes o Reposit rio de Contextos Noticados o Reposit rio de Informacoes Contextuais o Remote Method Invocation Sistemas Gerenciadores de Banco de Dados Objeto-Relacional Secure Socket Layer Universidade Cat lica de Pelotas o Unied Modeling Language World Wide Web

RESUMO
Este Projeto de Graduacao tem como objetivo central avaliar alternativas para im plementar, no Middleware EXEHDA, tomada de decis es de adaptacao em regime de o incerteza. A premissa e utilizar a L gica Fuzzy para o tratamento das incertezas. Assim, o com base na l gica Fuzzy ser desenvolvido um m dulo a ser integrado ao subsistema o a o de Reconhecimento de Contexto e Adaptacao do Middleware EXEHDA. Este m dulo de o ` ver dar suporte as adaptacoes n o funcionais promovidas pelo EXEHDA na execucao das a a aplicacoes altamente distribudas, pertencentes aos domnios da computacao em Grade, em Nuvem e Ubqua. Para tanto este Projeto de Graduacao 1 (PGI) contempla um estudo dos principais conceitos envolvidos, e um resumo dos estudos realizados referentes as tecnologias previstas para serem utilizadas.

Palavras-chave: Escalondanador.

Computacao Ubqua, Sensibilidade ao Contexto, L gica Fuzzy, o

12

INTRODUCAO

Este captulo introduz o trabalho caracterizando seu tema, seus objetivos, bem como a estrutura do texto. Neste Projeto de Graduacao faremos uma revis o de conceitos sobre computacao a ubqua, sensibilidade ao contexto, o middleware EXEHDA e a l gica fuzzy. Tamb m ser o e a contextualizado um m dulo de tomada de decis es a ser utilizado nas adaptacoes n oo o a funcionais (escalonamento) de aplicacoes com base na l gica fuzzy. Este m dulo ser o o a integrado ao sub-sistema de Reconhecimento de Contexto e Adaptacao do middleware EXEHDA. O middleware EXEHDA tem por nalidade denir a arquitetura para um ambiente ` de execucao destinado as aplicacoes da Computacao Ubqua (grades e nuvens computa cionais), no qual as condicoes de contexto s o pr -ativamente monitoradas. a o Sua implementacao exige solucoes de diversas quest es oriundas da n o utilizacao o a de sistemas connados em redes locais; O escalonamento e um dos mecanismos que pre1 ` cisa ser denido. As aplicacoes s o submetidas as grades , como um conjunto de progra a mas menores chamados de tarefas, a serem executadas nos diversos recursos disponveis. A heterogeneidade dos recursos e a necessidade de considerar que a rede est disponvel a para diversas aplicacoes ao mesmo tempo imp e restricoes na busca pelo melhor subcon o junto de recursos para executar as tarefas. A descricao das aplicacoes e as estimativas de disponibilidade dos recursos de sempenham um papel fundamental para que um escalonamento seja, na pr tica, pr ximo a o do otimo. Esses dois tipos de informacao fornecidas como entrada para o escalonador de tarefas possuem, quase sempre, um certo grau de incerteza. Os usu rios n o tem total coa a nhecimento sobre as suas aplicacoes e as ferramentas de monitoramento, por melhor que sejam, n o s o 100% precisas. Com base nessa necessidade ser proposto um escalona a a ador baseado na l gica fuzzy, a ser desenvolvido, para tomada de decis es em regime de o o incerteza na disponibilidade de recursos oferecidos pela grade.
de acordo com (FOSTER, 2002) grade e um sistema que, atrav s da utilizacao de interfaces e protoe colos padronizados, abertos e de prop sito geral, coordena recursos que n o est o sujeitos a um controle o a a centralizado com o objetivo de fornecer qualidade de servicos n o-triviais. a
1

13

Na literatura, as incertezas s o expressas atrav s da grandeza Qualidade da a e Informacao (QoI Quality of Information) (AL-ALI R.AND HAFID, 2003). No caso das descricoes das aplicacoes, a QoI designa a porcentagem de certeza sobre as demandas das tarefas e sobre as depend ncias entre elas. O valor de 100% corresponde a uma aplicacao e descrita corretamente. Uma solucao para diminuir o impacto causado pelas incertezas na descricao das aplicacoes seria a criacao de pers. O problema dessa solucao e que as informacoes referentes ao desempenho de um c digo em uma plataforma n o s o v lidas o a a a para o mesmo c digo compilado para outra plataforma, o que limita a sua utilizacao em o ambientes heterog neos como as grades. Uma proposta mais avancada seria armazenar e ` as informacoes sobre os tempos de execucao das aplicacoes submetidas a grade e, com base nesse hist rico, utilizar a t cnica Case-Based Reasoning (CBR). Esta t cnica avalia o e e ` as demandas de uma aplicacao submetida a grade e busca no hist rico similaridades com o aplicacoes que j tenham sido executadas. Desta forma, e possvel predizer a carga de a trabalho a ser gerada pela aplicacao atual, entretanto, a comparacao realizada n o consi a dera que as informacoes da aplicacao atual possam estar incorretas, o que diminui a sua utilidade em situacoes com alto grau de incerteza na descricao das aplicacoes. Para diminuir o impacto causado pelas incertezas sobre a disponibilidade dos recursos da grade, costuma-se empregar solucos baseadas em medicao, reescalonamento e migracao de tarefas. Um escalonamento inicial e proposto para a aplicacao e, caso seja detectada alguma diferenca entre o desempenho real da aplicacao e o desempenho espe rado, em tempo de execucao, um novo escalonamento e proposto e tarefas s o migradas. a A maioria das solucoes considera que a diferenca entre o desempenho real e o desem penho esperado e decorrente da incerteza inerente aos procedimentos de estimacao da disponibilidade dos recursos, entretanto, deve-se, tamb m, considerar a descricao incore reta da aplicacao como causa da diferenca. Nota-se que tanto as solucoes baseadas na an lise dos hist ricos quanto as a o solucoes baseadas em monitoramento e migracao tem como consequ ncia o aumento na e complexidade dos sistemas de ger ncia da grade, dado que e necess rio implementar e ine a tegrar novos mecanismos ao escalonador de tarefas. Uma solucao consistiria em adicionar ` o suporte as incertezas diretamente nos escalonadores, solucao que dever ser adotada na a implementacao do escalonador proposto neste projeto de graduacao.

1.1

Tema

O trabalho proposto tem como tema o desenvolvimento de um m dulo para a o tomada de decis es em regime de incerteza, direcionado ao Subsistema de Reconhecio mento de Contexto e Adaptacao do EXEHDA. Como suporte ao tratamento de incertezas, ser contemplado o uso da L gia Fuzzy, e o foco s o as adaptacoes n o-funcionais a o a a

14

(escalonamento).

1.2

Objetivos

Este Projeto de Graduacao tem como objetivo central avaliar alternativas para tratamento de decis es a serem utilizadas em regras para processamento de contexto. o A premissa e contemplar avaliacoes em regime de incerteza utilizando para isso a l gica o Fuzzy. Os objetivos especcos s o: a revisar fundamentos te ricos sobre Computacao Ubqua, Sensibilidade ao Cono texto; analisar o middleware EXEHDA e seus subsistemas; estudar a L gica Fuzzy na Perspectiva do escopo do projeto; o propor um m dulo para tomada de decis es a ser integrado no EXEHDA, que deo o ver dar suporte as adaptacoes n o-funcionais das aplicacoes altamente distribudas, a a pertencentes aos domnios da computacao em Grade, em Nuvem e Ubqua; redigir, progressivamente, o texto do Projeto de Graduacao a medida que as ativi dades forem sendo realizadas.

1.3

Estrutura do texto

A estrutura do texto deste Projeto de Graduacao contempla seis captulos, sendo o primeiro esta introducao, e os outros cinco organizados em um crescente de especicidade conforme resumo abaixo: Captulo 2: Neste C ptulo ser o abordados os principais conceitos de Computacao a a Ubqua; Captulo 3: Neste C ptulo ser o abordados os Fundamentos em Sensibilidade ao a a Contexto; Captulo 4: Neste captulo ser denido o Escopo deste Trabalho; a Captulo 5: Neste Captulo ser descrito as caractersticas da EXEHDA Fuzzy a Logic, com enfase no escopo deste Projeto; Captulo 6: Consideracoes Finais, s o apresentadas as conclus es pertinentes a este a o Projeto de Graduacao.

15

COMPUTACAO UBIQUA

Este captulo discute os principais conceitos estudados referentes a area de Computacao Ubiqua, sendo abordadas as principais consideracoes da mesma, suas car actersticas, al m de cen rios. Muitos dos conceitos tratados s o oriundos de (RO e a a DRIGUES, 2010). De acordo com Costa (COSTA; YAMIN; GEYER, 2008) a computacao ubqua idealizada por Mark Weiser na hist rica publicacao (WEISER, 1991) e um dos modelos o de computacao que mais dissemina na atualidade. Weiser postulava que a computacao re sidiria nos mais inusitados objetos (e.g., etiquetas de roupas, xcaras de caf , interruptores e de luz e canetas) tornando-se, muitas vezes, imperceptvel aos olhos dos usu rios. Neste a contexto, onde a computacao torna-se imersa ao cotidiano, as pessoas convivem com os computadores e n o somente os utilizam. Nestes ambientes, ditos ubquos, existiria uma a intensa interacao entre os dispositivos que o comp em com a nalidade de auxiliar os o usu rios na execucao de suas tarefas. a Na computacao ubqua os recursos se adaptam ao comportamento humano de modo n o intrusivo, sem forcar que os usu rios se adaptem aos dispositivos a a (GOULARTE, 2003). A proposta de Weiser vem se tornando realidade, atrav s de tece nologias como PDAs, Smartphones e a consolidacao de padr es para redes sem o como o o Bluetooth e o IEEE 802.11. Com a computacao ubqua, a relacao entre usu rios e dis a positivos computacionais muda em relacao aos computadores pessoais, o que era de um para um, passa a ser de um para muitos (um usu rio para v rios dispositivos) (WEISER; a a GOLD; BROWN, 1999). A computacao ubqua vem conquistando espacos com a disseminacao de dispo sitivos port teis, sobretudo ap s a ampliacao das tecnologias de redes sem o. Dessa a o forma, o uso desta computacao tem conduzido a aplicacoes de diversas areas do mundo real, onde sua usabilidade nos moldes da computacao tradicional n o poderia ser t o am a a pla. Cen rios na area m dica, podem estender-se a diversas atividades, como telemonia e toramento atrav s do uso de sensores de medicina ubqua, diagn sticos remotos, segunda e o opini o, juntas m dicas, Home Care viabilizando a integracao de dispositivos m veis a e o

16

como PDAs, Tablets, Smartphones com os sistemas de prontu rio eletr nico existentes a o nos hospitais, entre outros cen rios, desde resid ncias inteligentes a trabalhos colaboraa e tivos (DINIZ, 2009). A premissa principal por tr s do conceito de computacao ubqua e desenvolver a uma variedade de dispositivos inteligentes para serem utilizados em ambientes de trabalho ` e/ou residencial. Tais dispositivos prov m aos usu rios acesso universal e imediato as e a ` informacoes e d o suporte as tarefas dos usu rios (GRIMM; BERSHAD, 2002). a a ` Al m de mobilidade, os sistemas ubquos requerem suporte a escalabilidade, intee roperabilidade, sensibilidade dentre outros aspectos para garantir que os usu rios tenham a acesso quando necessitarem (SAHA; MUKHERJEE, 2003). Conforme (SAHA; MUKHERJEE, 2003), os avancos tecnol gicos necess rios o a para construir um ambiente de computacao ubqua s o os seguintes: rede de interconex o, a a dispositivos, middleware e aplicacoes vide gura 2.1.

Figura 2.1: Framework para Computacao Ubqua (adaptada de (SAHA; MUKHERJEE, 2003)) Segundo Johnson (JOHNSON, 2005), os ambientes de computacao ubqua s o a espacos inteligentes, contendo dispositivos m veis sem o, interconectados entre si, com o consci ncia das informacoes do ambiente e reagindo de forma inteligente as informacoes e do mesmo, disponvel a qualquer hora e lugar. Para Couloris e colegas (COULORIS; DOLLIMORE; KINDBERG, 2005), um espaco inteligente e qualquer espaco fsico com servicos embarcados, ou seja, servicos providos sobretudo dentro daquele espaco fsico. J as aplicacoes ubquas, em uma vis o mais ampla, devem prever a mobilidade a a de equipamentos e usu rios, denominada mobilidade fsica, e tamb m dos componentes a e da aplicacao e servicos, chamada de mobilidade l gica. Portanto, as aplicacoes devem o ter o estilo siga-me, facultando que o usu rio possa acessar seu ambiente computacional a

17

independente da localizacao, do tempo e do dispositivo utilizado (YAMIN, 2004). Para tal, as aplicacoes precisam entender e se adaptar ao ambiente, compreendendo o contexto em que est o inseridas (MACIEL; ASSIS, 2004). Essa nova classe de sistemas computaa cionais, sensveis ao contexto, abre perspectivas para o desenvolvimento de aplicacoes muito mais ricas, elaboradas e complexas, que exploram a natureza din mica e a mobilia dade do usu rio. Um desao central na programacao deste tipo de aplicacao e possibia litar que as mesmas se adaptem continuamente ao ambiente e permanecam funcionando mesmo quando o indivduo se movimentar ou migrar para outro dispositivo (GRIMM; BERSHAD, 2002; COSTA; YAMIN; GEYER, 2008) De acordo com Augustin (AUGUSTIN, 2004) a computacao ubqua, constitui um ambiente altamente distribudo, heterog neo, din mico, m vel, mut vel e com forte e a o a interacao entre homem e m quina. a A computacao ubqua vem sendo estudada por diversos grupos de pesquisas em todo o mundo. No entanto, muitos desaos s o identicados para que o paradigma da a ubiquidade seja alcancado.

2.1

Caractersticas da Computacao Ubqua

Para satisfazer os requisitos denidos pela computacao ubqua, uma s rie de e caractersticas s o necess rios para caracterizar um sistema ou ambiente ubquo. Este a a s o objetivos fundamentais recorrentes em projetos de pesquisa efetuados na area, seja a no meio acad mico, ou no meio empresarial (em centros tecnol gicos e laborat rios de e o o empresas) (GREGORY; ELIZABETH, 2000; DAVID, 2007). Caractersticas de uma ambiente ubquo (YAU; YU; KARIM, 2002; COSTA; YAMIN; GEYER, 2008): onipresenca dos servicos: permitir a movimentacao fsica do usu rio, dando a ele a a percepcao de estar levando consigo os servicos computacionais; invisibilidade: n o deve ser interpretada literalmente. Seu signicado neste cona texto e de tornar a computacao n o perceptvel no foco de atencao do usu rio. O a a usu rio deve concentrar-se na tarefa, n o no computador. A invisibilidade n o e a a a uma quest o apenas de interface de software, ela envolve a forma como visualia zamos a tecnologia, como interagimos com ela e como a utilizamos para obter os resultados desejados; sensibilidade ao contexto: capacidade de coletar informacoes sobre o ambiente onde est sendo utilizado isto pode gerar informacoes relevantes a respeito do ama biente, o excesso desta, caso n o corretamente ltrada e interpretada, pode ser prea

18

judicial ao meio. O gerenciamento adequado das informacoes sobre o ambiente, assim como a disponibilizacao e correta utilizacao das mesmas s o pontos funda a mentais para o sucesso de qualquer ambiente ubquo; captura de experi ncias: capacidade de capturar e registrar experi ncias para uso e e posterior, se um sistema pode identicar usu rios, objetos e dispositivos inseridos a em um meio e conhecer a sua localizacao, ent o o potencial para gerar informacoes a a respeito deste ambiente e elevado. Este potencial pode ser utilizado para adequar o meio a uma nova realidade ou estado, ou at mesmo para reconhecer padr es e o de comportamento de usu rios e, de forma pr -ativa, se antecipar a comandos a o explcitos do mesmo; comportamento adapt vel ou dinamismo de tarefas: capacidade de, dinamicamente, a adaptar os servicos disponveis ao ambiente onde est sendo utilizado dentro de suas a limitacoes; descoberta de servicos: construir servicos pr -ativamente, de acordo com o ambi o ente em que se encontra. A aplicacao deve interagir com o ambiente e permitir que o usu rio tamb m o faca, a m de descobrir novos servicos ou informacoes para a e atingir o objetivo desejado; composicao de funcionalidades: capacidade de, a partir de servicos b sicos, montar a uma determinada funcionalidade requerida pelo usu rio; a interoperabilidade espont nea: capacidade de alterar os parceiros durante a sua a operacao conforme a sua movimentacao; heterogeneridade de dispositivos: prover mobilidade da aplicacao atrav s de dispo e sitivos heterog neos; e toler ncia a falhas: capacidadade de se adaptar diante de falhas no ambiente (por a exemplo, disponibilidade online/off-line).

2.2

Cen rios em Computacao Ubqua a

Esta secao resume o estudo desenvolvido a respeito da origem da computacao ubqua. A computacao ubqua e um modelo computacional proveniente das tecnolo gias de rede sem o e sistemas distribudos, em um processo evolutivo iniciado pela computacao n made e seguido pela computacao m vel, est gio atual da tecnologia m vel o o a o (COSTA; YAMIN; GEYER, 2008). A ideia deste modelo e a criacao de um ambiente fsico onde o foco e o usu rio, especicamente a tarefa que ele deseja realizar, permitindo a

19

` assim ao usu rio dedicar-se as quest es de maior import ncia, permitindo assim que o a o a ambiente ubquo encarregue-se da execucao de tarefas secund rias (AUGUSTIN et al., a 2008). Pelo fato da computacao ubqua ser uma area emergente de pesquisa, termos como computacao ubqua, computacao pervasiva, computacao n made, computacao m vel e o o outros tantos t m sido usados muitas vezes como sin nimos, embora sejam diferentes e o conceitualmente e utilizam diferentes id ias de organizacao e gest o dos servicos come a ` putacionais. A medida que a area progredi, esses conceitos v o sendo melhor compreendia dos e as suas denicoes tornam-se mais evidentes e copiosamente utilizadas (AUGUSTIN et al., 2008). Os sistemas de computacao m vel ainda n o est o bem caracterizados e este termo o a a e usado pelos autores em um espectro de ambientes, que envolvem alguma forma de mo bilidade. De forma geral, pode-se dizer que sistema de computacao m vel e um sistema o distribudo que envolve elementos (software, dados, hardware, usu rio) cuja localizacao a se altera ao longo da execucao (AUGUSTIN et al., 2008). Esta denicao torna clara a amplitude desta nova area de computacao. Dependendo dos elementos que possuem a propriedade de mobilidade, podem-se denir diferentes cen rios. Entre eles destaca-se (AUGUSTIN et al., 2008): a computacao n made - democratizada pelo uso de dispositivos port teis tais como o a os palmtops e suas aplicacoes de gerenciamento pessoal. O usu rio podia utilizar a os servicos que um computador oferecia independentemente da sua localizacao. A mobilidade est mascarada atrav s da portabilidade do hardware. No incio dos a e anos 90, as facilidades de comunicacao eram, basicamente, via acesso discado a cada movimentacao, uma nova conex o a rede era necess ria; a ` a computacao via redes sem o - usu rio utilizando um equipamento port til pode se a a ` deslocar dentro de uma c lula, enquanto mant m a conex o a rede xa ou a uma e e a ` rede espont nea (ad-hoc) que se forma pelo encontro de dispositivos; a mobilidade de c digo - os componentes da aplicacao podem se mover. Pode-se ter: o a mobilidade de c digo; a mobilidade de dados; ou a mobilidade de todo o estado o da execucao da aplicacao (por exemplo: agentes m veis); o computacao m vel - a computacao n made, combinada com a capacidade de acesso o o ` permanente a rede sem o, tem transformado a computacao numa atividade que pode ser transportada para qualquer lugar. Observa-se que a crescente introducao de facilidades de comunicacao tem deslocado as aplicacoes da computacao m vel o de uma perspectiva de uso pessoal para outras mais avancadas e de uso corporativo, como as aplicacoes m veis distribudas; o

20

computacao pervasiva - nesta concepcao, o computador tem a capacidade de obter informacao do ambiente no qual ele est inserido e utiliz -la para dinami a a camente construir modelos computacionais, ou seja, controlar, congurar e ajustar a aplicacao para melhor atender as necessidades do dispositivo ou utilizador sendo assim, adaptacao consciente do contexto. O ambiente tamb m pode e deve ser ca e paz de detectar outros dispositivos que venham a fazer parte dele. Desta interacao surge a capacidade dos sistemas agirem de forma inteligente no ambiente no qual o usu rio se movimenta, no qual esse ambiente est repleto de sensores e servicos a a computacionais; computacao ubqua - o ambiente e formado por in meros dispositivos m veis ou u o xos e equipamentos computacionais conectados entre si e invisveis ao usu rio a nal. O usu rio disp e de seu ambiente computacional independente de localizacao, a o tempo, dispositivo e rede subjacente. Surge dos avancos da computacao m vel e da o computacao pervasiva, e da necessidade de integr -las. Isto signica que, qualquer a objeto computacional presente no ambiente ou trazido pelo usu rio pode construir a dinamicamente modelos computacionais dos ambientes entre os quais o usu rio se a movimenta e os servicos por ele utilizado s o autocongur veis dependendo da a a necessidade e da tarefa que o usu rio deseja realizar. a Muitos pesquisadores consideram que computacao pervasiva, termo cunhado pela IBM (2000), e computacao ubqua, proposto por Mark Weiser - XEROX Parc (Ubiquitous Computing) (WEISER, 1991), como sin nimos (SATYANARAYANAN, 2001). Obsero vando os trabalhos realizados por pesquisadores, a maioria destes usam os termos de forma indistinta e neste trabalho ocorre o mesmo. A computacao ubqua pode ser denida como a integracao entre a mobilidade, sistemas de reconhecimento de contexto e computacao distribuda de forma invisvel ao usu rio. a

2.3

Consideracoes sobre o Captulo

Este captulo apresentou uma breve introducao a computacao ubqua, bem ` como os requisitos que caracterizam um ambiente ubquo. Assim como, a origem da computacao ubqua e os seus principais aspectos de estudo e pesquisa, tamb m foi apre e sentada uma perspectiva sobre a evolucao da computacao ubqua.

21

3 SENSIBILIDADE AO CONTEXTO: PRINCIPAIS CONCEITOS

Este captulo sintetiza os principais conceitos estudados sobre a area de Sensibili dade ao Contexto, e o mesmo utilizou como refer ncia o trabalho (VENECIAN, 2010). e Nas diversas situacoes do dia-a-dia as pessoas fazem uso do conhecimento do contexto para delimitar e direcionar acoes e comportamentos. As mensagens trocadas para comunicacao trazem junto um contexto associado que ap ia a compreens o do seu o a conte do. Contexto ajuda a melhorar a qualidade de conversacao e a compreender certas u situacoes, acoes ou eventos. Contexto desempenha um papel importante em qualquer domnio que en volva requisitos como compreens o, raciocnio, resolucao de problemas ou aprena dizado (SANTORO; BREZILLON; ARAUJO, 2005). Contexto e uma importante ferramenta para apoiar a comunicacao entre pessoas e sistemas computacionais, pois ajuda a diminuir ambig idade e conitos, aumenta a expressividade dos di logos, e possibilita u a a melhoria dos servicos e informacoes oferecidos pela aplicacao. Com isso, a tend ncia e e que as aplicacoes se tornem mais amig veis, exveis e f cies de usar (VENECIAN, a a 2010). O reconhecimento da import ncia do contexto motivou pesquisadores de dia versas areas da computacao, como Intelig ncia Articial, Interface Homem-M quina, e a Computacao Ubqua, Engenharia de Software, Banco de dados e Sistemas Colaborativos, a estudar esse conceito e entender como o mesmo pode ser formalizado e utilizado nos sistemas computacionais. A Computacao Sensvel ao Contexto investiga o emprego de informacoes que ca racterizam a situacao de uma interacao usu rio-computador no sentido de fornecer a servicos adaptados a usu rios e aplicacoes. Este captulo, estabelece as bases te ricas a o do trabalho, apresentando os conceitos fundamentais relacionados ao tema contexto (VENECIAN, 2010).

22

3.1

Denicao de Contexto

A palavra contexto no dicion rio Houaiss (HOUAISS, 2007) signica a intera relacao de circunst ncias que acompanham um fato ou uma situacao. Por mais que essa a denicao forneca uma nocao geral do signicado de contexto, n o mostra de que maneira a esse conceito est relacionado com ambientes computacionais e sistemas de tecnologia da a informacao. A abrang ncia desse conceito leva a entender que, intuitivamente, contexto e pode ser entendido como tudo que est ao redor de um sistema em quest o, tudo que a a ocorre em um determinado ambiente. Alguns pesquisadores, com o intuito de limitar a abrang ncia desse conceito, proe puseram denicoes referentes ao mesmo. A seguir, tr s vis es bastante conhecidas refe e o rentes a contexto s o apresentadas. a Como refer ncia cl ssica na area, Schilit (SCHILIT, 1995) (SCHILIT; ADAMS; e a WANT, 1994) divide contexto em tr s categorias: e Contexto Computacional: conectividade de rede, custos de comunicacao, largura de banda e recursos disponveis como impressoras, processadores e mem ria; o Contexto do Usu rio: perl do usu rio, localizacao, pessoas pr ximas a ele, humor a a o e outros; Contexto Fsico: luminosidade, nveis de barulhos, condicoes do tr nsito e tempe a ratura. Al m disso, (CHEN; KOTZ, 2002) defende a inclus o do Tempo (hora do dia, da e a semana, do m s e a estacao do ano) como uma quarta categoria de contexto e introduz e o conceito de Hist rico de Contexto e a necessidade de armazenamento de informacoes o contextuais como fonte de tomada de decis es e construcao de aplicacoes sensveis ao o contexto. A denicao mais referenciada na literatura de computacao ubqua para contexto e a citacao hist rica de (DEY, 2000), vide gura 3.1: o Contexto e qualquer informacao que pode ser usada para caracterizar uma situacao de uma entidade. Uma entidade e uma pessoa, um lugar, ou um objeto que e considerado relevante para a interacao entre um usu rio e uma aplicacao, a incluindo o pr prio usu rio e a pr pria aplicacao. o a o Figura 3.1: Denicao de (DEY, 2000)

(DEY, 2000) destaca que os contextos mais relevantes para um ambiente computacional s o: a localizacao, a identidade, o tempo e a atividade de uma entidade, ou a seja, a enumeracao de exemplos de contexto ainda e bastante usada na literatura. Con siderando a import ncia do ambiente ao seu redor e o quanto ele determina o comportaa

23

mento de uma aplicacao sensvel ao contexto, (CHEN; KOTZ, 2002) na gura 3.2 dene contexto da seguinte maneira: Contexto e o conjunto de estados e caractersticas de um ambiente que determina o comportamento de uma aplicacao ou no qual um evento de uma aplicacao ocorre e interessa ao usu rio. a Figura 3.2: Denicao de (CHEN; KOTZ, 2002)

3.2

Conceitos em Computacao Sensvel ao Contexto

` A construcao do suporte a sensibilidade ao contexto para as aplicacoes apresenta in meros desaos, dentre eles: (i) a caracterizacao dos elementos de contexto para uso u na aplicacao; (ii) a aquisicao do contexto a partir de fontes heterog neas, tais como sen e sores fsicos, base de dados, agentes e aplicacoes; (iii) a representacao de um modelo sem ntico formal de contexto; (iv) o processamento e interpretacao das informacoes de a contexto adquiridas; (v) a disseminacao do contexto a entidades interessadas de forma distribuda e no momento oportuno; e (vi) o tratamento da qualidade da informacao con textual(VENECIAN, 2010). As pr ximas subsecoes resumem o estudo feito sobre os fundamentos inerentes o ` para o suporte a sensibilidade ao contexto.

3.2.1

Aquisicao de Contexto

A aquisicao de contexto est associada com a forma na qual as informacoes con a textuais s o obtidas, podendo ser sentida, derivada ou explicitamente provida (MOSTEa FAOUI G. K., 2004). Aquisicao sentida: este tipo de informacao pode ser adquirido do ambiente por meio de sensores(temperatura, nvel de rudo, dispositivos presentes) Aquisicao derivada: este e o tipo de informacao que pode ser obtida em tempo de execucao. Por exemplo, e possvel calcular a idade de uma pessoa baseada na sua data de nascimento. ` Aquisicao provida: informacao que e explicitamente fornecida a aplicacao. Por ` exemplo, os dados cadastrais de um usu rio que e diretamente fornecido a aplicacao por a meio de um formul rio. a

24

Esta etapa de aquisicao, entretanto, n o e uma tarefa f cil, principalmente quando a a ` a informacao e sentida. Isso ocorre devido a grande variedade de sensores. Al m disso, e informacao contextual possui uma natureza din mica, sendo necess rio que a aplicacao a a gerencie todos esses aspectos.

3.2.2

Modelagem de Contexto

Atualmente, o desenvolvimento de aplicacoes sensveis ao contexto e uma tarefa complexa, o que torna o uso de t cnicas de modelagem extremamente necess rias. Cone a tudo, os atuais modelos para desenvolvimento de software n o oferecem suporte para a o projeto e de tais aplicacoes bem como n o prov em suporte para modelagem das a e informacoes contextuais (HENRICKSEN K; INDULSKA, 2003). Existem in meras abordagens para modelar informacoes contextuais, dentre as u quais pode-se ressaltar (STRANG; LINNHOFF-POPIEN, 2004): Modelos com m todos de marcacao: seguem uma estrutura hier rquica de marcacao e a com atributos e conte do. Em geral, utilizam-se de linguagens de marcacao derivadas da u Standard Generic Markup Language. Modelos chave-valor: utilizam um modelo simples de atributo e valor, sendo f ceis de gerenciar, contudo t m pouco poder de express o. a e a Modelos gr cos: baseados em notacoes gr cas, em geral s o derivados de adaptacoes a a a e extens es de modelos gr cos j difundidos, como UML, ORM ou o modelo Entidade o a a Relacionamento. Modelos orientados a objetos: esta abordagem tem a intencao de aplicar os prin cipais benefcios do modelo orientado a objetos, notadamente, encapsulamento e ` ` reusabilidade, a modelagem de contexto. Nesses casos, o acesso as informacoes contex tuais e feito somente atrav s de interfaces bem denidas. e Modelos baseados em l gica: dene-se o contexto de modo que se possa inferir o express es ou fatos a partir de um conjunto de outros fatos e express es. Em geral, este o o modelo possui um alto grau de formalismo. Modelos baseados em ontologias: uma ontologia e uma especicacao de uma conceituacao, isto e, uma descricao de conceitos e relacoes que existem entre eles, em um domnio de interesse. Nesse modelo o contexto e modelado em ontologias, construindo

25

uma base de conhecimento do contexto. As abordagens citadas acima s o avaliadas para modelagem de contexto, considerando a os seguintes crit rios: e 1. Composicao distribuda (cp): a composicao do modelo de contexto deve ser al tamente din mica em termos de tempo, topologia de rede e origem, podendo estar a distribudo em diversas localidades ao longo do tempo. 2. Validacao parcial (vp): deve ser possvel validar parcialmente o modelo, dado que nem todas as informacoes podem estar disponveis ao mesmo tempo e que o conhecimento do contexto pode ser derivado da composicao de outras informacoes distribudas. 3. Riqueza e qualidade da informacao (rqi): a qualidade e a riqueza das informacoes podem variar de acordo com o tempo e com o tipo de sensor. Da que o modelo deve permitir anotacoes de qualidade e riqueza da informacao de contexto representada. 4. Incompletude e ambiguidade (ia): as informacoes contextuais disponveis em um dado momento podem ser incompletas ou ambguas. Estas caractersticas devem ser cobertas pelo modelo. 5. Nvel de formalidade (nf): a formalidade visa a dar um vis o unica do modelo; a e altamente desej vel que todos os participantes tenham a mesma interpretacao. a A formalidade permite, tamb m, o processamento autom tico das informacoes de e a contexto diretamente do modelo, por exemplo, para validacao. 6. Aplicabilidade nos ambientes existentes (aae): para uma boa aceitacao, e im ` portante que o modelo seja aplic vel as infra-estruturas de suporte a contexto j a a existente. Os resultados da an lise realizada por (STRANG; LINNHOFF-POPIEN, 2004) a podem ser observados na tabela 3.1. A notacao apresentada atribui o sinal -para o crit rio e n o satisfeito pelo modelo, e o sinal +para o crit rio atendido de maneira satisfat ria. a e o Sendo ++para os crit rios que s o completamente satisfeito. e a A tabela 3.1, dentre outros aspectos caracteriza que o emprego de ontologias atende os crit rios empregados. e

3.2.3

Interpretacao de Contexto

A interpretacao de contexto pode ser entendida como o conjunto de m todos e pro e cessos que realizam a abstracao, o mapeamento, a manipulacao, a agregacao, a derivacao,

26

Tabela 3.1: Avaliacao das Abordagens para Modelagem de Contexto (STRANG; LINNHOFF-POPIEN, 2004) Modelo cp vp rqi ia nf aae
Chave-Valor M todo de marcacao e Gr cos a Orientacao a objetos Baseados em l gica o Baseados em Ontologia + ++ ++ ++ ++ + ++ + + + + + + + + ++ ++ + ++ + + +

a infer ncia e demais acoes sobre as informacoes contextuais, com o prop sito de facilitar e o o entendimento de um determinado contexto pelas aplicacoes e auxili -las na tomada de a decis es. O processo de interpretacao de contexto consiste na manipulacao e renamento o das informacoes contextuais de um ambiente(VENECIAN, 2010). Em (DEY, 2000), a interpretacao de contexto e vista como o processo de se elevar o nvel de abstracao das informacoes contextuais de um ambiente, ou seja, gerar uma informacao contextual mais elaborada a partir de uma mais primitiva. O processo de interpretacao de contexto pode ser bastante simples como derivar o nome de uma rua a partir de suas coordenadas geogr cas ou bastante complexo e a oneroso como inferir o humor de um usu rio baseado em seu perl e na atividade em a que ele est realizando. Al m disso, o ambiente em quest o, o da computacao ubqua, e a e a extremamente din mico e complexo. As informacoes contextuais podem estar espalhadas a e distribudas em qualquer lugar e com alto grau de mobilidade. Essa complexidade faz ` com que haja a necessidade de um suporte computacional as aplicacoes, de maneira a auxili -las na realizacao de interpretacoes de contextos. Tais atividades onerosas devem a ser abstradas das aplicacoes e o m dulo Interpretador de Contexto torna-se, portanto, um o componente essencial em uma plataforma de suporte a tais aplicacoes. Ele deve ser capaz de obter e prover informacao contextual em diferentes nveis de abstracao, conforme o desejo do usu rio e de suas aplicacoes. Uma aplicacao pode desejar tanto informacoes a mais brutas, de mais baixo nvel ou informacoes mais abstratas e elaboradas, de mais alto nvel, provenientes de um processo de renamento e interpretacao (COSTA; YAMIN; GEYER, 2008).

3.2.4

Processamento e Raciocnio sobre o Contexto

Um dos principais problemas na utilizacao de informacoes contextuais e como obter contexto realmente signicativo para quem precisa utilizar essa informacao, a partir de um conjunto de informacoes dispersas e desconexas, obtidas por mecanismos het erog neos de aquisicao. Para isso, funcionalidades de processamento e raciocnio sobre e

27

a informacao contextual devem ser disponibilizadas. Quest es como tratamento da in o certeza devem ser consideradas, pois como o contexto evolui bastante com o tempo e difcil inferir com precis o qual e de fato o contexto atual da situacao(VENECIAN, 2010). a Os termos raciocnio e infer ncia s o geralmente utilizados para indicar qualquer e a processo pelo qual conclus es s o alcancadas (RUSSELL; NORVIG, 2003). O projeto o a e implementacao de um mecanismo para raciocnio de contextos pode variar bastante a depender do tipo do conhecimento contextual envolvido. Idealmente, o processamento do contexto deve ser implementado separadamente do comportamento do sistema e n o a embutido no c digo da aplicacao (BELOTTI et al., 2004). o O raciocnio e utilizado para vericar a consist ncia do contexto e para inferir e contexto implcito de alto nvel, a partir de contextos explcitos, de baixo nvel (WANG et al., 2004). A consist ncia e necess ria pois, muitas vezes, a informacao contextual e a adquirida automaticamente pode apresentar erros e ambig idades. Por exemplo, um senu sor de presenca pode detectar o celular de um usu rio em sua casa e deduzir que o mesmo a est em casa. Por m, um outro sensor de presenca baseado em c meras detecta a presenca a e a do usu rio em seu escrit rio. Essas duas informacoes s o conitantes e precisam ser rea o a solvidas.

3.2.5

Armazenamento de Informacoes Contextuais

A necessidade de manter o hist rico de informacoes de contexto e um requisito o ` ` ligado a aquisicao de informacoes de contexto bem como a disponibilidade contnua dos componentes de captura de informacoes de contexto. Um hist rico de contexto pode ser o utilizado para estabelecer tend ncias e predizer valores futuros de informacoes contexto. e Sem o armazenamento dessas informacoes, esse tipo de an lise n o e possvel de ser a a realizado (VENECIAN, 2010).

3.3

Consideracoes Sobre o Captulo

Este captulo resumiu os aspectos referentes a computacao sensvel ao contexto. O estudo contemplou aspectos como: denicoes, identicacao de elementos, caractersticas, dimens es, aquisicao, modelagem, interpretacao, processamento e raciocnio e armazenao mento.

28

ESCOPO DO TRABALHO

Este captulo contempla de modo resumido a revis o feita sobre o middleware a EXEHDA (YAMIN, 2004) e seus subsistemas, a revis o feita sobre o servico EXEDHAa SS (VENECIAN, 2010), e tamb m traz uma revis o direcionada da L gica Fuzzy, a qual e a o ser usada posteriormente para a costrucao de um M dulo a ser integrado ao middleware a o EXEHDA (YAMIN, 2004), no qual este projeto de graducao est inserido. a

4.1

Middleware EXEHDA

Este captulo registra de modo resumido a revis o feita sobre o middleware a EXEHDA (YAMIN, 2004) e seus subsistemas, de modo mais detalhado e introduzido o servico do EXEHDA-SS (VENECIAN, 2010), empregado na arquitetura do uMED. O EXEHDA (YAMIN, 2004) e um middleware adaptativo ao contexto e baseado em servicos que visa criar e gerenciar um ambiente ubquo, bem como promover a execucao, sob este ambiente, das aplicacoes que expressam a sem ntica siga-me. Estas a aplicacoes s o distribudas, m veis e adaptativas ao contexto em que seu processamento a o ocorre, estando disponveis a partir de qualquer lugar, todo o tempo (LOPES; PILLA; YAMIN, 2007).

4.1.1

Aspectos Funcionais e Arquiteturais

De acordo com Yamin (YAMIN, 2004) o EXEHDA e um middleware que ` comp em o projeto ISAM (ISAM, 2009), dirigido para as aplicacoes distribudas, m veis o o e sensveis ao contexto da computacao ubqua. A seguir s o apresentadas premissas a a serem alcancadas na concepcao do EXEHDA. 4.1.1.1 Premissas de Pesquisa do EXEHDA

As principais premissas de pesquisa do middleware EXEHDA, s o apresentadas a considerando, a dinamicidade e heterogeneidade do ambiente de processamento, o con` trole da adaptacao, o suporte as mobilidades l gica e fsica e o suporte da sem ntica o a

29

siga-me. Dinamicidade e Heterogeneidade do Ambiente de Processamento A movimentacao do usu rio (mobilidade fsica), aspecto tpico da computacao a ubqua, determina a execucao de aplicacoes a partir de diferentes dispositivos e/ou pontos da rede global, nos quais a oferta e/ou disponibilidade dos recursos computacionais e vari vel. Disto decorre: a alta utuacao na banda passante disponvel para as comunicacoes; equipamentos de usu rios com grandes diferencas nos atributos de hardware e sisa tema operacional; diferentes infraestruturas para conex o a rede global. a `

Suporte a Sensibilidade ao Contexto A ger ncia da adaptacao pode surgir no limite de dois extremos: (i) no primeiro, e denominado laissez-faire, a aplicacao e respons vel por toda a adaptacao que ser re a a alizada; por sua vez, no segundo extremo, (ii) denominado application-transparent, o sistema e encarregado de gerenciar toda a adaptacao que vier a ocorrer. No entanto, ne nhuma dessas estrat gias pode ser considerada a melhor. Uma estrat gia diferente pode e e ser requerida para cada circunst ncia e/ou aplicacao. H situacoes, por exemplo, onde a a o c digo fonte da aplicacao n o est disponvel e a estrat gia a ser utilizada deve ser a o a a e application-transparent. Em outros casos, pode ser mais conveniente incluir apenas na aplicacao os mecanismos adaptativos, sem envolver o ambiente de execucao. Logo, a proposta para o EXEHDA e modelar um middleware que possibilite uma estrat gia coe laborativa com a aplicacao nos procedimentos de adaptacao. Deste modo, considerando a natureza da aplicacao, o programador poder denir a distribuicao de responsabilidades a entre a aplicacao e o middleware no processo de adaptacao. ` Suporte as Mobilidades L gica e Fsica o Genericamente computacao m vel se refere a um cen rio onde todos, ou alguns o a nodos que tomam parte no processamento, s o m veis. Desta denicao podem derivar dia o ferentes interpretacoes. Em um extremo, a mobilidade leva em conta as necessidades dos usu rios n mades, isto e, usu rios cuja conex o na rede ocorre de posicoes arbitr rias e a o a a a que n o cam permanentemente conectados. Em outro extremo, est o os usu rios m veis, a a a o os quais ret m a conectividade durante o deslocamento, tipicamente explorando conex es e o sem o. Sendo assim, a computacao m vel e caracterizada por tr s propriedades: mobili o e dade, portabilidade e conectividade.

30

Na proposta do EXEHDA estas propriedades oferecem dois desaos de pesquisa: (i) os segmentos sem o da rede global levantam novas condicoes operacionais, entre as quais se destaca a comunicacao intermitente. A ocorr ncia de desconex es de nodos no e o ambiente m vel, sejam estas volunt rias ou n o, e mais uma regra do que uma excecao; o a a (ii) a natureza din mica do deslocamento do hardware e do software na rede global ina ` ` troduz quest es relativas tanto a identicacao fsica dos nodos quanto a localizacao dos o componentes de software que migram. Estes desaos apontam para a necessidade de mecanismos din micos que realizem a o mapeamento dos componentes m veis, de modo a viabilizar sua localizacao e permitir o ` a interacao com os mesmos. Logo, o middleware para suporte a computacao ubqua deve levar em conta essas limitacoes, de modo que as aplicacoes n o percam sua consist ncia a e quando um componente de software migrar entre nodos da rede global, ou quando um nodo temporariamente n o estiver disponvel por estar desligado ou sem conex o, ou a a ainda trocar sua c lula de execucao em funcao do deslocamento. e O middleware dever viabilizar a sem ntica siga-me das aplicacoes ubquas. A a a localizacao e um fator determinante para os sistemas com mobilidade, pois a localidade inui signicativamente no contexto disponibilizado para os mecanismos de adaptacao. O contexto representa uma abstracao peculiar da computacao ubqua, e inclui informacoes sobre recursos, servicos e outros componentes do meio fsico de execucao. Nesta pers pectiva, o ambiente de execucao deve fornecer informacoes de contexto que extrapolam a localizacao onde o componente m vel da aplicacao se encontra. o Suporte a Sem ntica Siga-me a ` Segundo Yamin (YAMIN, 2004) proporcionar suporte a sem ntica siga-me e uma a das contribuicoes centrais do EXEHDA ao Projeto ISAM. No EXEHDA, este suporte e construdo pela agregacao de funcionalidades relativas ao reconhecimento de contexto, ao ` acesso pervasivo e a comunicacao. Como estrat gia para tratamento da complexidade as e sociada ao suporte da sem ntica siga-me, no EXEHDA e adotada a decomposicao das funa cionalidades de mais alto nvel, recursivamente, em funcionalidades mais b sicas. Nesta a otica , no EXEHDA o reconhecimento de contexto est relacionado com dois mecanisa mos: (i) um de monitoracao que permite inferir sobre o estado atual dos recursos e das aplicacoes, e (ii) outro que pode promover adaptacoes funcionais e n o funcionais, tendo a em vista o contexto monitorado. Entende-se por adaptacao n o-funcional a capacidade do sistema atuar sobre a a localizacao fsica dos componentes das aplicacoes, seja no momento de uma instanciacao do componente, seja, posteriormente, via migracao do mesmo. Ambas operacoes de mandam a exist ncia de mecanismo para instalacao sob demanda do c digo, assim como e o mecanismos para descoberta e alocacao din micas de recursos e acompanhamento de a

31

seu estado. J a adaptacao funcional consiste na capacidade do sistema atuar sobre a a selecao da implementacao do componente a ser utilizado em um determinado contexto ` de execucao. Novamente surge a necessidade do suporte a instalacao de c digo sob de o manda. A funcionalidade da instalacao sob demanda implica que o c digo a ser instalado o esteja disponvel em todos os dispositivos nos quais este venha a ser necess rio. Con a siderando as dimens es do ambiente ubquo, e impratic vel manter a c pia de todos os o a o possveis c digos em todos os eventuais dispositivos. Procede da a necessidade de um o mecanismo que disponibilize acesso ubquo ao reposit rio de c digo, mecanismo este, o o que deve considerar fortemente o aspecto escalabilidade. O aspecto de mobilidade, tanto ` dos componentes das aplicacoes quanto do usu rio, inerente a sem ntica siga-me, faz-se a a necess ria uma estrat gia de comunicacao caracterizada pelo desacoplamento espacial e a e temporal. 4.1.1.2 Organizacao do EXEHDA

O middleware EXEHDA tem como objetivo denir a arquitetura para um ambi` ente de execucao destinado as aplicacoes da computacao ubqua, no qual as condicoes ` de contexto s o pr -ativamente monitoradas, e o suporte a execucao deve permitir que a o tanto a aplicacao como ele pr prio utilizem estas informacoes na ger ncia da adaptacao o e de seus aspectos funcionais e n o-funcionais. Entende-se por adaptacao funcional aquela a que implica a modicacao do c digo sendo executado. Por sua vez, adaptacao n o fun o a cional, e aquela que atua sobre a ger ncia da execucao distribuda. Tamb m a premissa e e siga-me das aplicacoes ubquas dever ser suportada, garantindo a execucao da aplicacao a do usu rio em qualquer tempo, lugar e dispositivo (YAMIN, 2004). a As aplicacoes alvo s o distribudas, adaptativas ao contexto em que executam e a compreendem a mobilidade l gica e a fsica. Na perspectiva do EXEHDA, entende-se o por mobilidade l gica a movimentacao entre dispositivos de artefatos de software e seu o contexto, e por mobilidade fsica o deslocamento do usu rio, portando ou n o seu dispo a a sitivo (ISAM, 2009). Arquitetura de Software A arquitetura de software do middleware EXEHDA apresentada na gura 5.1. Os principais requisitos que o EXEHDA deve atender s o: (i) gerenciar tanto aspectos a n o funcionais como funcionais da aplicacao, e de modo independente, (ii) dar suporte a ` a adaptacao din mica de aplicacoes; (iii) disponibilizar mecanismos para obter e tratar a informacoes de contexto; (iv) empregar informacoes de contexto na tomada de decis es, o (iv) decidir as acoes adaptativas de forma colaborativa com a aplicacao e (v) disponibilizar a sem ntica siga-me, permitindo ao usu rio o iniciar as aplicacoes e o acesso a dados a a a partir de qualquer lugar, e a execucao contnua da aplicacao mesmo em deslocamento.

32

Figura 4.1: Arquitetura de Software do Middleware EXEHDA (YAMIN, 2004)

Ambiente Ubquo Disponibilizado O ambiente ubquo equivalente ao ambiente computacional onde recursos e servicos s o gerenciados pelo EXEHDA com o prop sito de atender os requisitos da a o computacao ubqua. A composicao deste ambiente envolve tanto os dispositivos dos usu rios, como os equipamentos da infraestrutura de suporte, todos instanciados pelo seu a respectivo perl de execucao do middleware. A integracao dos cen rios da computacao a em grade, da computacao m vel e da computacao sensvel ao contexto, e mapeada em o uma organizacao composta pelo conjunto de c lulas de execucao do EXEHDA, conforme e pode ser observado na gura 4.2 (ISAM, 2009). O meio fsico sobre o qual o ambiente ubquo e denido constitui-se por uma rede infra estruturada, cuja composicao nal pode ser alterada pela agregacao din mica a de nodos m veis. Os recursos da infraestrutura fsica s o mapeados para tr s abstracoes o a e b sicas, as quais s o empregadas na composicao do ambiente ubquo (YAMIN, 2004): a a EXEHDAcels: indica a area de atuacao de uma EXEHDAbase, e e composta por esta e por EXEHDAnodos. Os principais aspectos considerados na denicao da abrang ncia de uma c lula s o: o escopo institucional, a proximidade geogr ca e e e a a o custo de comunicacao; EXEHDAbase: e o ponto de converg ncia para os EXEHDAnodos. E respons vel e a por todos os servicos b sicos do ambiente ubquo e, embora constitua uma re a fer ncia l gica unica, seus servicos, sobretudo por aspectos de escalabilidade, e o poder o estar distribudos entre os v rios dispositivos; a a EXEHDAnodo: s o os dispositivos de processamento disponveis no ambiente a ubquo, sendo respons veis pela execucao das aplicacoes. Um subcaso deste tipo de a

33

recurso e o EXEHDAnodo m vel. S o os nodos do sistema com elevada portabilio a dade, tipicamente dotados de interface de rede para operacao sem o e, neste caso, integram a c lula a qual seu ponto-de-acesso est subordinado. S o funcionalmente e a a an logos aos EXEHDAnodos, por m eventualmente com uma capacidade mais lima e itada (por exemplo, PDAs). O ambiente ubquo e formado por dispositivos multi-institucionais, o que gera a necessidade de adotar procedimentos de ger ncia iguais aos utilizados em ambie entes de grade computacional (Grid Computing) (YAMIN, 2004). O gerenciamento da organizacao celular do ambiente ubquo resguarda a autonomia das instituicoes en volvidas. Apesar de n o contemplar mecanismos de ger ncia especcos para recura e sos especializados como impressoras, scanners, dentre outros o EXEHDA permite a catalogacao de tais recursos como integrantes de uma determinada c lula do ambiente e ubquo, tornando-os, desta forma, passveis de serem localizados dinamicamente e serem utilizados pelas aplicacoes ubquas.

Figura 4.2: Ambiente Ubquo Suprido pelo EXEHDA (YAMIN, 2004)

Composicao de Servicos A prerrogativa de operacao em um ambiente altamente heterog neo, onde n o e a s o hardware exibe capacidades variadas de processamento e mem ria, mas tamb m o o e as bibliotecas de software disponveis em cada dispositivo, motivaram a adocao de uma abordagem na qual um n cleo mnimo do middleware tem suas funcionalidades estendiu das por servicos carregados sob demanda. Esta organizacao retrata um padr o de projeto a referenciado na literatura como microkernel. Some-se a isto o fato de que esta carga sob demanda tem perl adaptativo. Deste modo, poder ser utilizada vers o de um detera a ` minado servico, melhor sintonizada as caractersticas do dispositivo em quest o. Isto e a

34

possvel porque, na modelagem do EXEHDA, os servicos est o denidos por sua inter a face, e n o pela sua implementacao propriamente dita. a ` A contraproposta a estrat gia microkernel de um unico bin rio monoltico, cujas e a funcionalidades cobrissem todas as combinacoes de necessidades das aplicacoes e dispo sitivos, se mostra invi vel na computacao ubqua, cujo ambiente computacional apresenta a uma alta heterogeneidade de recursos de processamento. Entretanto, o requisito do middleware de manter-se operacional durante os perodos de desconex o planejada motivou, al m da concepcao de primitivas de a e comunicacao adequadas a esta situacao, a separacao dos servicos que implementam operacoes de natureza distribuda em inst ncias locais ao EXEHDAnodo (inst ncia a a nodal), e inst ncias locais a EXEHDAbase (inst ncia celular). Neste sentido, o relacionaa a ` mento entre inst ncia de nodo e celular assemelha-se a estrat gia de proxies, enquanto a e que o relacionamento entre inst ncias celulares assume um car ter P2P (Peer-to-Peer). a a A abordagem P2P nas operacoes intercelulares vai ao encontro do requisito de escala bilidade. Uma organizacao dos subsistemas do EXEHDA pode ser observada na gura 4.3;

Figura 4.3: Organizacao dos Subsistemas do EXEHDA (YAMIN, 2004)

Sendo assim, os componentes da aplicacao em execucao em determinado disposi tivo podem permanecer operacionais, desde que, para satisfacao de uma dada requisicao pelo middleware, o acesso a um recurso externo ao dispositivo seja prescindvel. Por outro lado, a inst ncia celular, em execucao na base da c lula, prov uma refer ncia para a e e e os outros recursos, no caso da realizacao de operacoes que requeiram coordenacao dis tribuda. Portanto, observe-se que a EXEHDAbase e, por denicao, uma entidade est vel a dentro da EXEHDAcel, permitindo que os demais integrantes (recursos) da c lula tenham e um car ter mais din mico com relacao a sua disponibilidade (presenca est vel) na c lula. a a a e

35

4.2

EXEHDA-SS

O EXEHDA-SS (VENECIAN, 2010) constitui uma recente contribuicao ao Sub sistema de Reconhecimento de Contexto e Adaptacao, tendo sido concebido para qua licar o mecanismo de sensibilidade ao contexto. O mesmo e uma parte importante na arquitetura de software do uMED. O mecanismo concebido utiliza o ambiente ubquo promovido pelo middleware EXEHDA (YAMIN, 2004). Este se prop em a integracao de tecnologias de suporte o sem ntico em mecanismo de sensibilidade ao contexto, desde a sua aquisicao, processaa mento e distribuicao das informacoes contextuais, direcionado a computacao ubqua. E denomina-se EXEHDA-SS (Suporte Sem ntico) (VENECIAN, 2010). a O EXEHDA-SS (VENECIAN, 2010) foi concebido para ser respons vel pelo a tratamento das informacoes contextuais, realizando tarefas de manipulacao e deducao sobre o contexto, utilizando ontologias para suporte a representacao e processamento das informacoes contextuais. Atrav s do uso de infer ncias ser possvel um rena e e a mento qualicado dessas informacoes capturas e distribudas nas c lulas de execucao do e EXEHDA.

4.2.1

Concepcao e Modelagem do EXEHDA-SS

Na continuidade ser tratado o modelo de representacao de contexto do ambiente a ubquo e a arquitetura de software proposta para sensibilidade ao contexto, personaliz vel a por componentes de software das aplicacoes com suporte a processamento sem ntico do a EXEHDA-SS.

4.2.2

Modelo de Representacao de Contexto

Na concepcao do EXEHDA-SS, foi preferido o uso de ontologias como meca nismo para representacao e processamento de contexto (VENECIAN, 2010). Ontologias t m sido largamente utilizadas em areas como gerenciamento de conte do, conhecimento e u e com rcio eletr nico. De um modo geral, ontologias t m sido usadas para represene o e tar ambientes ubquos, descrevendo, comumente, entidades envolvidas e suas respectivas propriedades. Elas denem principalmente os diferentes tipos de aplicacoes, servicos, dispositivos, sensores, entre outros. Conforme Venecian (VENECIAN, 2010) as ontologias no EXEHDA-SS s o ema pregadas sob duas perspectivas: (i) representacao sem ntica dos dados contextuais e (ii) o a estabelecimento de relacoes entre os mesmos, possibilitando a realizacao de infer ncias. e Atrav s do uso de infer ncias espera-se contribuir para qualicacao das informacoes cone e textuais a serem entregues aos demais servicos do EXEHDA e/ou aplicacoes que tenham interesse em manipulacao de dados contextuais.

36

Como n cleo do modelo sem ntico para representacao de contexto e utilizado, a u a OntContext, ontologia respons vel pela representacao dos contextos coletados, noticaa dos e das inst ncias dos contextos de interesse das aplicacoes. A OntContext, gura 4.4, a e empregada pelo Servidor de Contexto do EXEHDA-SS para prover suporte sem ntico a ontol gico nas tarefas de deducao utilizando informacoes contextuais. o Na estrututa de classes da OntContext, foi denida a classe Sensor, no qual cont m e as inst ncias dos sensores que participam do sensoramento do ambiente ubquo provido a pelo middleware. A seguir s o detalhadas as demais classes e subclasses que comp em a a o OntContext. Classes, Subclasses e Atributos para Coleta e Noticacao de Contextos Contexto: A classe contexto respons vel por armazenar os dados coletados pelo a sensores como: identicador do nodo, data/hora, usu rio, identicador do contexto a de interesse, sensor, valor coletado pelo sensor e valor que ocorreu traducao. e Contexto Noticado: Esta classe cont m os contextos noticados com os seguintes atributos: identicador, aplicacao, componente, adaptador e usu rio. a ContextoNoticado Sensor: Esta subclasse possui identicacao e o sensor que gerou uma noticacao, al m do valor coletado pelo respectivo sensor, identicador e do nodo e valor traduzido. ContextoNoticado Deduzido: S o armazenados nesta subclasse os identicadores a das regras de deducao e valores deduzidos. A classe Contexto Noticado e as subclasses ContextoNoticado Sensor e ContextoNoticado Deduzido armazenam as informacoes contextuais processadas e deduzi das. Classes e Atributos do Contexto de Interesse das Aplicacoes Contexto Interesse: Cont m o identicador, aplicacao, componente e adaptador. e Sensor Public: Dene os par metros operacionais dos sensores, como: intervalo do a tempo de medicacao, taxa de utuacao mnima dos dados a serem publicados, valor inferior e superior, valor default do sensor, regra para traducao de dados coletados e n mero m ximo de publicacoes. u a Contexto Deduzido: Fazem parte desta classe os atributos identicador e a regra de deducao. Essas regras s o processadas pelo Motor de Infer ncia do Gerente de a e Interpretacao do EXEHDA-SS.

37

Figura 4.4: Classes da OntContext (VENECIAN, 2010)

4.2.3

Arquitetura de Software do EXEHDA-SS

Segundo Venecian (VENECIAN, 2010) a arquitetura de software do EXEHDA-SS e direcionada ao processamento das informacoes contextuais fazendo o uso de tecnologias de suporte sem ntico nas funcionalidades de aquisicao, processamento e distribuicao das a informacoes de contexto processadas. Desta forma, o EXEHDA-SS e alimentado por contextos de interesses das aplicacoes. Esses contextos de interesses s o respons veis por caracterizar os aspectos a a que devem ser considerados nos procedimentos de monitoracao do ambiente ubquo, de interpretacao destes dados capturados e das respectivas noticacoes. O Servidor de Contexto e composto por tr s servicos: O Gerente de Aquisicao, e Gerente de Interpretacao e Gerente de Noticacao. Esses gerentes s o aut nomos e co a o operantes para a realizacao de tarefas de manipulacao e deducao sobre o contexto. Assim, o EXEHDA-SS mostra-se alinhado para prover suporte sem ntico nas a tarefas de aquisicao e noticacao das informacoes contextuais aos demais servicos do EXEHDA e/ou as aplicacoes.

4.3

L gica Fuzzy o

Nesta secao ser o abordadas as principais caractersticas da L gica Fuzzy, essas a o caractersticas nos levam a conclus o de que esta t cnica nos dar o suporte necess rio a e a a para a construcao de um m dulo escalonador a ser integrado ao Projeto EXEHDA. o

38

4.3.1

L gica Fuzzy Revisitada o

A reproducao de caractersticas inteligentes em m quinas construdas pelo homem a e um dos objetivos mais perseguidos pela comunidade cientca e tecnol gica j h muito o a a tempo. Desde ent o, muitos paradigmas simb licos de aprendizagem surgiram, e muitos a o se desenvolveram como m todos computacionais poderosos, incluindo aquisicao indutiva e de conceitos, sistemas classicadores, e aprendizagem baseada em explicacoes. A L gica o Fuzzy pode ser aceita como a melhor ferramenta para modelar o raciocnio humano, que e aproximado e parcial em sua ess ncia. A teoria dos conjuntos fuzzy e a l gica fuzzy e o objetivam modelar os modos de representacao e raciocnio imprecisos que t m um papel e essencial na tomada de decis es racionais em ambientes de imprecis o e incerteza. Al m o a e disso, a diversicacao de tecnologias advindas da l gica fuzzy tem tamb m permitido sua o e aplicacao em diversas areas do conhecimento. T cnicas de sistemas fuzzy s o especialmente utilizadas nos casos onde n o exise a a tem modelos matem ticos capazes de descrever precisamente o processo estudado. Estas a t cnicas fornecem uma estrutura poderosa para manipular informacoes aproximadas. Ase sim, o processo analisado pode ser controlado a partir de um conjunto de regras fuzzy do tipo se ... ent o, capaz de tratar conhecimentos incompletos, incertos ou mesmo a conitantes. A teoria de modelagem e identicacao fuzzy trata do relacionamento entre entradas e sadas, agregando v rios par metros de processo e de controle. Os sistemas a a resultantes proporcionam resultados mais precisos, al m de um desempenho est vel e roe a busto. Advinda do conceito de conjuntos fuzzy, a l gica fuzzy constitui a base para o o desenvolvimento de m todos e algoritmos de modelagem e controle de processos, pere mitindo a reducao da complexidade de projeto e implementacao, tornando-se a solucao para problemas de identicacao at ent o intrat veis por t cnicas cl ssicas. Nas teorias e a a e a de identicacao cl ssica e moderna, o passo inicial para implementar a identicacao de a um processo e denir o modelo matem tico que o descreve. Esta metodologia requer que a se conheca detalhadamente o processo a ser identicado, o que nem sempre e factvel se o processo e muito complicado ou nas situacoes onde um volume consider vel de a informacoes essenciais s e conhecido a priori de forma qualitativa, ou ainda quando o crit rios de desempenho s est o disponveis em termos ling sticos. Este panorama leva e o a u a imprecis es e falta de exatid o que inviabilizam a maioria das t cnicas tradicionais. o a e As modelagens fuzzy, por outro lado, s o t cnicas para se manusear informacoes a e qualitativas de uma maneira rigorosa. Tais t cnicas consideram o modo como a falta e de exatid o e a incerteza s o descritas e, por isso, tornam-se sucientemente poderosas a a para manipular de forma conveniente o conhecimento. A sua utilizacao em sistemas que operam em tempo real, em computadores ou micro-controladores, e tamb m das mais e convenientes, pois geralmente n o envolvem nenhum problema computacional s rio. a e Para expressar conceitos ou acoes fuzzy e muito comum o uso de elementos

39

qualitativos ao inv s de valores quantitativos. Elementos tpicos incluem termos alto, e m dio, pequeno, mais ou menos, em torno de, etc. Estas id ias s o capturadas e e a pela denicao de vari vel ling stica. Uma vari vel ling stica tem por caracterstica a u a u assumir valores dentro de um conjunto de termos ling sticos, ou seja, palavras ou u frases. Assim, ao inv s de assumir inst ncias num ricas, uma vari vel ling stica assume e a e a u inst ncias ling sticas. Como exemplo, uma vari vel ling stica Temperatura poder asa u a u a sumir como valor um dos membros do conjunto de termos muito baixa, baixa, m dia, alta, e muito alta. Para se atribuir um signicado aos termos ling sticos, e associado cada um u destes a um conjunto fuzzy denido sobre um universo de discurso comum que fornece a faixa de variacao da vari vel ling stica. a u Uma das formas mais comum de expressar este conhecimento e por meio de regras do tipo condicao-acao, onde um conjunto de condicoes descrevendo uma parcela observ vel das sadas do processo e associado com uma acao de controle que ir manter a a ` ou levar o processo as condicoes de operacao desejadas. Normalmente, uma condicao e uma proposicao ling stica (envolvendo vari veis ling sticas) sobre os valores de algu u a u mas das vari veis de entrada; e uma acao e simplesmente uma descricao ling stica. Asa u sim, todo o conhecimento e representado por meio de um conjunto de regras nas quais as ` condicoes s o dadas a partir de um conjunto de termos ling sticos associados as vari veis a u a de sada/entrada do processo. As respostas do sistema de controle ou as sadas fuzzy s o a expressas de modo similar para cada vari vel de controle (sada). a Ap s o processo de infer ncia da acao fuzzy, a determinacao da acao de estimacao o e n o-fuzzy que melhor represente a decis o fuzzy e calculada e enviada efetivamente ao a a sistema de identicacao.

4.3.2

L gica fuzzy aplicada no escalonamento de tarefas o

Conforme denido em (ZIMMERMANN, 1996), problemas que lidam com grandezas que n o tenham crit rios precisos para deni-las podem ser resolvidos com a e m todos existentes na teoria de conjuntos fuzzy, como n meros fuzzy e otimizacao fuzzy. e u E importante observar que apesar da teoria de conjuntos fuzzy lidar com grandezas incertas h toda uma base matem tica que permite os estudos precisos e rigorosos dos a a fen menos relacionados com essas grandezas. o A teoria de conjuntos fuzzy prov uma forma de representar valores que n o s o e a a determinsticos. Por exemplo, um usu rio que n o tenha certeza sobre a quantidade de a a bytes que ser o transferidos entre duas tarefas da sua aplicacao pode representar essa a grandeza como um n mero fuzzy. Ao inv s de um unico valor B (B IR), o usu rio u e a pode descrever o n mero fuzzy B como sendo o conjunto de pares ordenados {(b,B (b))|b u IR} com B [0, 1]. Valores de B (b) mais pr ximos de 1 est o associados a valores o a de b com uma certeza maiorpor parte do usu rio. a

40

A solucao matem tica dos conjuntos fuzzy dene diversos tipos de c culo que a a podem ser realizados com n meros fuzzy. E possvel realizar operacoes b sicas como u a adicao e subtracao e at mesmo descrever problemas de otimizacao complexos. A adocao e de n meros fuzzy na descricao do problema de escalonamento combina com a exist ncia u e de incertezas nas informacoes de entrada fornecidas aos escalonadores. Com base nesses dados ser proposto um m dulo de escalonamento baseado em conjuntos fuzzy. Neste a o ` escalonador, as incertezas referentes as informacoes dever o ser passadas como entradas a representadas atrav s da utilizacao de n meros fuzzy. e u E importante observar que as incertezas presentes nas informacoes n o podem a ser confundidas com valores aleat rios. A teoria da probabilidade e util para modelar o situacoes nas quais h uma regularidade na ocorr ncia dos eventos. Nesse caso e a reg a e ularidade que permite que eventos sejam descritos por distribuicoes de probabilidade, o que n o ocorre nos cen rios descritos neste Projeto de Graducao. A descricao das demana a das de recursos atrav s de distribuicoes de probabilidade, por exemplo, exigiria execucoes e pr vias da aplicacao, e

4.4

Consideracoes sobre o Captulo

Este captulo apresentou uma sucinta descricao do middleware EXEHDA, do servico chamado EXEHDA-SS, bem como da l gica fuzzy e de sua aplicacao a um o m dulo de escalonamento de recursos a ser desenvolvido no PG2. o

41

5 EXEHDA-FL: VISAO GERAL E TECNOLOGIAS


Este captulo introduz as premissas gerais do M dulo Chamado EXEHDA Fuzzy o Logic, que ser desenvolvido no PG2 e no qual ser o aplicados os conceitos introduzidos a a por este Progeto de Graduacao. Ser apresentada tanto a vis o geral, como as tecnologias a a previstas para o desenvolvimento do mesmo.

5.1

Vis o Geral a

A falta de controle centralizado e o fato das aplicacoes n o se apropriarem de re a cursos das grades torna necess ria a construcao de mecanismos que informem a disponia bilidade dos recursos de tempos em tempos para os escalonadores de tarefas. Somente com uma vis o atualizada do estado da grade e possvel estimar o tempo de execucao a das aplicacoes e garantir que os escalonamentos encontrados sejam de fato pr ximos do o otimo. Por m, n o basta monitorar a grade em intervalos de tempo curtos. A qualidade e a a das ferramentas e t o importante quanto o perodo de monitoramento. O ideal seria que houvessem ferramentas de monitoramento que n o injetassem nenhuma carga na grade e a que em um intervalo de tempo igual a zero devolvessem informacoes exatas a respeito da disponibilidade de todos os recursos da grade. Entretanto, tal ferramenta n o existe. As a ferramentas atuais fornecem estimativas da disponibilidade do recurso e essas estimativas s o utilizadas pelos escalonadores para a derivacao dos escalonamentos. a Na realidade, mesmo que houvessem ferramentas ideais para o monitoramento dos recursos da grade ainda haveria um problema. Como os recursos s o compartilhados a por diversos usu rios e podem entrar e sair da grade de forma assncrona, as suas disponia bilidades variam com o passar do tempo. N o h nenhuma garantia de que uma estimativa a a feita no instante de tempo t ser v lida no instante t + t. a a A forma mais comum de tratar as incertezas na disponibilidade dos recursos das grades costuma ser por (frameworks baseados em medicoes, reescalonamentos e

42

migracoes de tarefas. Caso sejam detectadas mudancas signicativas no estado dos re ` cursos da grade, a aplicacao e reescalonada, o que pode levar a migracao de tarefas que j a estejam executando. Outra forma de tratar as incertezas no estado dos recursos e atrav s e do monitoramento do tempo de execucao das tarefas que comp em as aplicacoes. Caso o as tarefas executem em intervalos de tempo diferentes dos esperados, elas s o reescalona adas. Estas solucoes consideram que mudancas nos tempos de execucao s o causadas pela a variacao na capacidade disponvel dos recursos ou por informacoes incorretas a cerca das demandas das aplicacoes. Assim, estas solucoes s o dependentes de ferramentas de mo a nitoramento precisas. De acordo com (BATISTA, 2010) a utilizacao de mecanismos baseados em medicoes, reescalonamentos e migracoes causa dois problemas. O primeiro e con sequ ncia do monitoramento frequente, dado que a injecao de tr fego na grade aumenta o e a nvel de incerteza. O segundo e consequ ncia dos reescalonamentos de tarefas dado que e migracoes desnecess rias podem aumentar o tempo de execucao das aplicacoes. a

Figura 5.1: M dulo-FL integrado a Arquitetura de Software do Middleware o EXEHDA (YAMIN, 2004) Como n o e suciente considerar a exist ncia de mecanismos ideais para o moa e nitoramento das grades e como a carga extra da migracao pode acarretar no aumento do tempo de execucao das aplicacoes, a implementacao de um escalonador de tarefas que ` seja robusto as incertezas presentes nas informacoes de disponibilidade de recursos deve ser considerada. E exatamente esse m dulo para tomada de decis es que nos propomos a deseno o

43

volver, e que aqui chamamos de EXEHDA-Fuzzy Logic. Portanto tratar-se-` de um a m dulo que dar suporte a um escalonador de tarefas que tenha mecanismos para lio a dar com as incertezas nas informacoes sobre disponibilidade dos recursos. O que dever a representar um avanco nos mecanismos de alocacao de recursos em grades do middle ware EXEDA. Na gura 5.1 mostra-se a exata localizacao do referido m dulo dentro do o middleware EXEHDA.

5.2

Tecnologias Previstas

Para desenvolvimento do m dulo proposto pretende-se usar a Plataforma Java, o al m de um Servidor Apache e o SGBD PostgreSQL. e

5.2.1

Plataforma Java

A escolha da plataforma e da linguagem de desenvolvimento e um passo de grande import ncia para quest es de compatibilidade, principalmente em cen rios ubquos, onde a o a existe uma alta heterogeneidade de dispositivos de hardware e sistemas de software. Segundo (ARAUJO, 2003), a independ ncia de plataforma que Java oferece, a e grande quantidade de bibliotecas disponveis e a exist ncia de m quinas virtuais embuti e a das em v rios dispositivos tornou a linguagem Java uma tecnologia chave para o desena volvimento de software na Computac o Ubqua. a Dentre outros aspectos oportunos da utilizac o da linguagem Java est o: portaa a bilidade, seguranca, suporte nativo a concorr ncia, produtividade no desenvolvimento es e truturado de software (YAMIN, 2004; WARKEN, 2010). Ainda pode-se destacar ampla aceitacao. Alguns dos aspectos citados acima, ser o descritos a seguir. a

5.2.2

Servidor Web Apache

No acesso a um determinado site, h um servidor respons vel executando no a a endereco desse site, disponibilizando p ginas e todos os demais recursos acessveis. Em a sites de compra, por exemplo, existe um servidor WEB, ou um conjunto de servidores, processando todas as informacoes das compras sendo realizadas (APACHE, 2010). Servidor WEB e um computador que processa solicitacoes HTTP (Hyper-Text Transfer Protocol), o protocolo padr o da WEB. Os navegadores de internet, exemplo a o Internet Explorer, ao acessar um site realizam solicitacoes ao servidor WEB do site atrav s do HTTP, recebendo depois o conte do correspondente. e u O servidor Apache, ou servidor HTTP Apache (em ingl s: Apache HTTP Server), e e o servidor WEB mais conhecido e utilizado no mundo, devido a sua excelente performance, seguranca, compatibilidade com diversas plataformas e todos os recursos que o mesmo possui. Al m do protocolo HTTP ele executa outros protocolos, tais como HTTPS e

44

(o HTTP combinado com a camada de seguranca SSL - Secure Socket Layer), o FTP (File Transfer Protocol), entre outros. Criado em 1995, no NCSA (National Center of Supercomputing Applications) atrav s do trabalho de Rob McCool. Ao sair da NCSA, McCool parou de trabalhar no e projeto, que na epoca era chamado justamento de NCSA. Com isso, v rias pessoas e a grupos passaram a adaptar o servidor WEB para suas necessidades. No entanto foram Brian Behlendorf e Cliff Skolnick os principais respons veis pela retomada do projeto, a e logo em seguida contariam com o apoio de Brandom Long e Beth Frank, que tinham a tarefa de continuar o desenvolvimento do servidor, mas pela NCSA, demorando pouco tempo para unirem-se ao Apache Group (APACHE, 2010). A origem da Fundacao Apache (Apache Foundation) da parceria de Brian e Cliff, que passaram a controlar patches(adicao de recursos ou correcoes) atrav s de uma lista e de discuss o. Atrav s dessa listas o grupo foi formado, constitudo inicialmente por 8 a e pessoas. Existem v rias explicacoes para o nome da fundacao, sendo a explicacao mais a el a hist ria do projeto a de o nome ter sido caracterizado pelo uso de patches, que o poder ser interpretado atrav s de um trocadilho com a express o em ingl s a patchy. e a e No entanto, segundo os desenvolvedores do servidor, o nome e baseado em um tribo americana de nome Apache. O Apache Server e um software livre, o que signica que qualquer um pode estudar ou alterar seu c digo-fonte, al m de poder utiliz -lo gratuitamente. Gracas a essa o e a caracterstica o Apache continua evoluindo ao passar dos anos. Al m de estar disponvel para o sistema operacional Linux e para outros baseados e em Unix, o Apache tamb m conta com vers es para o Windows, para o Novell Netware e e o para o OS/2, tornando-o uma otima opcao para rodar em computadores obsoletos, desde que os mesmo atendam aos requisitos mnimos de hardware. Possui capacidade de ex ecuta c digo em Ruby, PHP, Perl, Shell Script e at em ASP. A exig ncia de hardware o e e do Apache depende de sua aplicacao, caso for em ambientes corporativos pequenos a exig ncia e pouca, mas ao se tratar de site na internet e interessante possui computadores e poderosos o suciente para a atender o nvel de acesso (APACHE, 2010). Resumidamente, as principais caractersticas do servidor Apache, baseadas na extracao do Guia Foca Linux (FOCALINUX, 2007), s o: a suporte a scripts cgi usando linguagens como Ruby, Perl, PHP, Shell Script, ASP, etc; suporte a autorizacao de acesso podendo ser especicadas restricoes de acesso se paradamente para cada endereco/arquivo/diret rio acessado no servidor; o autenticacao requerendo um nome de usu rio e senha v lidos para acesso a alguma a a p gina/sub-diret rio/arquivo (suportando criptograa via Crypto e MD5); a o

45

negociacao de conte do, permitindo a exibicao da p gina Web no idioma requisi u a tado pelo Cliente Navegador; suporte a tipos mime; personalizacao de logs; mensagens de erro; suporte a virtual hosting ( possvel servir 2 ou mais p ginas com enderecos/ portas e a diferentes atrav s do mesmo processo ou usar mais de um processo para controlar e mais de um endereco); suporte a IP virtual hosting; suporte a name virtual hosting; suporte a servidor Proxy FTP e HTTP, com limite de acesso, caching (todas exivelmente congur veis); a suporte a proxy e redirecionamentos baseados em URLs para enderecos Internos; suporte a criptograa via SSL,Certicados digitais; m dulos DSO (Dynamic Shared Objects) permitem adicionar/remover funcionalio dades e recursos sem necessidade de recompilacao do programa. Em uma pesquisa realizada em dezembro de 2007 descobriu-se que 47.20% dos servidores ativos no mundo utilizam o Apache (APACHE, 2010).

5.2.3

Banco de Dados PostgreSQL

O PostgreSQL e um sistema gerenciador de banco de dados objeto-relacional (SGBDOR) de c digo aberto, apontado como um dos mais avancados SGBDOR da atuo alidade, coordenado pelo PostgreSQL Global Development Group. Surgiu de uma ampla evolucao iniciada na Universidade de Berkeley, Calif rnia, atrav s de um projeto deno o e minado Ingres. Em 1989 foi liberada sua primeira vers o para um grupo pequeno de a usu rios. Ap s a vers o 4, lancada em 1993, o projeto foi ocialmente abandonado pela a o a universidade. Entretanto, por seu c digo-fonte estar sob a licenca BSD (Berkeley Softo ware Distribution), alguns estudantes continuaram seu desenvolvimento. Ap s uma s rie o e de mudancas signicativas, em 1996, o projeto foi renomeado para PostgreSQL, sendo lancada a vers o 6.0, liberada em janeiro de 1997. Desde ent o, um grupo de desenvolve a a dores e volunt rios de todo o mundo, coordenados pela Internet, mant m e desenvolve a e novas funcionalidades para o software (POSTGRESQLBR, 2010).

46

O PostgreSQL possui uma arquitetura que ao longo do tempo ganhou forte reputacao de conabilidade, integridade de dados e conformidade a padr es. Sua o compatibilidade abrange os principais sistemas operacionais, incluindo MS Windows, GNU/Linux, alguns Unix, exemplo Mac OS X e Solaris. Dentre os principais recursos disponveis, alguns recebem destaque: totalmente compatvel com ACID (Atomicidade, Consist ncia, Isolamento e Dura e bilidade); suporte completo a chaves estrangeiras (FKs), juncoes (JOINs), vis es (VIEWs), o gatilhos (Triggers) e procedimentos (Procedures) armazenados (em m ltiplas linu guagens - PL/pgSQL, PL/Python, PL/Java, PL/Perl); inclui a maior parte dos tipos de dados do ISO SQL:1999, INTEGER, NUMERIC, BOOLEAN, CHAR, VARCHAR, DATE, INTERVAL, e TIMESTAMP; suporta tamb m o armazenamento de objetos bin rios, incluindo guras, sons ou e a vdeos; possui interfaces nativas para as linguagens de programacao Ruby, C/C++, Java, .Net, Perl, Python, Tcl, ODBC, entre outros; possui estrutura para armazenar dados Georeferenciados PostGIS; possui grande volume de documentacao. Como um banco de dados de nvel corporativo, o PostgreSQL possui funcional idades sosticadas como controle de concorr ncia multiversionado (MVCC, do ingl s), e e recuperacao em um ponto no tempo (PITR em ingl s), tablespaces, replicacao assncrona, e transacoes agrupadas (savepoints), c pias de seguranca a quente (online/hot backup), o um sosticado planejador de consultas (otimizador) e registrador de transacoes sequen cial (WAL) para toler ncia a falhas. Suporta conjuntos de caracteres internacionais, a codicacao de caracteres multibyte, Unicode e sua ordenacao por localizacao, sensibil idade a caixa (mai sculas e min sculas) e formatacao. E altamente escal vel, tanto na u u a quantidade enorme de dados que pode gerenciar, quanto no n mero de usu rios concoru a rentes que pode acomodar. Segundo o site ocial do projeto, existem sistemas ativos com o PostgreSQL em ambiente de producao que gerenciam mais de 4TB de dados. Alguns limites do PostgreSQL est o includos na tabela 5.1. a A aceitacao do PostgreSQL vem conquistando n o somente a comunidade de a a c digo aberto. Sua lista de usu rio inclui grandes empresas internacionais, org os goo a vernamentais de v rios pases e universidades de prestgio mundial (POSTGRESQLBR, a 2010).

47

Caracterstica

Tabela 5.1: Limite valor Valor


Ilimitado 32 TB 1.6 TB 1 GB Ilimitado 250 -1600 dependendo do tipo de coluna Ilimitado

Tamanho M ximo do Banco de Dados a Tamanho m ximo de uma Tabela a Tamanho M ximo de uma Linha a Tamanho M ximo de um Campo a M ximo de Linhas por Tabela a M ximo de Colunas por Tabela a M ximo de a Indices por Tabela

5.3

Consideracoes sobre o captulo

Neste captulo foi feita uma descricao sucinta do m dulo EXEHDA-FL que dever o a ser desenvolvido de acordo com o cronograma descrito no nal deste trabalho. Tamb m e foram descritas as tecnologias que dever o ser utilizadas, abordando-as resumidamente, a de forma a transparecer seus principais atributos.

48

CONSIDERACOES FINAIS

Neste captulo ser o apresentadas as principais conclus es dos estudos realizados a o com relacao ao middleware EXEHDA, computacao Ubqua e L gica Fuzzy, bem como o ser apresentado o cronograma de trabalho que est sendo seguido para a realizacao deste a a Trabalho de Conclus o de Curso. a

6.1

Principais Conclus es o

Na Computacao Ubqua um aspecto fundamental est relacionado ao monito a ramento e a manipulacao das informacoes contextuais. Neste sentido, a Computacao Sensvel ao Contexto e um paradigma computacional que permite que as aplicacoes ` acessem e tirem vantagem de informacoes que digam respeito as computacoes que re alizam, com intuito de otimizar seu processamento. Em Computacao Sensvel ao Contexto, v rias pesquisas culminam em propostas a de infra-estruturas para suportar o desenvolvimento de aplicacoes que antecipem as neces sidades dos usu rios e reajam automaticamente diante de uma situacao, de forma pouco a intrusiva. Um sistema dito sensvel ao contexto utiliza do mesmo para prover informacoes ou servicos ao usu rio. Suas aplicacoes s o capazes de modicar seu comporta a a mento baseado nas informacoes de contexto ou s o aplicacoes que mostram ao usu rio a a informacoes de contexto. Para a realizacao desta tarefa deve existir uma interacao entre o controle da ` adaptacao, o suporte as mobilidades l gica e fsica e o suporte da sem ntica siga-me. o a Nessa perspectiva nasce a necessidade de se criar um m dulo para tomada de decis es o o capaz de trabalhar em um regime incerto, onde a l gica cl ssica n o se mostra oportuna. o a a Deste modo, este projeto de graduacao tem como premissa que a l gica fuzzy pelas suas o caractersticas bem como pelas demandas da computacao Ubqua identicadas, se re ` vela uma alternativa interessante para dar suporte as adaptacoes n o-funcionais (escalon a amento).

49

6.2

Cronograma

1. Revis o bibliogr ca sobre o escopo do trabalho: Computacao Ubqua, Sensibilia a dade ao Contexto, L gica Fuzzy (CONCLU o IDO) 2. Estudo do middleware EXEHDA e do EXEHDA-SS (CONCLU IDO) 3. Revis o dos conceitos e a EXEHDA(CONCLU IDO) aplicabilidade da l gica o fuzzy ao Projeto

4. Modelagem do m dulo de an lise e tomada de decis o para o middleware EXHDA o a a (A SER REALIZADO) 5. Implementacao e testes (A SER REALIZADO) 6. Escrita do texto para o Trabalho de Conclus o de Curso (A SER REALIZADO) a 7. Defesa do Projeto de Graduacao I (EM ANDAMENTO) 8. Defesa do Projeto de Graduacao II (A SER REALIZADO)

Atividades/Meses Fev 2011 1 X 2 3 4 5 6 7 8

Mar 2011 X X

Abr 2011 X X X

Mai Jun Jul Ago Set Out Nov Dez 2011 2011 2011 2011 2011 2011 2011 2011 X X

X X X X X X X X X X X X X X X X X

50

REFERENCIAS
AL-ALI R.AND HAFID, A. R. F. W. W. TQoS Adaptation in Service-Oriented Grids. Disponvel em:<http://mgc2003.lncc.br/cam ready/MGC289 nal.pdf>. Acesso em junho de 2011. APACHE, S. Conhecendo o Servidor Apache (HTTP Server Project). Disponvel em: < http://www.brwebs.com.br/blog/?p=60 >. Acesso em 03/2011. ARAUJO, R. M. Computacao Ubqua: Princpios, Tecnologias e Desaos. [S.l.: s.n.], 2003. AUGUSTIN, I. Abstracoes para uma Linguagem de Programacao Visando Aplicacoes M veis em um Ambiente de Pervasive Computing. 2004. 194p. Tese o (Doutorado em Ci ncia da Computacao) Instituto de Inform tica, UFRGS, Porto Alee a gre, RS. AUGUSTIN, I.; YAMIN, A.; SILVA, F. L.; FERREIRA, G. L.; RIZZETTI, T. A. Grade Computacional como Infraestrutura para a Computacao Pervasiva Ubiqua. Escola Re gional de Alto Desempenho ERAD 2008, [S.l.], Marco 2008. ` BATISTA, M. Escalonadores de Tarefas Dependentes para Grades Robustos as Incertezas das Informacoes de Entrada. 2010. 134p. Tese (Doutorado em Ci ncia da e Computacao) Universidade Estadual de Campinas. BELOTTI, R.; DECURTINS, C.; GROSSNIKLAUS, M.; NORRIE, M. C.; PALINGINIS, A. Modelling Context for Information Environments. [S.l.]: In: Workshop on Ubiquitous Mobile Information and Collaboration Systems (UMICS), 2004. CHEN, G.; KOTZ, D. A Survey of Context-Aware Mobile Computing Research. Dartmouth College: Department of Computer Science, 2002. COSTA, C. A.; YAMIN, A. C.; GEYER, C. F. R. Toward a General Software Infrastructure for Ubiquitous Computing. IEEE Pervasive Computing, Los Alamitos, CA, USA, v.7, n.1, p.6473, 2008.

51

COULORIS, G.; DOLLIMORE, J.; KINDBERG, T. (Ed.). Distributed Systems - Concepts and Design. [S.l.]: Addison Wesley, 2005. 657 - 719p. n.cap. 6. DAVID, L. B. Ubiquitous Computing. Emerging Technologies for Learning, [S.l.], v.2, 2007. DEY, A. K. Providing Architectural Support for Building Context-Aware Applications. [S.l.]: Georgia Institute of Technology, 2000. DINIZ, J. UbiDoctor: Arquitetura de Servicos para Gerenciamento de Sess o e Adptacao a de Conte do em Ambientes de Medicina Ubqua. 2009. 178p. Tese (Doutorado em u Ci ncia da Computacao) Universidade Federal de Pernambuco, UFPE, Recife, PE. e FOCALINUX. Guia Foca GNU/Linux - Captulo 12 - Apache. Disponvel em: <http://focalinux.cipsga.org.br/guia/avancado/ch-s-apache.htm >. Acesso em 03/2011. FOSTER, I. What is the Grid? A Three Point Checklist. Disponvel em:<http://www fp.mcs.anl.gov/ foster/Articles/WhatIsTheGrid.pdf>. Acesso em abril de 2011. GOULARTE, R. Personalisacao e Adaptacao de Conteudo Baseadas em Contexto para TV Interativa. 2003. 262p. Tese (Doutorado em Ci ncias Matem ticas e de e a Computacao) Universidade de S o Paulo, USP, S o Carlos, SP. a a GREGORY, A.; ELIZABETH, M. Charting Past, Present, and Future Research in Ubiquitous Computing. ACM Transactions onComputer-Human Interaction, [S.l.], 2000. GRIMM, R.; BERSHAD, B. . Future Directions: System Support for Pervasive Applications. Disponvel em: < http://cs.nyu.edu/rgrimm/one.world/papers/fudico02.pdf/>. Acesso em marco de 2011. HENRICKSEN K; INDULSKA, J. R. A. Modeling context information in pervasive computing systems. Zurich, Switzerland: PROCEEDINGS OF THE FIRST INTERNATIONAL CONFERENCE ON PERVASIVE COMPUTING, 2003. 167-180p. HOUAISS, A. Dicion rio Houaiss da Lngua Portuguesa. [S.l.]: AB Editora, Rio de a Janeiro, Ed. Objetiva, 2007. ` ISAM. InfraEstrutura de Suporte as Aplicacoes M veis. Disponvel em: o http://www.inf.ufrgs.br/ isam/index.html>. Acesso em marco de 2011. <

JOHNSON, T. Uma Arquitetura de Computacao Pervasiva para Trabalho de Campo. 2005. Tese (Doutorado em Ci ncia da Computacao) Universidade Federal e de Pernambuco, UFPE, Recife, PE.

52

LOPES, J. L.; PILLA, M. L.; YAMIN, A. C. EXEHDA: a Middleware for Complex, Heterogeneous and Distributed Applications. Iberian-American Conference on Technology Innovation and Strategic Areas, Rio de Janeiro, Brazil, Maio 2007. MACIEL, R. S. P.; ASSIS, S. R. Middleware: Uma Solucao para o Desenvolvimento de Aplicacoes Distribudas. Cientco - Ano IV, [S.l.], Janeiro 2004. MOSTEFAOUI G. K., R. J. P. B. P. Context-Aware Computing: A Guide for the Pervasive Computing Community. Beirute, Libano: Proceedings of the 2004 IEEE/ACS International COnference on Pervasive Services, 2004. POSTGRESQLBR. Sobre o PostgreSQL. Disponvel http://www.postgresql.org.br/sobre >. Acesso em 10/2010. em: <

RODRIGUES, S. L. uMED: Uma arquitetura para Desenvolvimento de Software Dire` cionada a Medicina Ubqua. 2010. Dissertacao apresentada como requisito parcial para obtencao de grau de Mestre em Ci ncia da Computacao PPGINF/CPOLI/UCPEL, e Pelotas, RS. RUSSELL, S.; NORVIG, P. Articial Intelligence. [S.l.]: A Modern Approach, 2003. SAHA, D.; MUKHERJEE, A. Pervasive Computing: A Paradigm for the 21st Century. Computer, IEEE Computer Society Press, [S.l.], v.36, n.3, p.2531, 2003. SANTORO, F. M.; BREZILLON, P.; ARAUJO, R. M. Context Dynamics in Software Engineering Process. [S.l.]: International Journal of Advanced Engineering Informatics, 2005. SATYANARAYANAN, M. Pervasive Computing: Vision and Challenges. IEEE Personal Communications, [S.l.], v.4, n.8, p.1017, Agosto 2001. SCHILIT, B. A Context-Aware Systems Architecture for Mobile Distributed Computing. Columbia University: Ph.D. Thesis, 1995. SCHILIT, B.; ADAMS, N.; WANT, R. Context-aware computing applications. Santa Cruz, California: In Proceedings of IEEE Workshop on Mobile Computing Systems and Applications, 1994. 85-90p. STRANG, T.; LINNHOFF-POPIEN, C. A context modeling survey. Nottingham, England: PROCEEDINGS OF THE I INTERNATIONAL CONFERENCE ON UBIQUITOUS COMPUTING, 2004. 34-41p. VENECIAN, L. R. EXEHDA-CS: Um Mecanismo para Sensibilidade ao Contexto com Suporte Sem ntico. 2010. Tese de Mestrado em Ci ncia da Computacao a e PPGINF/CPOLI/UCPEL, Pelotas, RS.

53

WANG, X. H.; GU, T.; ZHANG, D. Q.; PUNG, H. K. Ontology based context modeling and reasoning using OWL. [S.l.]: In: Workshop on Context Modeling and Reasoningat II IEEE InternationalConference on Pervasive Computing and Communication, 2004. WARKEN, N. EXEHDA-DA: Uma Proposta de Controle da Adaptacao Din mica ao a Contexto na Computacao Ubqua. 2010. Tese de Mestrado em Ci ncia da Computacao e PPGINF/CPOLI/UCPEL, Pelotas, RS. WEISER, M. The Computer for the 21 st Century. Scientic American, [S.l.], v.3, n.265, p.94104, Setembro 1991. WEISER, M.; GOLD, R.; BROWN, J. S. The Origins of Ubiquitous Computing Research at Parc in the Late 1980s. IBM Syst. J., [S.l.], v.38, n.4, p.693696, 1999. YAMIN, A. Arquitetura para um Ambiente de Grade Computacional Direcionado ` as Aplicacoes Distribudas M veis e Conscientes do Contexto da Computacao Per o vasiva. 2004. 195p. Tese (Doutorado em Ci ncia da Computacao) Instituto de Ine form tica, UFRGS, Porto Alegre, RS. a YAU, S.; YU, W.; KARIM, F. Development of Situation-Aware Application Software for Ubiquitous Computing Environments. Proceedings of the 26th Annual International Computer Software and Applications Conference - COMPSAC, [S.l.], p.233238, 2002. ZIMMERMANN, H. Fuzzy Set Theory and its Applications. Kluwer Academic Publishers, [S.l.], 1996.

You might also like