17
1 Minicurso Minicurso 08 08 Ana Carolina Salgado [email protected] Patricia Tedesco [email protected] Bento Gonçalves-RS, Julho / 2009 Vaninha Vieira [email protected] Modelos e Processos para o Desenvolvimento Modelos e Processos para o Desenvolvimento de Sistemas Sensíveis ao Contexto de Sistemas Sensíveis ao Contexto 2 Agenda do Agenda do Curso Curso PARTE I (quinta 16h15 – 18h15) Introdução e Definições Contexto nas diversas áreas da Computação Exemplos de Aplicações Sensíveis ao Contexto PARTE II (sexta 10h45 – 12h45) Desafios no Desenvolvimento de CSS Representação de contexto Modelos e Metamodelo de contexto PARTE III (sexta 16h15 – 18h15) Processos para o desenvolvimento de CSS ICARE: Um estudo de caso Conclusões e perspectivas de pesquisa Parte I Parte I (Aula (Aula passada passada) ) Introdução e Definições Contexto nas diversas áreas da Computação Exemplos de CSS Modelos e Processo para o Desenvolvimento Modelos e Processo para o Desenvolvimento de Sistemas Sensíveis ao Contexto de Sistemas Sensíveis ao Contexto Parte II Parte II Desafios no Desenvolvimento de CSS Representação de Contexto Modelos e Metamodelo de Contexto Modelos e Processo para o Desenvolvimento Modelos e Processo para o Desenvolvimento de Sistemas Sensíveis ao Contexto de Sistemas Sensíveis ao Contexto 5 Porque Porque usar usar contexto contexto em em sistemas sistemas computacionais computacionais? Mudanças no uso dos sistemas computacionais Uso pessoal (não apenas organizacional) Apoio a tarefas diárias e tomadas de decisão Pessoas precisam processar alto volume de informação executar tarefas mais complexas em menos tempo Uso do contexto enriquece a aplicação Adaptabilidade, percepção e assistência Serviços e informações mais relevantes Melhor interação com o usuário 6 Contexto é um conceito novo e ainda imaturo Não existe consenso sobre definições e terminologias O Problema é que ... O Problema é que ... Desenvolvedor do CSS O que eu devo considerar como contexto? Como representar, gerenciar e usar? Que passos eu devo seguir ao projetar um CSS? Dificuldade em levantar os requisitos requisitos necessários para desenvolver um CSS

2009 CursoJAI ParteIIxadolfo/etc/SBC/ERI2009/dctos/... · 2009-10-14 · • Conclusões e perspectivas de pesquisa Parte I (Aula (Aula passada passada)) ... Não existe consenso

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 2009 CursoJAI ParteIIxadolfo/etc/SBC/ERI2009/dctos/... · 2009-10-14 · • Conclusões e perspectivas de pesquisa Parte I (Aula (Aula passada passada)) ... Não existe consenso

1

MinicursoMinicurso 0808

Ana Carolina [email protected]

Patricia [email protected]

Bento Gonçalves-RS, Julho / 2009

Vaninha [email protected]

Modelos e Processos para o Desenvolvimento Modelos e Processos para o Desenvolvimento de Sistemas Sensíveis ao Contextode Sistemas Sensíveis ao Contexto

2

Agenda do Agenda do CursoCurso

� PARTE I (quinta 16h15 – 18h15)

• Introdução e Definições

• Contexto nas diversas áreas da Computação

• Exemplos de Aplicações Sensíveis ao Contexto

� PARTE II (sexta 10h45 – 12h45)

• Desafios no Desenvolvimento de CSS

• Representação de contexto

• Modelos e Metamodelo de contexto

� PARTE III (sexta 16h15 – 18h15)

• Processos para o desenvolvimento de CSS

• ICARE: Um estudo de caso

• Conclusões e perspectivas de pesquisa

Parte I Parte I (Aula (Aula passadapassada) )

Introdução e DefiniçõesContexto nas diversas áreas da Computação

Exemplos de CSS

Modelos e Processo para o Desenvolvimento Modelos e Processo para o Desenvolvimento de Sistemas Sensíveis ao Contextode Sistemas Sensíveis ao Contexto

Parte IIParte II

Desafios no Desenvolvimento de CSSRepresentação de Contexto

Modelos e Metamodelo de Contexto

Modelos e Processo para o Desenvolvimento Modelos e Processo para o Desenvolvimento de Sistemas Sensíveis ao Contextode Sistemas Sensíveis ao Contexto

5

PorquePorque usarusar contextocontexto emem sistemassistemascomputacionaiscomputacionais??

� Mudanças no uso dos sistemas computacionais• Uso pessoal (não apenas organizacional)

• Apoio a tarefas diárias e tomadas de decisão

• Pessoas precisam

� processar alto volume de informação

� executar tarefas mais complexas em menos tempo

� Uso do contexto enriquece a aplicação• Adaptabilidade, percepção e assistência

• Serviços e informações mais relevantes

• Melhor interação com o usuário

6

� Contexto é um conceito novo e ainda imaturo� Não existe consenso sobre definições e terminologias

