sexta-feira, 4 de março de 2011

Aula 04 - Computação Ubíqua: Requisitos Desafiadores

Como citou o Paulo Ramon no post da aula 3 da nossa disciplina, há muito a ser vencido para que essa coisa toda de ubiquidade seja posta em prática. Na nossa quarta aula vimos que são mais do que desafiadores os requisitos para tornar real esse novo paradigma. Principalmente os requisitos não funcionais que se tornam cada vez mais difíceis de serem modelados.

Foram listados alguns requisitos que são desafiadores como a Mobilidade, que é fundamental na computação ubíqua. Dispositivos podem se mover, assim como pessoas e até mesmo o código dos programas. Então, como prever para quais dispositivos nosso código vai se mover? A capabilidade de cada um?

Um novo conceito foi nos apresentado, Contexto. Agora as nossas aplicações devem ser capazes de identificar situações do ambiente que podem influenciar diretamente no comportamento dela. A definição de contexto será melhor apresentada no post da próxima aula que será feito pelo Adriano Dodo.

Temos agora que nos preocupar com a heterogeneidade de dispositivos. Quantidade e diversidade destes dispositivos e aplicações que estarão disponíveis assim como fazer esses diversos dispositivos e aplicações se comunicarem e cooperarem para atingir seus objetivos.

A computação ubíqua também prever que os dispositivos poderão tomar decisões de forma autônoma, percebendo o ambiente, identificando atores e mudanças no contexto. Com isso temos que nos preocupar agora também com a privacidade. Cuidados devem ser tomados para que os usuários não se sintam invadidos.

É necessário que os dispositivos estejam sempre disponíveis e sejam invisíveis, as pessoas não precisam ver o perceber que os dispositivos ubíquos ou aplicações estejam espalhados pelo ambiente. As aplicações também devem adaptar seu conteúdo para diferentes dispositivos, redes e usuários. Elas devem se reconfigurar de acordo com o ambiente e o dispositivo que elas se encontram, e serem tolerantes a falhas e   exceções que podem ocorrer no ambiente.

Agora mais que nunca a portabilidade, que se caracteriza pela independência de hardware, sistema operacional ou linguagem de programação, se torna necessária. O reuso de soluções já criadas se torna fundamental na computação ubíqua.

Para tentar resolver todos esses problemas existem algumas soluções como: Sistemas de Middleware, Componentes de Software, Meta Modelos para ambientes heterogêneos, Coordenação do Contexto entre outras.

Discutimos as principais limitações para o desenvolvimento de software ubíquo e vimos que essas soluções listadas anteriormente são específicas para problemas isolados, não existindo uma preocupação com todas as etapas do desenvolvimento. A reutilização é negligenciada ou tratada de maneira não sistemática. O foco é colocado na implementação em detrimento da modelagem e as linguagens de programação atuais não são adequados para o desenvolvimento de software ubíquo.

Vimos que alguns processos de desenvolvimento da engenharia de software, como Linha de Produto de Software, Desenvolvimento Generativo de Software e Desenvolvimento Baseado em Componentes são limitados uma vez que não foram concebidos para lidar com esse tipo de software. O problema parece está na concepção do modelo computacional.

Por fim, vimos que novos direcionamentos como a Ubiquitous Abstract Machine, proposta por Robin Milner, que é uma alternativa a visão da máquina de von Neuman, podem nos ajudar no desenvolvimento de sistemas ubíquos.

As notas de aula referentes a esta aula, ministrada em 28/02/2011, podem ser baixadas aqui.

Um comentário:

  1. As dificuldades sao muitas, como toda nova
    tecnologia.
    Já foi citado pelo fernando, a mobilidade que sera
    umas das mais "desafiadoras" pois os dispositivos de forma autonomas
    tem que identificar e se enquadrar com usuarios e ambientes de maneira simples
    que nao notemos e diferença das aplicaçoes.
    O que vimos nos videos apresentados foi que toda esses situações foram
    mostradas e em segundo plano deixou claro que a privacidade nao foi deixada
    de lado, e é nesse ponto que temos que nos
    focar, pois esse dispositivos vai funcionar de forma proativa e os dados
    pessoais nao podem ser revalados, e sim acontecer apenas as atulizaçoes que o
    dispositivo identifica ser do perfil do usuario.
    Hoje quando chegamos em restaurantes a placa informa de maneira orgulhosa
    " temos wi-fi" isso vai deixar de ser o diferencial pois a Computação Ubiqua
    necessita que a rede esteja disponiveis e invisiíel o tempo todo.
    O Recurso de reutilização de soluções ja criadas sera fundamental pois as
    atualizações sera disponivel em qualquer lugar e hora. encerro parabenizando
    pelo os meus companheiro pelas ideias apresentadas. abrço

    Franco Ferreira

    ResponderExcluir