SlideShare una empresa de Scribd logo
1 de 3
Descargar para leer sin conexión
Um estudo sobre arquiteturas de software para
                        computação ubíqua

                 Rubens de S. Matos Júnior                                  Rogério Nascimento
                  Departamento de Computação                             Departamento de Computação
                 Universidade Federal de Sergipe                        Universidade Federal de Sergipe
                 rubens.matos@gmail.com


ABSTRACT                                                         muitas das quais s˜o bastante conhecidas em ´reas como
                                                                                     a                            a
                                                                 sistemas distribu´ıdos e aquelas que lidam com dispositivos
Texto pendente
                                                                 m´veis. Dentre esses desafios est˜o: escalabilidade, hetero-
                                                                   o                               a
                                                                 geneidade, integra¸˜o, seguran¸a e severas restri¸˜es de re-
                                                                                    ca           c                 co
Keywords
                                                                 cursos. Ainda com rela¸˜o ` adaptabilidade, podemos citar
                                                                                         ca a
Computa¸˜o ub´
       ca    ıqua, computa¸˜o pervasiva
                          ca
                                                                 a necessidade de atribuir aos softwares a capacidade de con-
                                                                 sciˆncia e gerˆncia de contexto.
                                                                    e          e
1.   INTRODUÇÃO
A computa¸˜o ub´
            ca     ıqua ´ uma das ´reas mais promissoras
                         e           a                           Al´m das preocupa¸˜es supracitadas, o projeto de um sis-
                                                                    e                  co
e que tem merecido grande aten¸˜o deste a ultima decada.
                                 ca           ´                  tema ub´  ıquo n˜o pode abrir m˜o da qualidade do software,
                                                                                 a               a
Neste trabalho apresentaremos alguns conceitos de computa¸˜oca   tanto em termos de manutenibilidade e adaptabilidade, quanto
ub´ıqua, elucidando quais os desafios principais dos softwares    de um elevado n´ de aten¸˜o dispensado ` usabilidade do
                                                                                   ıvel       ca            a
ub´ıquos. Tamb´m ser˜o mostrados alguns dos modelos exis-
                e      a                                         mesmo, j´ que a interface do sistema com o usu´rio deve
                                                                            a                                      a
tentes para o desenvolvimento desse tipo de aplica¸˜o, procu-
                                                  ca             facilitar a incorpora¸˜o da aplica¸˜o ub´
                                                                                        ca         ca    ıqua ao cotidiano.
rando chegar ao n´ ıvel de uma arquitetura comum para sis-
temas ub´ ıquos. Abordaremos tamb´m alguns problemas que
                                    e                            Vemos que n˜o se trata de um conjunto simples de proble-
                                                                               a
ainda se encontram em aberto, chegando `s conclus˜es so-
                                            a         o          mas a serem solucionados, para atingir a ubiquididade no
                                                                                                       ´
bre o que j´ h´ de s´lido, e o que deve ainda desafiar os
             aa        o                                         n´
                                                                  ıvel idealizado por v´rias pessoas. E preciso “esconder”
                                                                                       a
pesquisadores da ´rea.
                  a                                              essa complexidade para os desenvolvedores, utilizando ca-
                                                                 madas de abstra¸˜o, que simplifiquem e resolvam eficiente-
                                                                                  ca
                                                                 mente parte destas tarefas, diminuindo consequentemente o
2.   VISÃO GERAL DA COMPUTAÇÃO UBÍQUA
                                                                 tempo de desenvolvimento da mesma e a probabilidade de
O termo ”computa¸˜o ub´
                    ca     ıqua” geralmente designa o acesso
                                                                 alto acoplamento entre partes componentes do sistema.
a determinados recursos computacionais nas mais diversas
situa¸˜es, indepentementemente da localiza¸˜o, do tempo e
     co                                      ca
                                                                 A seguir, s˜o apresentados alguns dos modelos propostos na
                                                                            a
do dispositivo que esteja sendo usado. Essa id´ia ganhou
                                                   e
                                                                 literatura para a constru¸˜o de sistemas ub´
                                                                                          ca                 ıquos, capazes de
bastante for¸a atrav´s das id´ias de Mark Weiser para a
             c        e          e
                                                                 atender `s demandas discutidas nesta se¸˜o.
                                                                          a                               ca
computa¸˜o do s´culo XXI. Em sua an´lise [4], foi desta-
         ca       e                      a
cado que as tecnologias mais profundas s˜o aquelas que se
                                           a
