artigo 1 “one world: experiências com uma arquitetura de computação pervasiva” robert grimm...

Post on 07-Apr-2016

215 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

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

top related