O Problema é que ... O Problema é que ...

Desenvolvedor do CSS

O que eu devo considerar como contexto? Como representar, gerenciar e usar?

Que passos eu devo seguir ao projetar um CSS?

� Dificuldade em levantar os requisitosrequisitos necessários para desenvolver um CSS

Page 2: 2009 CursoJAI ParteIIxadolfo/etc/SBC/ERI2009/dctos/... · 2009-10-14 · • Conclusões e perspectivas de pesquisa Parte I (Aula (Aula passada passada)) ... Não existe consenso

2

Desafios no Desenvolvimento de Sistemas Sensíveis ao

Contexto

8

Muitos são os Desafios…

� Elicitação dos requisitos de contexto� O que considerar como contexto e para que utilizá-lo?

� Representação dos elementos de contexto� Como representar? Modelos de representação são adequados?

� Gerenciamento da informação contextual� Aquisição, Integração, Processamento, Busca e Disseminação

� Definição do comportamento sensível ao contexto� Como garantir que o comportamento ativo do sistema vai ajudar o usuário?

� Otimização do desempenho do sistema� Custo computacional extra

� Segurança e Privacidade� Monitoramento dos usuários

� Lidar com a natureza dinâmica do contexto� Contexto depende do contexto

9

Desafios Básicos Desafios Básicos –– Requisitos FuncionaisRequisitos Funcionais

�� Especificação Especificação de Contexto de Contexto (S)(S)• Elicitação dos requisitos de contexto

• Caracterização e Representação dos elementos de contexto

�� GGerenciamentoerenciamento de de ContextoContexto (M) (M) • Aquisição + Armazenamento + Processamento + Disseminação

�� UsoUso do do ContextoContexto (U) (U) • Adaptação, Percepção, Assistência e Outros

� (S) e (U) são fortemente dependentes de uma aplicação ou domínio

� (M) pode abstrair particularidades de domínio e ser reusado

10

Considerar...Considerar...

� Reutilização de soluções baseadas em componentes

• toolkits [Dey et al. 2001]

• frameworks [Henricksen e Indulska 2005; Klemke 2000]

• middlewares [Gu et al. 2005; Ranganathan e Campbell 2003]

• engines de contexto [Belotti 2004; Vieira 2006]

Objetivam suprir funcionalidades básicas relativas ao

gerenciamento da informação contextualgerenciamento da informação contextual de forma

que diferentes aplicações possam fazer uso desses serviços

Gerenciamento Gerenciamento de Contextode Contexto

12

Sensor

Extrator

Perfil

GerenciamentoGerenciamento do do ContextoContexto

Sistema de

Planejamento

de Missões

Motor de Inferência

Regras

C E K BCEKB

Sensor de

Localização

Usuário

local(VilaVelha )

nome(SBSC’08 )

idade(60)

sexo(masculino )

viveEm (Recife )

Serviço de Reserva de Transporte

ehProfessor(sim )

Page 3: 2009 CursoJAI ParteIIxadolfo/etc/SBC/ERI2009/dctos/... · 2009-10-14 · • Conclusões e perspectivas de pesquisa Parte I (Aula (Aula passada passada)) ... Não existe consenso

3

AquisiçãoAquisição

14

O que é Aquisição de Contexto?O que é Aquisição de Contexto?

� Processo de monitorarmonitorar , capturarcapturar e/ou obter obter informações contextuais de fontes diversas de contexto

� A qualidade qualidade dos dos serviçosserviços sensíveis ao contexto depende da qualidade da informação coletada

15

apóia

Contexto pode vir de diversas fontesContexto pode vir de diversas fontes

Sensores de

Localização

Perfis do

UsuárioSites Web

Regras

Dados

Transacionais

Mineração

de Dados

Informações

Analíticas

Ontologias

José

Reservar Transporte

Planejamento de Missoes

17

Contexto pode ser adquirido de várias formas

1.1. Sensores físicos ou de hardwareSensores físicos ou de hardware

• Podem captar informações sobre o ambiente físico como localização, orientação, temperatura, presença ...

• E.g. GPS, microfones, câmeras, termômetros...

18

Contexto pode ser adquirido de várias formas

2.2. Sensores lógicosSensores lógicos

• Aplicativos que monitoram e coletam informação contextual do ambiente virtual do usuário, da tarefacorrente e de aplicativos ou recursos em uso

• E.g. agentes inteligentes, desktop sensors

19

Contexto pode ser adquirido de várias formasContexto pode ser adquirido de várias formas

3.3. Extratores e Máquinas de buscaExtratores e Máquinas de busca

• Consultam e extraem informações contextuais de fontes persistentes de contexto ou de outras aplicações

• Em geral, refere-se a informações que não mudam frequentemente� Histórico profissional do usuário

� Histórico de interações com o sistema

� Tarefas desenvolvidas

• E.g. mineração de dados, ferramentas analíticas, serviços Web

Usuário

Histórico de Interações

Tarefas

Page 4: 2009 CursoJAI ParteIIxadolfo/etc/SBC/ERI2009/dctos/... · 2009-10-14 · • Conclusões e perspectivas de pesquisa Parte I (Aula (Aula passada passada)) ... Não existe consenso