integram ` vida cotidiana at´ se tornarem indistingu´
          a                   e                      ıveis da    3. MODELOS EXISTENTES PARA APLICAÇÕES
mesma. Tal conceito est´ intimamente ligado ao objetivo da
                         a
                                                                    UBÍQUAS
computa¸˜o pervasiva, de embutir poder computacional em
         ca
                                                                 Banavar[1] prop˜e um modelo focado numa mudan¸a de
                                                                                  o                                  c
objetos triviais do cotidiano, tornando t˜o natural quanto
                                          a
                                                                 paradigma, quanto ` forma de percep¸˜o do que ´ e de quais
                                                                                    a               ca         e
poss´ a presen¸a da inform´tica nos ambientes, sendo no-
    ıvel         c              a
                                                                 s˜o os bojetivos de um sistema computacional. Esta refor-
                                                                  a
tada unicamente nos momentos de sua utiliza¸˜o. ca
                                                                 mula¸˜o de conceitos pode ser resumida em 3 id´ias princi-
                                                                       ca                                      e
                                                                 pais:
Neste contexto, uma das condi¸˜es essencias para que este
                                co
cen´rio seja poss´
   a             ıvel ´ a adaptabilidade dos sistemas aos
                      e
mais variados dispositivos e condi¸˜es computacionais. Este
                                  co
                                                                    • Um dispositivo ´ um portal, num espa¸o de dados e
                                                                                      e                    c
importante requisito traz consigo v´rias outras necessidades,
                                   a
                                                                      aplica¸˜o. N˜o pode ser tratado como um reposit´rio
                                                                            ca     a                                 o
                                                                      de software customizado.

                                                                    • Uma aplica¸˜o ´ um meio pelo qual o usu´rio realiza
                                                                                 ca e                        a
                                                                      uma tarefa. Explorar todas as capacidades do hard-
                                                                      ware n˜o deve ser prioridade.
                                                                            a

                                                                    • O ambiente computacional ´ o pr´prio espa¸o f´
                                                                                                  e      o         c ısico,
                                                                      otimizado pelas informa¸˜es. O sistema deve ter o am-
                                                                                              co
                                                                      biente real como fonte e objeto de informa¸˜o.
                                                                                                                ca
Application need    One.world service
Uma caracter´ ıstica importante dessa abordagem, ´ a divis˜o
                                                 e        a
                                                                           Search              Query engine
de ciclo de vida da aplica¸˜o em 3 fases, cada uma com suas
                          ca
                                                                           Store data          Structured I/O
peculiaridades:
                                                                           Communicate         Remote events
                                                                           Locate              Discovery
   • Tempo de projeto: As atividades aqui s˜o voltadas
                                              a                            Fault-protect       Check-pointing
     pricipalmente para o modelo de programa¸˜o e a metodolo-
                                            ca                             Move                Migration
     gia de desenvolvimento a ser adotados.
                                                                Table 1:  Tabela de servi¸os do sistema para
                                                                                         c
   • Tempo de carga: Aqui s˜o tratadas as especifici-
                                   a
                                                                One.world
     dades da descoberta dinˆmica, assim como da negoci-
                               a
     a¸˜o de capacidades e requisitos. Sele¸˜o, adapta¸˜o
      ca                                      ca      ca
     e composi¸˜o da apresenta¸˜o tamb´m s˜o atividades
                ca               ca        e    a                    o middleware tem a capacidade de trocar a interface
     pos´ıveis de serem realizadas nesta fase.                       para outra, baseada em entrada manual dos dados.
   • Tempo de execu¸˜o: Neste ponto ´ tratado o mon-
                                          e
                        ca
     itoramento e redistribui¸˜o de tarefas, a possibilidade
                             ca
                                                                Uma outra proposta de modelo, mais detalhado, ´ apresen-
                                                                                                                    e
     de opera¸˜o desconectada e a setec¸˜o e recupera¸˜o
              ca                         ca              ca
                                                                tada em [3]. Trata-se, de fato, de uma arquitetura para a
     de falhas.
                                                                constru¸˜o de aplica¸˜es pervasivas. Chamada “One.world”,
                                                                       ca            co
                                                                ela define servi¸os b´sicos do “n´ cleo” de um sistema ub´
                                                                                c   a           u                       ıquo,
                                                                que atacariam determinadas necessidades fundamentais. Os
Seguindo essa abordagem, outros trabalhos [2] vˆm indi-
                                                   e
                                                                principais seriam:
