Seminario - Versão Final
Upcoming SlideShare
Loading in...5
×
 

Seminario - Versão Final

on

  • 1,826 views

Presentation about ubiquitous software architecture

Presentation about ubiquitous software architecture

Statistics

Views

Total Views
1,826
Views on SlideShare
1,801
Embed Views
25

Actions

Likes
1
Downloads
39
Comments
0

3 Embeds 25

http://rubens-tees2007.blogspot.com 22
http://www.rubens-tees2007.blogspot.com 2
http://www.chr.1307i.com 1

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Seminario - Versão Final Seminario - Versão Final Presentation Transcript

    • Arquitetura de software para computação ubíqua Rubens de Souza Matos Jr. Universidade Federal de Sergipe Departamento de Computação Trabalho desenvolvido durante a disciplina Tópicos Especiais em Engenharia de Software, ministrada pelo prof° Rogério Nascimento
    • Arquitetura de software para computação ubíqua
      • Conceitos de computação ubíqua
      • Desafios principais dos softwares ubíquos
      • Modelos existentes
      • Estudo de caso
      • Problemas em aberto
      • Referências
    • Arquitetura de software para computação ubíqua
      • Conceitos de computação ubíqua
        • Vislumbrada por Mark Weiser (1988~1991).
        • 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.
    • (Tripathi, 2005) ‏
    • 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), do IBM T. J. Watson Research Center.
          • 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 prioridade.
          • 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.
    • Arquitetura de software para computação ubíqua
      • Modelos existentes
        • Atividades do Tempo de projeto:
          • 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?
            • Qual o fluxo entre as tarefas?
            • Qual lógica o sistema irá executar para cada 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 : Portabilidade.
          • Tuplas: Armazenamento simplificado.
          • Eventos assíncronos: Notificação explícita de uma mudança de contexto.
          • Ambientes: Contêineres para cada aplicação e seus respectivos dados.
    • Arquitetura de software para computação ubíqua
      • Modelos existentes
        • Na arquitetura One.world, também são definidos serviços do sistema.
        • Serviços do sistema fazem uso dos serviços básicos.
    • Arquitetura de software para computação ubíqua Check-pointing Proteção contra falhas Descoberta Localização Migração Mobilidade Eventos remotos Comunicação E/S estruturada Armazenamento de dados Motor de busca Busca Serviço no One.world Necessidade da aplicação
    • Arquitetura de software para computação ubíqua
      • Aplicações de teste para One.world:
        • Chat: Um sistema de mensagens de texto e áudio, capaz de gerenciar mudanças de localização do usuário.
        • Labscape: Assistente digital para laboratórios de biologia. “Segue” o pesquisador, descobrindo qual dispositivo mais próximo dele, permitindo a transferência automática dos dados necessários.
    • Arquitetura de software para computação ubíqua
      • Estudo de caso: agenda de compromissos
        • Tempo de projeto:
          • Escolha da linguagem Java e plataforma Java ME.
          • Escolha do padrão de projeto em camadas MVC: independência entre código de apresentação, negócio e controle.
    • Arquitetura de software para computação ubíqua
      • Estudo de caso: agenda de compromissos
        • Tempo de projeto:
          • Definição de interfaces abstratas: interação vocal, digitação, seleção de datas, horários e tipos de compromisso
          • Linguagem de descrição de serviço: baseada em XML (algo semelhante a WSDL).
    • Arquitetura de software para computação ubíqua
      • Estudo de caso: agenda de compromissos
        • Tempo de carga:
          • Tecnologias de composição de interfaces, em conjunto com a JVM, decidem se datas serão informadas através de seleção em um calendário gráfico, digitação de números, ou de forma vocal.
          • MIRS (Multimodal Interface Rendering System) ‏
          • UIML (User Interface Markup Language) ‏
          • VoiceXML
    • Arquitetura de software para computação ubíqua
      • Estudo de caso: agenda de compromissos
        • Tempo de execução:
          • Padrão: Entrada de datas de forma vocal
          • +
          • Sensor indica problema no reconhecimento da voz.
          • +
          • Interação com JVM e MIRS.
          • =
          • Troca da interface para outra, baseada em entrada manual dos dados.
    • Arquitetura de software para computação ubíqua
      • Estudo de caso: agenda de compromissos
        • Em One.world:
          • Serviços básicos
          • Máquina virtual: JVM
          • Tuplas: Classes Java ou esquemas XML
          • Eventos assíncronos: Jini
          • Ambientes: JADE
    • Arquitetura de software para computação ubíqua
      • Estudo de caso: agenda de compromissos
        • Em One.world:
          • Serviços do sistema
          • Descoberta dinâmica: Jini, JADE, ou serviço nativo para Bluetooth no Java ME e na MIDP (Mobile Information Device Profile).
          • Eventos remotos: Também há suporte com JADE ou Jini.
          • Busca e armazenamento de dados: funções disponíveis na API do Java ME.
    • Arquitetura de software para computação ubíqua
      • Problemas em aberto
        • 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.
          • Há propostas de mesclas do MVC com outros padrões de projeto.
    • Arquitetura de software para computação ubíqua
      • Problemas em aberto
        • Segurança nas redes sem fio e nos sistemas ubíquos.
        • Tratamento de interfaces das mais variadas:
          • Wearable computing
          • Tratamento de resoluções de tela variadas, para aplicações que usam vídeo.
        • Integração das redes sem fio de forma transparente para o usuário.
    • Arquitetura de software para computação ubíqua
      • Referências
      • R. B. de Araújo. Computação ubíqua: Princípios,
      • tecnologias e desafios. In Anais do XXI SBRC, 2003.
      • R. Grimm. One.world: Experiences with a pervasive computing architecture. Pervasive computing, 2004.
      • G. Banavar et al. Challenges: an application model for pervasive computing. ACMPress, 2000 .
      • C. A. da Costa and C. F. R. Geyer. Um modelo genérico de infra-estrutura de software para a computação ubíqua. In WSPPD'2006 - IV WorkshopPPD/UFRGS, 2006
    • Arquitetura de software para computação ubíqua
      • Referências
      • W. Mueller, R. Schaefer, and S. Bleul. Interactive multimodal user interfaces for mobile devices. In Proceedings of the 37th Annual Hawaii International Conference on System Sciences, 2004.
      • P. Sauter, G. Vogler, G. Specht, and T. Flor. A model-view-controller extension for pervasive multi-client user interfaces. Personal and UbiquitousComputing, 9(2), Mar 2005.
      • A. K. Tripathi. Reflections on Challenges to the Goal of Invisible Computing. In: Ubiquity. vol 6, issue 17 , ACM, 2005. Disponível em: www.acm.org/ubiquity.