4

20

4.4. Entrada explícita do usuárioEntrada explícita do usuário

• Algumas aplicações esperam que o usuário explicite uma informação relevante para uma dada tarefa

• O usuário pode definir seu perfil e suas preferências e prover outras informações contextuais, como o local onde está ou o que está fazendo

Contexto pode ser adquirido de várias formasContexto pode ser adquirido de várias formas

21

EmEm resumoresumo……

AutomáticaManual

CONTEXTO

Sensores Informação

existente

Modelo do

Usuário

Estado doEquipa-mento

Definição

explícita

22

Forma de aquisição interfere na qualidade do contex to(Adaptado de [Henricksen e Indulska 2005])

Classe da Informação

PersistênciaQuestões de

QualidadeFontes de Imperfeição

Percebida Baixa Pode ser imprecisa,

desconhecida ou caduca

Erros na percepção; falhas do sensor ou desconexões da

rede

Estática Alta Geralmente nenhuma

Erro humano

Proveniente de Perfil

Moderada Tende a caducar Omissão do usuário em atualizar mudanças ocorridas

Derivada Variável Sujeita a erros e imperfeições

Entradas imprecisas; uso de um mecanismo de derivação imaturo ou muito simplificado

23

Aquisição Aquisição –– Aspectos DesejáveisAspectos Desejáveis

� Os sistemas sensíveis ao contexto devem viabilizar meios de adquirir o contexto do usuário da forma mais mais automática possívelautomática possível

• sem que o usuário tenha que ser questionado insistentemente sobre o contexto em que se encontra

� Os serviços de aquisição de contexto devem permanecer constantemente disponíveisdisponíveis

� É desejável que sejam implementados de forma independenteindependente das aplicações que os utilizem

ProcessamentoProcessamento

25

� Alguma “inteligência”“inteligência” deve ser utilizada para processar ocontexto e inferir seu significado

• Contexto geralmente é indireto ou é pode ser inferidopela combinação de diferentes informações

� Exemplo:

Porque Processamento de Contexto?Porque Processamento de Contexto?

Se duas ou mais pessoas se encontram em um auditório E o Powerpoint está sendo executado em uma máquina E a luminosidade da sala é baixa

Então deve estar acontecendo uma palestraacontecendo uma palestra

Page 5: 2009 CursoJAI ParteIIxadolfo/etc/SBC/ERI2009/dctos/... · 2009-10-14 · • Conclusões e perspectivas de pesquisa Parte I (Aula (Aula passada passada)) ... Não existe consenso

5

26

Tipos de Processamento

� Pode ser bastante simples• Ex. derivar nome de uma rua a partir de suas coordenadas

� Pode ser muito complexo e oneroso• Ex. inferir humor de um usuário baseado em seu perfil e na atividade

que ele está realizando

Informações

Contextuais

BásicasBásicas

Informações

Contextuais

ComplexasComplexas

27

Diferentes Visualizações do ContextoDiferentes Visualizações do Contexto

Física

Lógica

Visão

Minha Localização

no PDA

Minha Localização

no PC

Minha

Localização

Minha Localização

para estranhos

Minha Localização

para amigos

Minha Localização

para a família

28

O que significa Processamento de Contexto?

� Conjunto de métodos e processos que permitem produzir informações mais refinadas, relevantes e coerentes a partir de informações mais básicas, por meio de:

•• RaciocínioRaciocínio

•• TransformaçãoTransformação

•• CombinaçãoCombinação e

•• Resolução de conflitosResolução de conflitos

Requisito desafiador!!!

29

RaciocínioRaciocínio

� Inferir informação contextual implícita de alto nível a partir de outras informações explícitas de baixo nível;• Ex: um sinal GPS pode ser mapeado para um conceito mais abstrato

como localização no formato de “em casa” ou “no trabalho”

Em casa

22C,14:24,59N

Alto nível

Baixo Nível

30

TransformaçãoTransformação

� Traduzir as informações contextuais para um outro formato• Exemplos:

� Formatos de data e hora

� Padrões de diferentes plataformas

31

Combinação

� Combinar dados para derivar um novo• Exemplo:

� hora corrente + fuso horário do usuário + sua agenda

� podem indicar a atividade a ser realizada por ele naquele momento

Page 6: 2009 CursoJAI ParteIIxadolfo/etc/SBC/ERI2009/dctos/... · 2009-10-14 · • Conclusões e perspectivas de pesquisa Parte I (Aula (Aula passada passada)) ... Não existe consenso

6

32

Resolução de ConflitosResolução de Conflitos

� Tratar inconsistências, ambigüidades e incompletude das informações adquiridas automaticamente

� Ex: um sensor de presença pode detectar o celular do usuário em casa e inferir que o usuário está “em casa” enquanto outro sensor de presença baseado em câmeras percebe o usuário em seu escritório.

=> CONFLITO!

• O mecanismo de processamento pode indicar que a informação recebida pela câmera tem maior veracidade e deve, pois, ser considerada.

33