cando que as tarefas de tempo de projeto seriam facilitadas
pelo uso de APIs e frameworks adequados, enquanto muitas
das tarefas de tempo de carga e de execu¸˜o seriam tratadas
                                        ca
                                                                   • M´quina virtual : JVM tem sido uma op¸˜o comum.
                                                                      a                                   ca
atrav´s de recursos de um middleware, que deveria estar
     e
presente nos dispositivos utilizados. Podemos compreender          • Tuplas: Armazenamento simplificado.
melhor essa separa¸˜o de responsabilidades ao citar uma ex-
                    ca
                                                                   • Eventos ass´
                                                                                ıncronos: notifica¸˜o expl´
                                                                                                 ca      ıcita de uma mu-
emplo de resolu¸˜o do desafio das interfaces com o usu´rio.
                 ca                                    a
                                                                     dan¸a de contexto.
                                                                        c
Para este problema, uma parte da solu¸˜o, que corresponde
                                        ca
                                                                   • Ambientes: Containers para cada aplica¸˜o e seus re-
                                                                                                           ca
ao tempo de projeto, envolve a escolha e utiliza¸˜o de APIs
                                                ca
                                                                     spectivos dados.
que suportem o desenvolvimento de interfaces abstratas. Es-
tas APIs tamb´m devem permitir uma vis˜o de neutralidade
               e                           a
quanto ao dispositivo-alvo do sistema desenvolvido. Quanto      Al´m desses, na arquitetura One.world deve haver alguns
                                                                   e
