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

13
Arquitetura de software para computação ubíqua Rubens de Souza Matos Jr.

TAGS:

description

 

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

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

Arquitetura de software para computação ubíqua

Rubens de Souza Matos Jr.

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

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

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

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.

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

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.

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

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.

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

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.

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

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

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

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?

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

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.

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

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

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

(COSTA;GEYER,2006)

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

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.

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

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.