Abordagens para Processamento do Contexto Abordagens para Processamento do Contexto [Ranganathan e Campbell 2003]

�� RegrasRegras estáticas, pré-definidas pelos desenvolvedores

� E.g. Lógica de primeira ordem, lógica descritiva, lógica fuzzy, ...

� Técnica simples para implementação

� Não é flexível e não se adapta a circunstâncias que mudam frequentemente

�� AprendizagemAprendizagem de máquina de máquina dinâmicas, aprendidas pelo sistema• E.g. redes bayesianas, redes

neurais, raciocínio baseado em casos

• Técnica mais complexa de implementar

• Permite que a máquina aprendaum padrão ou regra, a partir de um conjunto de dados de teste (treinamento) e que as regras se adaptem ao uso e evolução do sistema

34

Processamento Processamento -- ExemploExemplo

� SOCAM (Service-Oriented Context-Aware Middleware) [Gu etal. 2005]

• Raciocínio é realizado sobre uma base de conhecimento

• Processa o contexto usando predicados de primeira ordem

• Exemplo de predicadopredicado :

Se (usuario localizadoEm Banheiro) E(Banheiro statusPorta FECHADO) E(Chuveiro status LIGADO)

Então (usuario situacao TOMANDO_BANHO)

Disseminação e Disseminação e CompartilhamentoCompartilhamento

36

Consumidores de ContextoConsumidores de Contexto

� São aplicações sensíveis ao contexto que vão utilizar as informações contextuais

� Informações contextuais podem ser gerenciadas de forma centralizada e compartilhada por diferentes aplicações

� Separação entre o mecanismo de aquisição do contexto e o seu uso

� Exemplos• Serviço de Localização de Usuário

• Serviço de geração automática de perfis de especialidade

• Serviço de atribuição de preferência a partir de interações passadas

37

Compartilhamento

� Aquisição do contexto implica monitoramento monitoramento de ações e coleta coleta de informações dos usuários

� Pode violar violar regras de privacidade

� Necessidade de estabelecer políticas de compartilhamento políticas de compartilhamento das informações contextuais

Usuário deve ser capaz de intervir no que deseja que seja monitorado e compartilhado

Page 7: 2009 CursoJAI ParteIIxadolfo/etc/SBC/ERI2009/dctos/... · 2009-10-14 · • Conclusões e perspectivas de pesquisa Parte I (Aula (Aula passada passada)) ... Não existe consenso

7

Uso do ContextoUso do Contexto

39

UsoUso

� CSS possuem habilidades traduzidas em diferentes requisitos requisitos de usode uso :

•• AdaptaçãoAdaptação

•• PercepçãoPercepção

•• AssistênciaAssistência

•• OutrosOutros

40

Desafios no Projeto do Uso do ContextoDesafios no Projeto do Uso do Contexto

� Como garantir a satisfação do usuário com a ação proativa do CSS?

• Sistema “legal” e proativo?

XX

• Sistema “chato” e intrusivo?

41

Exemplo de sucesso Exemplo de sucesso –– GoogleGoogle

� Adsense – propaganda sensível ao contexto

42

ContraContra--Exemplo Exemplo –– Word e Word e ClippyClippy

� Funcionalidades de autoauto--correçãocorreção e autoauto--formatação formatação • Tenta ser sensível ao contexto “ajudando” o usuário ao corrigir

automaticamente termos de grafia, gramática ou formatação

• O usuário não tem controle

� Quando a correção não é realizada corretamente o usuário ganha trabalho “dobrado” ao tentar corrigi-la

� Não aprende com os deferimentos feitos pelo usuário

�� ClippyClippy• Muitas vezes provê informações e dicas

inúteis e sem sentido

• Intrusivo

43

Uso Uso -- CuidadosCuidados

� Mecanismos de accountabilityaccountability (prestação de contas) e intelligibilityintelligibility (clareza) [Bellotti e Edwards 2001] devem ser providos:

• Informar ao usuário a capacidade e entendimento do sistema contextual corrente

• Prover feedback

• Reforçar segurança e privacidade de quem está usando o sistema

• Prover controle e deferimento ao usuário para possíveis ações conflitantes com seu interesse

Page 8: 2009 CursoJAI ParteIIxadolfo/etc/SBC/ERI2009/dctos/... · 2009-10-14 · • Conclusões e perspectivas de pesquisa Parte I (Aula (Aula passada passada)) ... Não existe consenso

8

44

Uso Uso –– Quem manda é o usuário!Quem manda é o usuário!

� Projetar ações do CSS de forma conservadora [Greenberg 2001]

• Premissa: alta probabilidade de inferir erroneamente o contexto e o comportamento sensível ao contexto

• Aspectos inerentes ao ser humano não podem ser percebidas com precisão por um sistema computacional

� E.g. intenções, emoções, interpretações, medos, motivações

� Tornar visíveis ações de adaptação com possibilidade de serem desfeitas

� Usuário deve ter a sensação de que está no controle!!

Parte IIParte II

Desafios no Desenvolvimento de CSSRepresentação de contexto

Modelos e Metamodelo de contexto

