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 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 . 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 Contexto Aplicação Aplicações Sensíveis ao Contexto Usuário Aplicaçã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 Situação Características 𝒟 Tipo de Situação s1 s2 s3 s4 𝒯 S1 S2 S3 Abordagem para Especificação e Detecção de Situações Requisitos Conceitos de Situação Linguagem de Modelagem Realização Modelo de contexto Independente de plataforma Mapeamento dos conceitos Composição Usabilidade Geração automática Relações temporais Abordagem Especificação Transformação Execução Especificação Especificação Modelo de contexto Desenvolvedor Modelo de situações Cenário de Fraude Bancária Modelo de Contexto SML Linguagem de Modelagem de Situações Construído sobre o modelo de contexto Notação gráfica Foco na usabilidade Modelo de Situação Modelo de Situação Modelo de Situação Modelo de Situação Modelo de Situação Efetividade Cognitiva Fever «Entity» person:Person «IntrinsicContext» temperature greater than «Litaral» 37˚C Avaliação da Notação Avaliação da Notação Fever Person person temperature greater than 37˚C Suporte Ferramental Editor Gráfico Metamodelo de Situações Metamodelo de Contexto Transformação Transformação Transformação Classes Java Regras Drools Mapeamento Name Entity attribute relation [param] binding rule "Name" when binding : Entity (attribute relation[param] new DataType("value")) then SituationHelper.situationDetected(drools, SituationClass.class); value 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 Execução Classes Java Regras Drools Fontes de contexto Memória de trabalho Repositório de regras Aplicação Maquina de regras Protótipo Cliente Aplicação Web Máquina de Regras Protótipo Considerações 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. Obrigado ! 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