` parte resolvida em tempo de carga por um middleware,
a                                                               servi¸os do sistema, que far˜o uso dos servi¸os b´sicos, e
                                                                     c                      a                c     a
est´ a sele¸˜o dinˆmica de interfaces, que depender´ das in-
    a      ca     a                                a            atender˜o a algumas necessidades comuns neste tipo apli-
                                                                        a
forma¸˜es que o mesmo possui sobre suas capacidades e as
      co                                                        ca¸˜o. A tabela 1 indica quais s˜o esses servi¸os e que ne-
                                                                  ca                            a             c
do dispositivo. Esta sele¸˜o dinˆmica poderia ocorrer tam-
                          ca     a                              cessidades eles suprem.
b´m em tempo de execu¸˜o, quando diferentes contextos de
  e                      ca
execu¸˜o do software seriam refletidos em diferentes formas
      ca
de intera¸˜o. Outra atividade de tempo de execu¸˜o, de
          ca                                         ca
responsabilidade do middleware, seria o pr´prio tratamento
                                             o                  4. CONCLUSÕES
da intera¸˜o com o usu´rio.
          ca            a
                                                                Por enquanto, podemos afirmar que h´ alguns problemas em
                                                                                                     a
                                                                aberto, tais como a defini¸˜o de padr˜es de engenharia do
                                                                                             ca       o
Com essas diretrizes, obt´m-se um modelo gen´rico para sis-
                         e                      e
                                                                software mais adequados, j´ que o MVC ´ comumente usado
                                                                                             a          e
temas ub´
        ıquos, que pode ser instanciado de diversas formas,
                                                                em dispositivos m´veis, mas em geral aumenta tamanho do
                                                                                  o
a depender das tecnologias dispon´
                                 ıveis, tanto a n´ de hard-
                                                  ıvel
                                                                c´digo e n˜o muda o modelo da aplica¸˜o, limitando a adapt-
                                                                 o        a                         ca
ware quanto de software.
                                                                abilidade. Outro desafio n˜o completamente solucionado ´
                                                                                              a                           e
                                                                tratamento de interfaces das mais variadas, no sentido mais
Um cen´rio real de instancia¸˜o desse modelo, com um soft-
       a                    ca
                                                                extremo do termo “wearable computing” at´ coisas as diver-
                                                                                                           e
ware de agenda de compromissos, seria o seguinte:
                                                                sas resolu¸˜es de tela, etc.
                                                                          co

                        ´                                       5. REFERENCES
   • Tempo de projeto: E escolhida a plataforma de desen-
     volvimento Java, com algumas APIs auxiliares, etc.         [1] G. Banavar, J. Beck, E. Gluzberg, J. Munson,
                                                                    J. Sussman, and D. Zukowski. Challenges: an
   • Tempo de carga: No ato da instala¸˜o, o middleware
                                          ca                        application model for pervasive computing. ACM Press,
     presente no dispositivo ser´ o respons´vel pela defini¸˜o
                                a          a              ca        2000.
     da forma de entrada de datas pelo usu´rio, que pode
                                              a
                                                                [2] C. F. R. G. Cristiano Andr´ da Costa. Um modelo
                                                                                                e
     ser atrav´s de sele¸˜o em um calend´rio gr´fico, digi-
              e         ca                 a      a
                                                                    gen´rico de infra-estrutura de software para a
                                                                        e
     ta¸˜o de n´ meros, ou at´ mesmo vocal.
       ca       u             e
                                                                    computa¸˜o ub´
                                                                             ca     ıqua. In WSPPD’2006 - IV Workshop
                                                                    PPD/UFRGS, 2006.
   • Tempo de execu¸˜o: Supondo que a entrada de datas
                      ca
     seja feita, por padr˜o, de forma vocal, mas a quali-
                         a                                      [3] R. Grimm. One.world: Experiences with a pervasive
     dade do reconhecimento da voz do usu´rio est´ ruim,
                                           a     a                  computing architecture. Pervasive computing, 2004.
[4] M. Weiser. The computer for the 21st century.
    Scientific American, 265(3):94:104, 1991.

Más contenido relacionado

Destacado

artigo PIBICJr - Scientia Plena Jovem
artigo PIBICJr - Scientia Plena Jovemartigo PIBICJr - Scientia Plena Jovem
artigo PIBICJr - Scientia Plena JovemJuarez Filho
 
Seminário - Arquitetura de software para computação ubíqua
Seminário - Arquitetura de software para computação ubíquaSeminário - Arquitetura de software para computação ubíqua
Seminário - Arquitetura de software para computação ubíquaRubens Matos Junior
 
banner_astronomia_cienart2014
banner_astronomia_cienart2014banner_astronomia_cienart2014
banner_astronomia_cienart2014Juarez Filho
 
Arquiteturas de software para computação ubiqua
Arquiteturas de software para computação ubiquaArquiteturas de software para computação ubiqua
Arquiteturas de software para computação ubiquaRubens Matos Junior
 

Destacado (6)

Especificacao do Produto
Especificacao do ProdutoEspecificacao do Produto
Especificacao do Produto
 
artigo PIBICJr - Scientia Plena Jovem
artigo PIBICJr - Scientia Plena Jovemartigo PIBICJr - Scientia Plena Jovem
artigo PIBICJr - Scientia Plena Jovem
 
Seminário - Arquitetura de software para computação ubíqua
Seminário - Arquitetura de software para computação ubíquaSeminário - Arquitetura de software para computação ubíqua
Seminário - Arquitetura de software para computação ubíqua
 
banner_astronomia_cienart2014
banner_astronomia_cienart2014banner_astronomia_cienart2014
banner_astronomia_cienart2014
 
Plano do Projeto
Plano do ProjetoPlano do Projeto
Plano do Projeto
 
Arquiteturas de software para computação ubiqua
Arquiteturas de software para computação ubiquaArquiteturas de software para computação ubiqua
Arquiteturas de software para computação ubiqua
 

Similar a Um Estudo sobre Arquiteturas de Software para Computação Ubíqua

Introdução a arquitetura de sistemas com .NET
Introdução a arquitetura de sistemas com .NETIntrodução a arquitetura de sistemas com .NET
Introdução a arquitetura de sistemas com .NETMário Meyrelles
 
TDC2018SP | Trilha Arq .Net - Serverless Reactive Programming on Azure
TDC2018SP | Trilha Arq .Net - Serverless Reactive Programming on AzureTDC2018SP | Trilha Arq .Net - Serverless Reactive Programming on Azure
TDC2018SP | Trilha Arq .Net - Serverless Reactive Programming on Azuretdc-globalcode
 
Manuscrito Computação Ubíqua
Manuscrito Computação UbíquaManuscrito Computação Ubíqua
Manuscrito Computação Ubíquaguest938c2b3
 
Arquitetura de Software
Arquitetura de SoftwareArquitetura de Software
Arquitetura de SoftwareJairo Junior
 
Proposta de Projeto de Pesquisa - CEFET - 2014
Proposta de Projeto de Pesquisa - CEFET - 2014Proposta de Projeto de Pesquisa - CEFET - 2014
Proposta de Projeto de Pesquisa - CEFET - 2014Waldir R. Pires Jr
 
O desafio de sustentar centenas de servicos
O desafio de sustentar centenas de servicosO desafio de sustentar centenas de servicos
O desafio de sustentar centenas de servicosGraziella Bonizi
 
Sistemas Embarcados - 22 06-2011
Sistemas Embarcados - 22 06-2011Sistemas Embarcados - 22 06-2011
Sistemas Embarcados - 22 06-2011Steve Rogers
 
Interação entre MDA e PMBOK para Suporte ao Desenvolvimento de Aplicações Com...
Interação entre MDA e PMBOK para Suporte ao Desenvolvimento de Aplicações Com...Interação entre MDA e PMBOK para Suporte ao Desenvolvimento de Aplicações Com...
Interação entre MDA e PMBOK para Suporte ao Desenvolvimento de Aplicações Com...Thiago Fraga
 
Aula 1 introdução à engenharia de software1 (1)
Aula 1   introdução à engenharia de software1 (1)Aula 1   introdução à engenharia de software1 (1)
Aula 1 introdução à engenharia de software1 (1)Tiago Vizoto
 
Arquitetura da Informacao na WEB
Arquitetura da Informacao na WEBArquitetura da Informacao na WEB
Arquitetura da Informacao na WEBFábio Flatschart
 
Merlinferramentassbc2006 Revisado Em6paginas
Merlinferramentassbc2006 Revisado Em6paginasMerlinferramentassbc2006 Revisado Em6paginas
Merlinferramentassbc2006 Revisado Em6paginasMarcelo Mrack
 
Artigo sistemas embarcados 2011
Artigo sistemas embarcados 2011Artigo sistemas embarcados 2011
Artigo sistemas embarcados 2011afranio47
 
Desenvolvendo a REDEPESQ utilizando uma abordagem ágil
Desenvolvendo a REDEPESQ utilizando uma abordagem ágilDesenvolvendo a REDEPESQ utilizando uma abordagem ágil
Desenvolvendo a REDEPESQ utilizando uma abordagem ágilRafael França
 
Curso de ilustração Digital
Curso de ilustração DigitalCurso de ilustração Digital
Curso de ilustração DigitalLuiz Avelar
 
Curso de Sistema Operacional Linux
Curso de Sistema Operacional Linux Curso de Sistema Operacional Linux
Curso de Sistema Operacional Linux Luiz Avelar
 
Teoria de Sistemas de Informação - Atividade: Tecnologia e SI
Teoria de Sistemas de Informação - Atividade: Tecnologia e SITeoria de Sistemas de Informação - Atividade: Tecnologia e SI
Teoria de Sistemas de Informação - Atividade: Tecnologia e SIAlessandro Almeida
 

Similar a Um Estudo sobre Arquiteturas de Software para Computação Ubíqua (20)

Introdução a arquitetura de sistemas com .NET
Introdução a arquitetura de sistemas com .NETIntrodução a arquitetura de sistemas com .NET
Introdução a arquitetura de sistemas com .NET
 
Artigo Tees
Artigo   TeesArtigo   Tees
Artigo Tees
 
TDC2018SP | Trilha Arq .Net - Serverless Reactive Programming on Azure
TDC2018SP | Trilha Arq .Net - Serverless Reactive Programming on AzureTDC2018SP | Trilha Arq .Net - Serverless Reactive Programming on Azure
TDC2018SP | Trilha Arq .Net - Serverless Reactive Programming on Azure
 
Manuscrito Computação Ubíqua
Manuscrito Computação UbíquaManuscrito Computação Ubíqua
Manuscrito Computação Ubíqua
 
Arquitetura de Software
Arquitetura de SoftwareArquitetura de Software
Arquitetura de Software
 
Proposta de Projeto de Pesquisa - CEFET - 2014
Proposta de Projeto de Pesquisa - CEFET - 2014Proposta de Projeto de Pesquisa - CEFET - 2014
Proposta de Projeto de Pesquisa - CEFET - 2014
 
O desafio de sustentar centenas de servicos
O desafio de sustentar centenas de servicosO desafio de sustentar centenas de servicos
O desafio de sustentar centenas de servicos
 
Sistemas Embarcados - 22 06-2011
Sistemas Embarcados - 22 06-2011Sistemas Embarcados - 22 06-2011
Sistemas Embarcados - 22 06-2011
 
Interação entre MDA e PMBOK para Suporte ao Desenvolvimento de Aplicações Com...
Interação entre MDA e PMBOK para Suporte ao Desenvolvimento de Aplicações Com...Interação entre MDA e PMBOK para Suporte ao Desenvolvimento de Aplicações Com...
Interação entre MDA e PMBOK para Suporte ao Desenvolvimento de Aplicações Com...
 
Aula 1 introdução à engenharia de software1 (1)
Aula 1   introdução à engenharia de software1 (1)Aula 1   introdução à engenharia de software1 (1)
Aula 1 introdução à engenharia de software1 (1)
 
Arquitetura da Informacao na WEB
Arquitetura da Informacao na WEBArquitetura da Informacao na WEB
Arquitetura da Informacao na WEB
 
Merlinferramentassbc2006 Revisado Em6paginas
Merlinferramentassbc2006 Revisado Em6paginasMerlinferramentassbc2006 Revisado Em6paginas
Merlinferramentassbc2006 Revisado Em6paginas
 
Aula 05
Aula 05Aula 05
Aula 05
 
Artigo sistemas embarcados 2011
Artigo sistemas embarcados 2011Artigo sistemas embarcados 2011
Artigo sistemas embarcados 2011
 
Tcc plataforma telemedicina de baixo custo
Tcc plataforma telemedicina de baixo custoTcc plataforma telemedicina de baixo custo
Tcc plataforma telemedicina de baixo custo
 
Aula 02
Aula 02Aula 02
Aula 02
 
Desenvolvendo a REDEPESQ utilizando uma abordagem ágil
Desenvolvendo a REDEPESQ utilizando uma abordagem ágilDesenvolvendo a REDEPESQ utilizando uma abordagem ágil
Desenvolvendo a REDEPESQ utilizando uma abordagem ágil
 
Curso de ilustração Digital
Curso de ilustração DigitalCurso de ilustração Digital
Curso de ilustração Digital
 
Curso de Sistema Operacional Linux
Curso de Sistema Operacional Linux Curso de Sistema Operacional Linux
Curso de Sistema Operacional Linux
 
Teoria de Sistemas de Informação - Atividade: Tecnologia e SI
Teoria de Sistemas de Informação - Atividade: Tecnologia e SITeoria de Sistemas de Informação - Atividade: Tecnologia e SI
Teoria de Sistemas de Informação - Atividade: Tecnologia e SI
 

Um Estudo sobre Arquiteturas de Software para Computação Ubíqua

  • 1. Um estudo sobre arquiteturas de software para computação ubíqua Rubens de S. Matos Júnior Rogério Nascimento Departamento de Computação Departamento de Computação Universidade Federal de Sergipe Universidade Federal de Sergipe rubens.matos@gmail.com ABSTRACT muitas das quais s˜o bastante conhecidas em ´reas como a a sistemas distribu´ıdos e aquelas que lidam com dispositivos Texto pendente m´veis. Dentre esses desafios est˜o: escalabilidade, hetero- o a geneidade, integra¸˜o, seguran¸a e severas restri¸˜es de re- ca c co Keywords cursos. Ainda com rela¸˜o ` adaptabilidade, podemos citar ca a Computa¸˜o ub´ ca ıqua, computa¸˜o pervasiva ca a necessidade de atribuir aos softwares a capacidade de con- sciˆncia e gerˆncia de contexto. e e 1. INTRODUÇÃO A computa¸˜o ub´ ca ıqua ´ uma das ´reas mais promissoras e a Al´m das preocupa¸˜es supracitadas, o projeto de um sis- e co e que tem merecido grande aten¸˜o deste a ultima decada. ca ´ tema ub´ ıquo n˜o pode abrir m˜o da qualidade do software, a a Neste trabalho apresentaremos alguns conceitos de computa¸˜oca tanto em termos de manutenibilidade e adaptabilidade, quanto ub´ıqua, elucidando quais os desafios principais dos softwares de um elevado n´ de aten¸˜o dispensado ` usabilidade do ıvel ca a ub´ıquos. Tamb´m ser˜o mostrados alguns dos modelos exis- e a mesmo, j´ que a interface do sistema com o usu´rio deve a a tentes para o desenvolvimento desse tipo de aplica¸˜o, procu- ca facilitar a incorpora¸˜o da aplica¸˜o ub´ ca ca ıqua ao cotidiano. rando chegar ao n´ ıvel de uma arquitetura comum para sis- temas ub´ ıquos. Abordaremos tamb´m alguns problemas que e Vemos que n˜o se trata de um conjunto simples de proble- a ainda se encontram em aberto, chegando `s conclus˜es so- a o mas a serem solucionados, para atingir a ubiquididade no ´ bre o que j´ h´ de s´lido, e o que deve ainda desafiar os aa o n´ ıvel idealizado por v´rias pessoas. E preciso “esconder” a pesquisadores da ´rea. a essa complexidade para os desenvolvedores, utilizando ca- madas de abstra¸˜o, que simplifiquem e resolvam eficiente- ca mente parte destas tarefas, diminuindo consequentemente o 2. VISÃO GERAL DA COMPUTAÇÃO UBÍQUA tempo de desenvolvimento da mesma e a probabilidade de O termo ”computa¸˜o ub´ ca ıqua” geralmente designa o acesso alto acoplamento entre partes componentes do sistema. a determinados recursos computacionais nas mais diversas situa¸˜es, indepentementemente da localiza¸˜o, do tempo e co ca A seguir, s˜o apresentados alguns dos modelos propostos na a do dispositivo que esteja sendo usado. Essa id´ia ganhou e literatura para a constru¸˜o de sistemas ub´ ca ıquos, capazes de bastante for¸a atrav´s das id´ias de Mark Weiser para a c e e atender `s demandas discutidas nesta se¸˜o. a ca computa¸˜o do s´culo XXI. Em sua an´lise [4], foi desta- ca e a cado que as tecnologias mais profundas s˜o aquelas que se a integram ` vida cotidiana at´ se tornarem indistingu´ a e ıveis da 3. MODELOS EXISTENTES PARA APLICAÇÕES mesma. Tal conceito est´ intimamente ligado ao objetivo da a UBÍQUAS computa¸˜o pervasiva, de embutir poder computacional em ca Banavar[1] prop˜e um modelo focado numa mudan¸a de o c objetos triviais do cotidiano, tornando t˜o natural quanto a paradigma, quanto ` forma de percep¸˜o do que ´ e de quais a ca e poss´ a presen¸a da inform´tica nos ambientes, sendo no- ıvel c a s˜o os bojetivos de um sistema computacional. Esta refor- a tada unicamente nos momentos de sua utiliza¸˜o. ca mula¸˜o de conceitos pode ser resumida em 3 id´ias princi- ca e pais: Neste contexto, uma das condi¸˜es essencias para que este co cen´rio seja poss´ a ıvel ´ a adaptabilidade dos sistemas aos e mais variados dispositivos e condi¸˜es computacionais. Este co • Um dispositivo ´ um portal, num espa¸o de dados e e c importante requisito traz consigo v´rias outras necessidades, a aplica¸˜o. N˜o pode ser tratado como um reposit´rio ca a o de software customizado. • Uma aplica¸˜o ´ um meio pelo qual o usu´rio realiza ca e a uma tarefa. Explorar todas as capacidades do hard- ware n˜o deve ser prioridade. a • O ambiente computacional ´ o pr´prio espa¸o f´ e o c ısico, otimizado pelas informa¸˜es. O sistema deve ter o am- co biente real como fonte e objeto de informa¸˜o. ca
  • 2. Application need One.world service Uma caracter´ ıstica importante dessa abordagem, ´ a divis˜o e a Search Query engine de ciclo de vida da aplica¸˜o em 3 fases, cada uma com suas ca Store data Structured I/O peculiaridades: Communicate Remote events Locate Discovery • Tempo de projeto: As atividades aqui s˜o voltadas a Fault-protect Check-pointing pricipalmente para o modelo de programa¸˜o e a metodolo- ca Move Migration gia de desenvolvimento a ser adotados. Table 1: Tabela de servi¸os do sistema para c • Tempo de carga: Aqui s˜o tratadas as especifici- a One.world dades da descoberta dinˆmica, assim como da negoci- a a¸˜o de capacidades e requisitos. Sele¸˜o, adapta¸˜o ca ca ca e composi¸˜o da apresenta¸˜o tamb´m s˜o atividades ca ca e a o middleware tem a capacidade de trocar a interface pos´ıveis de serem realizadas nesta fase. para outra, baseada em entrada manual dos dados. • Tempo de execu¸˜o: Neste ponto ´ tratado o mon- e ca itoramento e redistribui¸˜o de tarefas, a possibilidade ca Uma outra proposta de modelo, mais detalhado, ´ apresen- e de opera¸˜o desconectada e a setec¸˜o e recupera¸˜o ca ca ca tada em [3]. Trata-se, de fato, de uma arquitetura para a de falhas. constru¸˜o de aplica¸˜es pervasivas. Chamada “One.world”, ca co ela define servi¸os b´sicos do “n´ cleo” de um sistema ub´ c a u ıquo, que atacariam determinadas necessidades fundamentais. Os Seguindo essa abordagem, outros trabalhos [2] vˆm indi- e principais seriam: cando que as tarefas de tempo de projeto seriam facilitadas pelo uso de APIs e frameworks adequados, enquanto muitas das tarefas de tempo de carga e de execu¸˜o seriam tratadas ca • M´quina virtual : JVM tem sido uma op¸˜o comum. a ca atrav´s de recursos de um middleware, que deveria estar e presente nos dispositivos utilizados. Podemos compreender • Tuplas: Armazenamento simplificado. melhor essa separa¸˜o de responsabilidades ao citar uma ex- ca • Eventos ass´ ıncronos: notifica¸˜o expl´ ca ıcita de uma mu- emplo de resolu¸˜o do desafio das interfaces com o usu´rio. ca a dan¸a de contexto. c Para este problema, uma parte da solu¸˜o, que corresponde ca • Ambientes: Containers para cada aplica¸˜o e seus re- ca ao tempo de projeto, envolve a escolha e utiliza¸˜o de APIs ca spectivos dados. que suportem o desenvolvimento de interfaces abstratas. Es- tas APIs tamb´m devem permitir uma vis˜o de neutralidade e a quanto ao dispositivo-alvo do sistema desenvolvido. Quanto Al´m desses, na arquitetura One.world deve haver alguns e ` parte resolvida em tempo de carga por um middleware, a servi¸os do sistema, que far˜o uso dos servi¸os b´sicos, e c a c a est´ a sele¸˜o dinˆmica de interfaces, que depender´ das in- a ca a a atender˜o a algumas necessidades comuns neste tipo apli- a forma¸˜es que o mesmo possui sobre suas capacidades e as co ca¸˜o. A tabela 1 indica quais s˜o esses servi¸os e que ne- ca a c do dispositivo. Esta sele¸˜o dinˆmica poderia ocorrer tam- ca a cessidades eles suprem. b´m em tempo de execu¸˜o, quando diferentes contextos de e ca execu¸˜o do software seriam refletidos em diferentes formas ca de intera¸˜o. Outra atividade de tempo de execu¸˜o, de ca ca responsabilidade do middleware, seria o pr´prio tratamento o 4. CONCLUSÕES da intera¸˜o com o usu´rio. ca a Por enquanto, podemos afirmar que h´ alguns problemas em a aberto, tais como a defini¸˜o de padr˜es de engenharia do ca o Com essas diretrizes, obt´m-se um modelo gen´rico para sis- e e software mais adequados, j´ que o MVC ´ comumente usado a e temas ub´ ıquos, que pode ser instanciado de diversas formas, em dispositivos m´veis, mas em geral aumenta tamanho do o a depender das tecnologias dispon´ ıveis, tanto a n´ de hard- ıvel c´digo e n˜o muda o modelo da aplica¸˜o, limitando a adapt- o a ca ware quanto de software. abilidade. Outro desafio n˜o completamente solucionado ´ a e tratamento de interfaces das mais variadas, no sentido mais Um cen´rio real de instancia¸˜o desse modelo, com um soft- a ca extremo do termo “wearable computing” at´ coisas as diver- e ware de agenda de compromissos, seria o seguinte: sas resolu¸˜es de tela, etc. co ´ 5. REFERENCES • Tempo de projeto: E escolhida a plataforma de desen- volvimento Java, com algumas APIs auxiliares, etc. [1] G. Banavar, J. Beck, E. Gluzberg, J. Munson, J. Sussman, and D. Zukowski. Challenges: an • Tempo de carga: No ato da instala¸˜o, o middleware ca application model for pervasive computing. ACM Press, presente no dispositivo ser´ o respons´vel pela defini¸˜o a a ca 2000. da forma de entrada de datas pelo usu´rio, que pode a [2] C. F. R. G. Cristiano Andr´ da Costa. Um modelo e ser atrav´s de sele¸˜o em um calend´rio gr´fico, digi- e ca a a gen´rico de infra-estrutura de software para a e ta¸˜o de n´ meros, ou at´ mesmo vocal. ca u e computa¸˜o ub´ ca ıqua. In WSPPD’2006 - IV Workshop PPD/UFRGS, 2006. • Tempo de execu¸˜o: Supondo que a entrada de datas ca seja feita, por padr˜o, de forma vocal, mas a quali- a [3] R. Grimm. One.world: Experiences with a pervasive dade do reconhecimento da voz do usu´rio est´ ruim, a a computing architecture. Pervasive computing, 2004.
  • 3. [4] M. Weiser. The computer for the 21st century. Scientific American, 265(3):94:104, 1991.