Modelos e Processo para o Desenvolvimento Modelos e Processo para o Desenvolvimento de Sistemas Sensíveis ao Contextode Sistemas Sensíveis ao Contexto

RepresentaçãoRepresentaçãode Contextode Contexto

47

Representação do ContextoRepresentação do Contexto

� “Uma abordagem bem projetada para representação e recuperação do contexto é um fatorfator chavechave em sistemassensíveis ao contexto”

� Informações contextuais são compartilhadas e utilizadas pordiferentes entidades

• Agentes humanos e de software, dispositivos, serviços,...

� Deve haver uma mesma compreensãocompreensão semânticasemântica

[Strang and Linnhoff-Popien, 2004]

48

Questões na Representação de ContextoQuestões na Representação de Contexto

� Aplicações em muitos muitos domíniosdomínios

� Vários modelos Informais• Baseados em esquemas proprietários

• Sem preocupação com o compartilhamento de informações de contexto entre sistemas diferentes

�� Que InformaçãoQue Informação podemos capturar?• Como manipulá-la?

• Presença de Incerteza e Ambigüidade

� Necessidade de formalizarformalizar o Contexto• Emprego de técnicas formais para modelar e manipular informações

de contexto

49

Representação Representação -- que abordagem escolher?que abordagem escolher?

� Ainda não existe um padrãopadrão

� Diferentes técnicas

• Par Chave-Valor

• Linguagem de Marcação

• Representação Gráfica (UML/ORM)

• Grafos Contextuais

• Orientação a Objetos

• Mapas de Tópicos

• Ontologias

• Baseadas em Lógica + formal

+ simples

Page 9: 2009 CursoJAI ParteIIxadolfo/etc/SBC/ERI2009/dctos/... · 2009-10-14 · • Conclusões e perspectivas de pesquisa Parte I (Aula (Aula passada passada)) ... Não existe consenso

9

50

Chave Valor

Data Após 16 de Abril

Hora Entre 10 e 12 da manhã

Localização Sala 35

AçãoChegada de uma pessoa “play –v 50 /sounds/bomdia.au”

� Usa a estruturaestrutura maismais simples simples para representar o contexto

� Informação contextual descrita por parespares chave-valor

� Podem ter açõesações associadas aos pares

Par Chave-Valor (1)

51

Par Par ChaveChave--Valor (2)Valor (2)

� Contexto descrito por uma listalista de de atributosatributos simples

� Procedimento de descoberta de serviços usa um algoritmode casamentocasamento exatoexato

�� Simples Simples de gerenciar

�� FaltamFaltam mecanismos para possibilitar operaçõesoperações eficienteseficientesde recuperação de contexto

52

ModelosModelos BaseadosBaseados emem LinguagensLinguagens de de MarcaçãoMarcação (1)(1)

� Estruturas de dados hierárquicashierárquicas consistindo de tags tags de de marcaçãomarcação com atributos e conteúdo

�� EstruturaEstrutura simplessimples

�� DificuldadeDificuldade de capturar relaçõesrelações maismais complexascomplexasentre informações contextuais

� Várias iniciativas com esta abordagem• Linguagens muitas vezes proprietárias ou limitadas a um

pequeno conjunto de aspectos

� Utilizada para modelarmodelar perfisperfis de Usuários e Dispositivos•• Extensão de vocabulários Extensão de vocabulários como o CC/PP e o UAProf Profile

53

ModelosModelos BaseadosBaseados emem LinguagensLinguagens de de MarcaçãoMarcação (2) (2) -- ExemploExemplo

<?xml version="1.0" encoding="UTF-8"?>

<rdf:RDF

xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"

xmlns:cscp="context-aware.org/CSCP/CSCPProfileSyntax#"

xmlns:dev="context-aware.org/CSCP/DeviceProfileSyntax#"

xmlns:net="context-aware.org/CSCP/NetworkProfileSyntax#"

xmlns="context-aware.org/CSCP/SessionProfileSyntax#"

<SessionProfile rdf:ID="Session">

<cscp:defaults rdf:resource=

"http://localContext/CSCPProfile/previous#Session"/>

<device><dev:DeviceProfile>

<dev:hardware><dev:Hardware>

<dev:memory>9216</dev:memory>

</dev:Hardware></dev:hardware></dev:DeviceProfile>

</device>

</SessionProfile>

</rdf:RDF>

• Comprehensive Structured Context Profiles (CSCP) [Held et al., 2002]

� Representa o Contexto como Perfis de Sessão

54

ModelosModelos OrientadosOrientados a a ObjetoObjeto (1)(1)

� Usufrui das vantagens da abordagem OOabordagem OO• Encapsulamento e Reuso

• Acesso ao contexto feito via interfaces específicas

� Contexto representado como um conjunto de classesclasses

� Taxonomia inclui definição de propriedadespropriedades , funçõesfunções e regrasregras associadas às classes

� Permite organizar conhecimento e simplificar regras

� Não provê suporte sofisticado para formalizarformalizar contexto

55

Modelos Orientados a Objeto (2)

�� ExemploExemplo : Jogo GOGO

� Jogo de Tabuleiro (19x19)

