16
Evolução do Software em Sistemas Pervasivos André Pontes Computação Ubíqua - 2010

Evolução de Software em Computação Ubíqua

Embed Size (px)

Citation preview

Page 1: Evolução de Software em Computação Ubíqua

Evolução do Software em Sistemas Pervasivos

André PontesComputação Ubíqua - 2010

Page 2: Evolução de Software em Computação Ubíqua

As tecnologias mais profundas são aquelas que desaparecem.

Tecem-se no tecido da vida cotidiana, até que são indistinguíveis a partir dele.

Mark Weiser, ex-cientista chefe do Xerox PARC,onde se desenvolve aplicativos pervasivos desde 1980.

Page 3: Evolução de Software em Computação Ubíqua

Dispositivos nos Sistemas Pervasivos

• Computação pervasiva não depende de novos dispositivos

• Novos dispositivos expandem as possibilidades e poder de recombinação da computação pervasiva.

• Quanto mais local, mais barata e precisa é a informação

• Utilização de localização/contexto restringem o espaço de soluções.

Page 4: Evolução de Software em Computação Ubíqua

Questões de softwares pervasivos

• Escalabilidade ?• Tolerancia a falhas ?• Atualizações ?

Page 5: Evolução de Software em Computação Ubíqua

Lei de Moore

• Gordon Moore em 1970: O poder de processamento dobra a cada 18 meses.

Page 6: Evolução de Software em Computação Ubíqua

Fim da Lei de Moore

• Após 2000, limitações físicas de hardware não permitiram que velocidade por núcleo continuasse a crescer exponencialmente.

• Novo paradigma: sistema precisa ser escalável.o Internamente: utilização dos núcleos de processamento.o Externamente: comunicação entre dispositivos.

Page 7: Evolução de Software em Computação Ubíqua

Espaço de Aplicativos Pervasivos

Page 8: Evolução de Software em Computação Ubíqua

Espaço de Comunicação Pervasiva

A computação pervasiva permite me comunicar • com alguem específico quando este estiver em algum lugar.• com alguem específico quando este estiver fazendo algo

em particular.• com qualquer pessoa que esteja em um local.

Page 9: Evolução de Software em Computação Ubíqua

Exemplos de Comunicação Pervasiva

• Mensagem à todos próximos: alguem quer carona para o centro ?

• Quero comunicar com Maria assim que sua apresentação acabar.

• Quero comunicar com João assim que ela estiver no supermercado. Não se esqueça do brócolis.

• Comunicar com todos os alunos de ciência da computação no primeiro dia de aula, quando estiverem no ICEX "Venham para o coquetel de recepção aos alunos no 3o andar do prédio"

• ...• ...• ...• ...• ...• ...• ...• ...• ...• ...• ...• ...

Page 10: Evolução de Software em Computação Ubíqua

A falta de aplicações ubíquas aliada ao baixo custo dos dispositivos móveis indicam tendencia de crescimento da computação pervasiva.

Vendas de Dispositivos Móveis

• Bateria de alto desempenho • Conectividade sem fio• Baixo custo dos dispositivos

Page 11: Evolução de Software em Computação Ubíqua

Evolução da Mídia Pervasiva

• Paradoxo: Evolução da mídia ocorre ao mesmo tempo do desaparecimento dos dispositivos.

• Modelos de armazenamento: centralizado x distribuído.• Existe a necessidade de indicar o quanto a informação de

um dispositivo de armazenamento é única, ou seja, não está em mais lugar nenhum.

Page 12: Evolução de Software em Computação Ubíqua

Relatório de erros em sistemas pervasivos

The major difference between a thing that might go wrong and a thing that cannot possibly go wrong is that when a thing that cannot possibly go wrong goes wrong it usually turns out to be impossible to get at or repair.

Douglas Adams, Mostly HarmlessEnglish humorist & science fiction novelist (1952 - 2001)

Page 13: Evolução de Software em Computação Ubíqua

Atualização de software pervasivo

• Estatisticamente, apenas 50% dos usuários utilizam a última versão.

• Software dividido em camadas finaso Estabilidadeo Facilidade de debugaçãoo Independência ao hardware.

• Versão n compatível com versão n-1.o Tradeoff: Trafegar a versão juntamente com o pacote de

dados pode trazer latência de comunicação.• Componentes chegam (e possivelmente repassados) por

demanda, erros e atualizações.

Page 14: Evolução de Software em Computação Ubíqua

Relatório de erros típico

• Program state• Stack trace• Register contents• Relatório é enviado para a organização• Relatórios são redundantes para desenvolvedores.• Stack trace é insuficiente: não sabe em que cenário o

problema ocorre.

Page 15: Evolução de Software em Computação Ubíqua

Desafios para sistema ubíquos estáveis

• Problema: Coletar o máximo de informações (ações do usuário) sem prejudicar o desempenho, nem gerar gargalo de comunicação ?

• Solução: Sessões aleatórias são monitoradas - amostragem ou técnicas de depuração estatistica através do comportamento observado, usuário pode desligar o envio de informações estatísticas (privacidade).

Page 16: Evolução de Software em Computação Ubíqua

Referências

• John J. Baron. Software upgrade in ubiquitous computing. Technical report, HP Labs, 2008.

• Osbakk, P., Rydgren, E. 2005. Ubiquitous Computing for the Public. In Proceedings of Pervasive 2005 Workshop on Pervasive Mobile Interaction Devices (PERMID 2005), pp. 56--59

• A. Madhavapeddy, N. Ludlam, Ubiquitious Computing needs to catch up with Ubiquitous Media, University of Cambridge Computer Laboratory, Interceptor Communications Ltd., 2005.

• E. Yoneki, "Evolution of Ubiquitous Computing with Sensor Networks in Urban Environments," In Proceeding of the ACM International Conference on Ubiquitous Computing, Sep. 2005.