artigo 1 “one world: experiências com uma arquitetura de computação pervasiva” robert grimm...
TRANSCRIPT
Artigo 1“One World:
Experiências com uma arquitetura de computação pervasiva”
Robert GrimmNew York University
Seu objetivo é ser uma plataforma que forneça serviços que possibilitem ao usuário mover-se livremente pelo mundo físico, utilizando diversos dispositivos diferentes e podendo acessar informações de qualquer lugar.
Motivação
Facilitar o desenvolvimento de aplicações pervasivas.
Objetivos
Oferecer mobilidade física ao usuário, permitindo que as aplicações se adaptem de acordo com o dispositivo que esta sendo utilizado.
Diferentes aplicações e dispositivos funcionaram juntos sem limitar o usuário a poucas interações.
Prover um fácil compartilhamento de informação entre os usuários do sistema
Proposta Arquitetura comum para a criação de
aplicações pervasivas:Virtual MachineTuplasEventos assíncronosAmbientes
Visão geral
Fornece serviços comuns Destaque para dois serviços:
DiscoveryMigration
Discovery
Localiza recursos através de sua descrição.
Servidor eleito automaticamente por todos os dispositivos
Migração
Responsável por mover o ambiente entre os dispositivos
Ocorre de forma atômica
Critérios de Avalição
Completude
Complexidade
Performance
Utilidade
Aplicações
Serviços de replicação
Gerenciador de usuários e aplicações
Chat
Labscape
Labscape
Resultados
CompletudeFuncionou bem para todas as aplicações Facilita o controle e fluxo dos programas
ComplexidadeO tempo de desenvolvimento foi similar a um
ambiente normal
Resultados
PerformanceMuito boa nos testes realizadosEscalabilidade limitada em um dos testes
UtilidadeDesenvolvimento 2 x mais rápido no caso de
Labscape Resultou em aplicações mais robustas
Lições aprendidas
Êxitos
Aninhamentos são bons para compor aplicações
A migração facilita o desenvolvimento e reduz a complexidade das aplicações
Lições aprendidas
Espaço de usuário vs kernel
Bom para melhorar a segurança do sistema
Necessidade de uma ferramenta para converter bibliotecas existentes
Lições aprendidas
Características superestimadasComunicação clássica via sockets não
utilizada explicitamente Usou-se apenas eventos
Armazenamento baseado em Banco de Dados Garantias desnecessárias para algumas aplicações Degradou a performance
Lições aprendidas
Limitações
Implementação das tuplas como classes Java Melhor usar um modelo centrado em dados (XML)
Facilitar a comunicação com serviços Web Não baseados em eventos
Conclusão
Definir protocolos para comunicação de sistemas pervasivos e Web
Abordagem voltada para declaração ao invés de programação
Artigo 2“Scripting Your home”
Mirko Knoll1, TorbenWeis1, Andreas Ulbrich2
and Alexander Brändle3
1 Universit¨at Stuttgart, Universitätsstrasse 38, Stuttgart2 Technische Universit¨at Berlin, Einsteinufer 17, 10587 Berlin
3 Microsoft Research Cambridge
Seu objetivo é ser um framework de fácil utilização, para que tanto usuários casuais
quanto profissionais de TI consigam interagir com o sistema e criar aplicações
que gerenciem suas casas.
Motivação
Desenvolver um ambiente de fácil utilização e poderoso o suficiente para que usuários leigos consigam utilizá-lo e usuários experientes possam fazer o que querem.
Objetivos
Afastar a complexidade de linguagens de programação dos usuários inexperientes
Prover alternativas mais simples para a definição de scripts
Proposta Criar uma linguagem que abstraia a
complexidade de linguagens de programação
Disponibilizar comandos avançados como laços e desvios (if/then/else)
Modelos de programação
Linguagens de propósito geralExtremamente poderosasDetectam erros apenas depois que são
cometidos
Modelos de programação
Ferramentas para usuários finais
Programação por demonstração
Físico: usuário mostra ao computador o que deve ser feito (monta diagramas que são capturados pelo computador)
Macro: usuário grava ações, semelhante a macros utilizadas por diversos programas
Modelos de programação
Ferramentas para usuários finaisStoryboard
Descreve ações através de um conjunto de imagens
Limitada por não conseguir descrever eventos
Jigsaw Liga os dispositivos como quebra-cabeças Conecta a saída de um a entrada do outro
Modelos de programação
Linguagens de domínio específicoProgramação científica
Utilizada por um cientista de uma determinada áreaRobôs de brinquedo
Linguagem gráfica simples de usar Mais robusta que storyboards, jigsaw e macros
VRDK Linguagem gráfica de alto nível Semelhante as duas anteriores, porém em outro
domínio
A Ferramenta
Criar scripts para casa
Uso de drag&drop ou escrita
Distribui os scripts para todos os dispositivos envolvidos
E-Home Scripting Meio termo entre modelos de programação
complexos e os fáceis de usar
Baseia-se em cinco conceitos: Componentes Eventos Comandos Workflows Contexto
Componentes
Podem ser dispositivos ou serviços
Adicionam comandos e eventos próprios
Eventos
Emitidos e recebidos pelos componentes
Uma aplicação espera por eventos para executar
Comandos
Utilizados para controlar os dispositivos
São fornecidos ao VRDK pelo próprio dispositivo
Workflows Liga eventos e comandos
Utiliza estruturas avançadas Laços Condições (if/then/else) Processos Seleções
Usa eventos assíncronos para comunicar-se a outros workflows e processos
Contexto
Conjuto de locais, situações e/ou pessoas
Necessita de um servidor de contextos externo ao VRDK
Contexto
Fornece as seguintes informaçõesLocalização: associa funcionalidades a locais
Situações: se possível de detectar, então pode também ter funcionalidades associadas
Objetos físicos: fornece informações sobre localização e rastreamento de objetos, se disponível.
Arquitetura
Plug-ins: os dispositivos devem fornecer plug-ins para ser reconhecidos pelo VRDK
Interface com o usuário: permite a montagem de diagramas usando o mouse ou escrita manual (TabletPC)
Arquitetura
Interpretador de scriptsAvalia as expressões e executa o fluxo de
trabalhoPermite interagir com diversos dispositivos
através de plug-ins
Arquitetura
Geração do código
Diferentes linguagens, dependendo do dispositivo
Distribui o código Modelo mestre-escravo Modelo completamente descentralizado
Experiência
Avaliado em 4 feiras científicas (+500 pessoas)
Validou a interface de montagem dos diagramas
Uso de fórmulas causo problemas para metade das pessoasDevido a falta de conhecimento de
matemática, não pela ferramenta
Conclusão
Juntou diferentes dispositivos em uma mesma interface
Mostrou-se fácil de usar pelo público alvoProblemas encontrados não estavam
diretamente relacionados ao ambiente
Trabalhos Futuros
Implementação do comportamento de Macros
Integração a outras interfaces gráficas (como o Aero, no Windows Vista)
Convertê-lo para funcionar a partir de centrais multimídias.
Comparações
One World
Middleware Fornece blocos de construção comuns
para diferentes aplicações Roda em diferentes dispositivos
Reconhece automaticamenteFacilita a troca de informações
VRDK
Interface comum entre diferentes dispositivos
Permite a usuários leigos criarem programas
Objetiva facilidade de programação
Comparações
Possuem finalidades diferentesVRDK facilita a sua utilização
Usuários leigos ou profissionais de TIOne World facilita o desenvolvimento de
outras aplicações Desenvolvedores de sistemas pervasivos
Comparações
VRDK assume os dispositivos sempre presentes
One World possui protocolos para conectar e localizar os dispositivos
Comparações
VRDK utiliza plug-ins para se comunicar com os dispositivos
One World almeja ser executado por todos os dispositivos e facilita a comunicação entre eles
Comparações
A utilidade do VRDK está altamente voltada para seu objetivo: scripts para casas inteligentes (SmartHomes)
One World preocupa-se com ambientes gerais de computação pervasiva, com dispositivos e dados altamente dinâmicos
Notas
CritériosNotas
Artigo 1 Artigo 2
Motivação e estado da arte 5 4
Problemas a resolver e modelo 5 5
Resultados e comparação com trabalhos relacionados 3 3
Redação e formatação 3 5