� Dois Jogadores (pedraspretas e brancas)

� Objetivo: movimentar as pedras de maneira a conquistar a maior área possível

� Informação Contextual: temporal, objetivos, espacial e global.

� Usa herança e foca no reuso

Page 10: 2009 CursoJAI ParteIIxadolfo/etc/SBC/ERI2009/dctos/... · 2009-10-14 · • Conclusões e perspectivas de pesquisa Parte I (Aula (Aula passada passada)) ... Não existe consenso

10

56

ModelosModelos OrientadosOrientados a a ObjetoObjeto (3)(3)

� Tipos de Contexto

• Etapa

• Score do Jogo

• Natureza das posições (guerra ou paz)

• Objetivo: identificar boas jogadas para cada objetivo

• Espacial: No meio do jogo é necessário considerar o espaço em torno de um grupo de pedras

SE número de jogadas < 50 E todos os grupos estão estáveis ENTÃO contexto.etapa = INICIO

Etapa

Inicio Meio Fim

é-um

SE estiver ganhando ENTÃO defenda seu territórioSE estiver perdendo, ENTÃO ataque o oponente

57

ModelosModelos BaseadosBaseados emem LógicaLógica (1)(1)

� McCarthy (1993) propôs primeira formalização de contexto

� proposição pp é verdadeira no contexto cc

� Contexto captura o que não está explícito em p mas que é necessário para dar significado a p

c0: ist (contexto-de(estórias de Sherlock Holmes), “Holmes é um detetive”)

c: c: istist (c, p)(c, p)

c1: ist (c3, “Aula de GDI”)

[c3.dia = sexta E (c3.hora >= 14:00 e <= 16:00) E c3.sala = M1 E c3.periodo = 2009.1]

58

ModelosModelos BaseadosBaseados emem LógicaLógica (2)(2)

� Fórmulas ist(c,p) são sempre afirmadas dentro de um contexto:

ist (c’, ist(c,p)): c’: ist (c,p)ist (c’, ist(c,p)): c’: ist (c,p)

� Consequências:• Um contexto é sempre relativo a outro

• Contextos tem uma dimensão infinita – e não podem ser completamente descritos.

• Quando há vários contextos, tem sempre um contexto comum para onde todos os termos e predicados podem ser levados.

59

ModelosModelos BaseadosBaseados emem OntologiasOntologias (1)(1)

� O que são mesmo Ontologias?

• Uma ontologia é uma especificação explícita de uma conceitualização [Gruber 1996]

• Compostas por: Classes, Relações, Axiomas e Instâncias

� E para que servem?

• Modelar conceitos e suas relações

Raciocínio

Comunicação

Integração

Compreender

Relatar

ProduzirAplicações mais complexas

Maior formalidade

60

ModelosModelos BaseadosBaseados emem OntologiasOntologias (2) (2) Benefícios e ProblemasBenefícios e Problemas

� Ontologias provêem vocabulário compartilhado em um domínio• Tornam significado dos conceitos explícito

• Criam conhecimento comum : entre humanos e máquinas

� Permitem reuso do conhecimento

� Tornam o conhecimento processável por máquinas• Uso de mecanismos de inferência existentes

� No entanto,• Tecnologia associada à manipulação ainda é imatura

• Suporte a regras ainda é limitado

61

Um Um ExemploExemplo –– OntologiaOntologia CoBrACoBrA(Context Broker Architecture)(Context Broker Architecture)

� Conjunto de ontologias para descrever entidades presentes em um ambiente de reuniões inteligente

Page 11: 2009 CursoJAI ParteIIxadolfo/etc/SBC/ERI2009/dctos/... · 2009-10-14 · • Conclusões e perspectivas de pesquisa Parte I (Aula (Aula passada passada)) ... Não existe consenso

11

62

ExemploExemplo: : InferênciaInferência de de LocalizaçãoLocalização (1)(1)

63

ExemploExemplo: : InferênciaInferência de de LocalizaçãoLocalização (2)(2)

64

ExtensõesExtensões à UMLà UML

� UML é uma ferramenta de modelagem muito difundida

� Provê modelos • Estruturais – e.g. pacotes, classes, objetos

• Comportamentais – e.g. casos de uso, atividades

• Interação – e.g. sequência, colaboração

� Por ser genérica, também permite modelar contexto

65

Extensões Extensões à UML à UML –– Exemplo Exemplo [Bauer[Bauer, 2003], 2003]

� Diagramas de Caso de Uso • Modela os atores envolvidos na interação e suas respectivas

influências.

� Diagramas de Componentes• Modela os sistemas que contém informações de contexto

� Diagramas de Classe• Representa a informação estrutural do domínio.

� Diagramas de Sequência• Contém cenários diferentes de ativação de contextos.

66

Diagrama de Caso de Uso para um Sistema Diagrama de Caso de Uso para um Sistema Sensível ao Contexto Sensível ao Contexto [Bauer, 2003][Bauer, 2003]

67

ORM ORM –– ObjectObject--Role ModelingRole Modeling

� Modela Contexto como Fatos• Estáticos

• Dinâmicos

• Profiled

• Percebidos

