Seminário - Arquitetura de software para computação ubíqua

Post on 01-Nov-2014

2.492 views 1 download

Tags:

description

 

Transcript of Seminário - Arquitetura de software para computação ubíqua

Arquitetura de software para computação ubíqua

Rubens de Souza Matos Jr.

Arquitetura de software para computação ubíqua

Conceitos de computação ubíqua

Desafios principais dos softwares ubíquos Modelos existentes Problemas abertos Referências

Arquitetura de software para computação ubíqua

Conceitos de computação ubíqua Vislumbrada por Mark Weiser.

Designa a possibilidade de acesso ao ambiente

computacional independente da localização do

usuário.

Intimamente ligada à computação pervasiva: a

informática presente nos objetos mais triviais.

Sistemas que se adaptam aos mais diferentes

dispositivos e condições computacionais.

Arquitetura de software para computação ubíqua

Desafios principais dos sistemas ubíquos Muitos dos problemas comuns aos sistemas

distribuídos. Ex: escalabilidade,

heterogeneidade, integração e segurança.

Mobilidade.

Qualidade de software.

Consciência e gerência de contexto.

Invisibilidade.

Interface com o usuário: usabilidade.

Arquitetura de software para computação ubíqua

Desafios principais dos sistemas ubíquos Muitas preocupações para os projetistas,

desenvolvedores, etc.

É preciso ''esconder'' essa complexidade,

para os desenvolvedores, assim como para o

usuário.

Arquitetura de software para computação ubíqua

Modelos existentes Mudança de paradigma:

Modelo proposto por Guruduth Banavar (2000).

Um dispositivo é um portal, num espaço de dados e

aplicação. Não um repositório de software

customizado. Uma aplicação é um meio pelo qual o usuário realiza

uma tarefa. Explorar todas as capacidades do hardware

não deve ser prioritário. O ambiente computacional é o próprio espaço físico,

otimizado pelas informações. Não é virtual.

Arquitetura de software para computação ubíqua

Modelos existentes Divisão do ciclo de vida da aplicação em 3

partes: Tempo de projeto Tempo de carga Tempo de execução

Arquitetura de software para computação ubíqua

Modelos existentes Atividades do Tempo de projeto:

Modelo de programação Identificação dos elementos abstratos de

interação. Linguagem de descrição de serviço. Modelo baseado em tarefas e na navegação

entre as tarefas. Metodologia de desenvolvimento

Que tarefa o usuário quer realizar? Quais ações ele precisa tomar? De quais informações ele precisa pra fazer a

tarefa?

Arquitetura de software para computação ubíqua

Modelos existentes Atividades do Tempo de carga

Descoberta dinâmica.

Negociação de capacidades e requisitos.

Seleção, adaptação e composição da

apresentação.

Arquitetura de software para computação ubíqua

Modelos existentes Atividades do Tempo de execução

Monitoramento e redistribuição

Operação desconectada

Detecção e recuperação de falhas

(COSTA;GEYER,2006)

Arquitetura de software para computação ubíqua

Modelos existentes One.world (GRIMM,2004)

Serviços básicos do “núcleo” do sistema: Máquina virtual : JVM tem sido uma opção

comum. Tuplas: Armazenamento simplificado. Eventos assíncronos: notificação explícita

de uma mudança de contexto. Ambientes: Containers para cada aplicação

e seus respectivos dados.

Arquitetura de software para computação ubíqua

Problemas abertos Definição de padrões de engenharia do

software mais adequados MVC é usado em dispositivos móveis, mas...

Aumenta tamanho do código. Não muda o modelo da aplicação, limitando

a adaptabilidade. Tratamento de interfaces das mais variadas:

Wearable computing Toda gama de resoluções de tela, etc.