Uma Abordagem Baseada em Modelos para Detecção de Situações em Sistemas Sensíveis ao Contexto Izon Thomaz Mielke Orientadora: Patrícia Dockhorn Costa
Sensibilidade ao Contexto
Contexto Context is any information that can be used to characterise the situation of an entity. An entity is a person, place, or object that is considered relevant to the interaction between a user and an application, including the user and applications themselves. “ ” (DEY, 2001)
Contexto
Aplicações Sensíveis ao Contexto Context-aware application is a distributed application whose behaviour is affected by its users’ context. “ ” (COSTA, 2007)
Aplicações Sensíveis ao Contexto ContextoAplicação
Aplicações Sensíveis ao Contexto UsuárioAplicação
Desenvolvimento de Aplicações Sensíveis ao Contexto
Capturar informações
Modelar o comportamento
Situação Situation is a particular state-of-affairs that is of interest to applications. “ ” (COSTA, 2007)
Exemplo de situação Situation
Vantagens no uso de situações Maior nível de abstração: Representação interna de dados. Diferentes conceitos. Evita sobrecarga de informações: Distribuição de eventos de situação. Verificação de inconsistências.
Modelo de Contexto
Modelo de Situação (OCL)
Objetivos do Trabalho
Objetivo Propor uma metodologia para auxiliar o desenvolvimento de aplicações sensíveis ao contexto, com foco na especificação e realização de situações contextuais.
Especificação
Representação gráfica Fever temperature Person 37˚C person greater than
Realização
Mapeamento rule "Name" when binding : Pattern (attribute == "value") then SituationHelper.situationDetected(drools, SituationClass.class); Name attribute Pattern value binding equals
Resumo do Trabalho
Metodologia Metamodelo de Contexto Metamodelo de Situações Editor Gráfico Transformação
Modelo de contexto (Java) Regras (Drools) Tipos de Situação (Java) Memória de trabalho Maquina de regras Repositório de regras Aplicação Fontes de contexto Projetista Modelo de contexto Modelo de situações Nível de Tipo (tempo de projeto) Nível de Instância (tempo de execução) EspecificaçãoRealização
Exemplo de aplicação
Obrigado !