• Derivados

� Modela entidades envolvidas

� Facilita a derivação de Modelos E-R

Page 12: 2009 CursoJAI ParteIIxadolfo/etc/SBC/ERI2009/dctos/... · 2009-10-14 · • Conclusões e perspectivas de pesquisa Parte I (Aula (Aula passada passada)) ... Não existe consenso

12

68

Grafos Contextuais (1)Grafos Contextuais (1)

� Motivação: Modelar Procedimentos e Práticas

� Procedimentos• Gerais para uma organização

• Servem para apoiar operadores a controlar processos

� Práticas • Procedimentos + Contexto

• Muito numerosas!

• São conhecimento implícito

(Brézillon et al., 2002)

69

Missionário mora no local da missão?

nao

Quem paga pela missão?

sim

CAPES

missionário

ContactarAgência Oficial

da CAPES

Procurar Transporte

Idade do Missionário

jovem

adulto

senior

Classificarpor conforto

ExibirOpcoes

Transporte

Classificarpor Preco

Grafos Contextuais (1)Grafos Contextuais (1)ExemploExemplo: : ReservarReservar TransporteTransporte

70

Missionário mora no local da missão?

nao

Quem paga pela missão?

sim

CAPES

missionário

ContactarAgência Oficial

da CAPES

Procurar Transporte

Idade do Missionário

jovem

adulto

senior

Classificarpor conforto

ExibirOpcoes

Transporte

Classificarpor Preco

Grafos Contextuais (1)Grafos Contextuais (1)ExemploExemplo: : ReservarReservar TransporteTransporte

71

Mapas de TópicosMapas de Tópicos

� Permitem definir associações entre objetos físicos e lógicos

� Utilizam a abordagem de Redes Semânticas• Tópicos – representam objetos do mundo real

• Associações – relações entre tópicos

• Ocorrências – ligam tópicos aos respectivos objetos

• Escopo – define a área semâtica no mapa de tópicos

� Através de associações com as propriedades dos tópicos

72

Um exemplo…Um exemplo…

73

EmEm ResumoResumo……

Técnica Pontos Fortes Pontos Fracos Recuperação

Par chave-valor

Estrutura Simples Inadequada para contexto complexo

Casamento exatode nomes

Ling.Marcação

Considera hierarquia. Usa padrões.

Inadequada para contexto complexo

Ling. consulta baseada em XML

Modelo OO Encapsula manipulaçãodo contexto.Usa herança

Ling. consulta OO

Baseadoem Lógica

Formalização Complexa para humanos

Motor inferência

Extensõesà UML

Modela estrutura e comportamento

Muito genérico. Nãoprocessa instâncias

Tradução para XML

GrafosContextuais

Modela comportamento. Específico para contexto

Falta formalismo. Nãomodela estrutura

Manual. Casamento nomes

Mapas de Tópicos

Facilita navegação entre conceitos e modelo

Falta formalismoferramentas imaturas

Navegação porredes semânticas

Ontologias Formalismo. Padrões. Ferramentas. desempenho sistema

Motor inferência. Ling. consulta

Page 13: 2009 CursoJAI ParteIIxadolfo/etc/SBC/ERI2009/dctos/... · 2009-10-14 · • Conclusões e perspectivas de pesquisa Parte I (Aula (Aula passada passada)) ... Não existe consenso

13

ModelosModelosde Contextode Contexto

75

� Integra o conceito de contexto a um modelo de percepção

� Modelo de contexto inclui: localização, artefatos e aplicações

� Identifica contexto de trabalho do usuário para melhorar notificação

Exemplo Exemplo –– ENI ENI ((EventEvent--Notification InfrastructureNotification Infrastructure))[Gross e [Gross e PrinzPrinz, 2003], 2003]

Atributo Descrição

context-name Nome do contexto

context-admin Ator humano ou não-humano que criou o contexto

context-member Membros humanos de um contexto

context-location Localizações físicas relacionadas ao contexto

context-artefact Artefatos do contexto

context-app Aplicações relacionadas ao contexto

context-event Eventos relevantes para um contexto

context-acl Lista de controle de acesso de um contexto

context-env Contextos relacionados

76

Outro Exemplo Outro Exemplo [Vieira et al. 2005][Vieira et al. 2005]

77

Context Information

UserContext

DataContext

ProcedureContext

AssociationContext

Information Type

1...

1

Explicit

Implicit

Perceived Inferred

UserID

UserLocation

Profile

Synonym

Generalization

Specialization

Part-OfHomonym

Antonym

Semantic Association

*

hasSemanticAssociation*

Schema Mapping Generation

Spatial Query

Data Source

Meaning Geospatial Entity1 1...has

Coordinate System

1..*

1

Upper

Data Integration (DI)

GeoSpatial DI

Legend:

Spatial Relationship Topology-based

Metric-based

Schema Mapping

Direction-based

Uma Ontologia para Integração de dados Uma Ontologia para Integração de dados Geográficos Geográficos [Souza et al. 2006][Souza et al. 2006]

Um Metamodelo de Um Metamodelo de ContextoContexto

ProfileProfile

