460 likes | 575 Views
Uma Abordagem Baseada em Modelos para Especificação e Detecção de Situações em Sistemas Sensíveis ao Contexto. Izon Thomaz Mielke. Orientadora: Patrícia Dockhorn Costa Coorientador : João Paulo Andrade Almeida. Agenda. Introdução Sensibilidade ao Contexto Abordagem Baseada em Modelos
E N D
Uma Abordagem Baseada em Modelos para Especificação e Detecção de Situações em Sistemas Sensíveis ao Contexto Izon Thomaz Mielke Orientadora: Patrícia DockhornCosta Coorientador: JoãoPaulo Andrade Almeida
Agenda • Introdução • Sensibilidade ao Contexto • Abordagem Baseada em Modelos • Especificação • Realização • Considerações Finais
Motivação • Complexidade na especificação de situações de interesse das aplicações. • Linguagens de propósito geral; • Dependência de plataforma; • Usabilidade.
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 .
“ 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)
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 Contexto Aplicação
Aplicações Sensíveis ao Contexto Usuário Aplicação
Situação “ Situation is a particular state-of-affairs that is of interest to applications. ” (COSTA, 2007)
Exemplo de situação Situação
Características 𝒟 Tipo de Situação s1 s2 s3 s4 𝒯 S1 S2 S3
Transformação Especificação Execução Abordagem
Especificação Modelo de contexto Desenvolvedor Modelo de situações
SML • Linguagem de Modelagem de Situações • Construído sobre o modelo de contexto • Notação gráfica • Foco na usabilidade
Efetividade Cognitiva Fever greater than «IntrinsicContext» temperature «Litaral» 37˚C «Entity» person:Person
Avaliação da Notação Fever greater than 37˚C temperature Person person
Suporte Ferramental Editor Gráfico Metamodelo de Situações Metamodelo de Contexto
Transformação Transformação Classes Java Regras Drools
Mapeamento Name relation [param] value attribute Entity binding rule"Name" when binding : Entity (attribute relation[param]new DataType("value")) then SituationHelper.situationDetected(drools, SituationClass.class);
Mapeamento Name SituationA SituationB equals participant participant rule"Name" when $s1 : SituationA ($binding_name : patricipant, active == false) $s2 : SituationB (participant == $binding_name, active == true ) then SituationHelper.situationDetected(drools, SituationClass.class);
Execução Classes Java Regras Drools Fontes de contexto Memória de trabalho Repositório de regras Aplicação Maquina de regras
Protótipo Aplicação Web Máquina de Regras Cliente
Contribuições • Linguagem de Modelagem de Situações (SML) • Sintaxe abstrata/concreta • Formalização semântica • Detecção de Situações • Mapeamento entre modelo e plataforma Drools • Suporte Ferramental • UML para Modelo de Contexto • Editor SML • Geração de código com base nos modelos
Trabalhos Futuros • Avaliar expressividade em diversos cenários; • Melhorar aspectos de derivação de dados em SML; • Integração com plataforma de captura de contexto; • Lidar com qualidade de contexto; • Especificar comportamento com base em situações.
Uma Abordagem Baseada em Modelos para Especificação e Detecção de Situações em Sistemas Sensíveis ao Contexto Izon Thomaz Mielke Orientadora: Patrícia DockhornCosta Coorientador: JoãoPaulo Andrade Almeida