MetamodelMetamodel

79

Metamodelo de Metamodelo de ContextoContexto –– VisãoVisão GeralGeral

Page 14: 2009 CursoJAI ParteIIxadolfo/etc/SBC/ERI2009/dctos/... · 2009-10-14 · • Conclusões e perspectivas de pesquisa Parte I (Aula (Aula passada passada)) ... Não existe consenso

14

80

Metamodelo de Metamodelo de ContextoContexto –– DoisDois NíveisNíveis

Modelagem da Estrutura das Informações Contextuais

Modelagem do Comportamento

do CSS

81

Metamodelo de Metamodelo de ContextoContexto –– PacotesPacotes

Modelagem da Estrutura das Informações Contextuais

83

Extensões UML� Estereótipos

� Definições de Tag

� Restrições OCL

ContextContext ProfileProfile

84

ExemploExemplo: : IdentificaçãoIdentificação do do FocoFocoModeloModelo de de CasosCasos de de UsoUso –– SistemaSistema de de PlanejamentoPlanejamento de de MissõesMissões

85

ExemploExemplo: : IdentificaçãoIdentificação do do FocoFocoModeloModelo de de CasosCasos de de UsoUso com EstereótiposEstereótipos do Context Profiledo Context Profile

Page 15: 2009 CursoJAI ParteIIxadolfo/etc/SBC/ERI2009/dctos/... · 2009-10-14 · • Conclusões e perspectivas de pesquisa Parte I (Aula (Aula passada passada)) ... Não existe consenso

15

86

ExemploExemplo: : ConstruçãoConstrução de de ModeloModelo de de ContextoContextoModeloModelo ConceitualConceitual de Classes de Classes –– SistemaSistema de de PlanejamentoPlanejamento de de MissõesMissões

87

ExemploExemplo: : ConstruçãoConstrução de de ModeloModelo de de ContextoContextoModeloModelo ConceitualConceitual de Classes de Classes com EstereótiposEstereótipos do Context Profiledo Context Profile

88

ExemploExemplo: : ConstruçãoConstrução de de ModeloModelo de de ContextoContextoModeloModelo ConceitualConceitual de Classes de Classes com EstereótiposEstereótipos do Context Profiledo Context Profile

89

ExemploExemplo: : ConstruçãoConstrução de de ModeloModelo de de ContextoContextoModeloModelo ConceitualConceitual de Classes de Classes com EstereótiposEstereótipos do Context Profiledo Context Profile

90

Metamodelo de Metamodelo de ContextoContexto –– PacotesPacotes

Modelagem do Comportamento

do CSS

91

Missionary lives in the mission location?

no

Who pays for the mission?

yes

CAPES

missionary

Contact CAPES Official Agency

LookupTransport

Missionary's age

young

adult

senior

Classify by

Comfort

Show Transport Options

Classify by Price

ModeloModelo de de ComportamentoComportamento : : GrafoGrafo ContextualContextualExemploExemplo: : BookTransportBookTransport (Brézillon et al., 2002)

Page 16: 2009 CursoJAI ParteIIxadolfo/etc/SBC/ERI2009/dctos/... · 2009-10-14 · • Conclusões e perspectivas de pesquisa Parte I (Aula (Aula passada passada)) ... Não existe consenso

16

92

Missionary lives in the mission location?

no

Who pays for the mission?

yes

CAPES

missionary

Contact CAPES Official Agency

LookupTransport

young

adult

senior

Classify by

Comfort

Show Transport Options

Classify by Price

Missionary's age

ModeloModelo de de ComportamentoComportamento : : GrafoGrafo ContextualContextualExemploExemplo: : BookTransportBookTransport (Brézillon et al., 2002)

93

ConceitosConceitos do do ModeloModelo de de ComportamentoComportamento

94

CxGCxG ProfileProfile

95

ExemploExemplo: : ModeloModelo de de ComportamentoComportamentoModeloModelo de de ComportamentoComportamento com EstereótiposEstereótipos do do CxGCxG ProfileProfile

96

ExemploExemplo: : ModeloModelo de de ComportamentoComportamentoModeloModelo de de ComportamentoComportamento com EstereótiposEstereótipos do do CxGCxG ProfileProfile

97

Exemplo de Regra:

Condições

not (Mission.occursIn = Person.livesIn)

Mission.whoPays = “missionary”

Person.age < 26

Ações

CallBehavior(“Lookup Transport”)

CallBehavior(“Classify by Price”)

CallBehavior(“Show Transport Options”)

GeraçãoGeração de de RegrasRegras

Page 17: 2009 CursoJAI ParteIIxadolfo/etc/SBC/ERI2009/dctos/... · 2009-10-14 · • Conclusões e perspectivas de pesquisa Parte I (Aula (Aula passada passada)) ... Não existe consenso

17

Parte IIIParte III

Processos para desenvolvimento de CSS ICARE: Um Estudo de CasoPerspectivas de pesquisa

Modelos e Processo para o Desenvolvimento Modelos e Processo para o Desenvolvimento de Sistemas Sensíveis ao Contextode Sistemas Sensíveis ao Contexto