sexta-feira, 4 de março de 2011

Aula 05 - Contexto e Sensibilidade ao Contexto

Foram discutidos nesta aula assuntos relacionados ao contexto: histórico, definições e sistemas sensíveis ao contexto.

Inicialmente foi apresentado o contexto em Lógica. A lógica na sua tentativa de formalizar o pensamento humano faz uso de expressões cujos valores verdade dependem do contexto implícito. Por exemplo, ao avaliar a expressão "Brasília é a capital do Brasil" constatamos que ela é verdadeira. Todavia se essa expressão fosse avaliada em 1900, a resposta seria diferente, pois estaríamos em outra época. Percebemos que o tempo, que está implícito, é o contexto que influência a avaliação da expressão.

Em seguida vimos que o contexto em linguagens de programação está relacionado, no caso do paradigma imperativo, com o contexto estático (constantes, definições) e com o contexto dinâmico (comportamento durante a execução de um programa). Discutimos ainda a necessidade de um paradigma para aplicações ubíquas.

Um sistema tradicional é composto por: entrada, processamento e saída. Um sistema sensível ao contexto agrega um novo elemento: o contexto. Que influência o seu comportamento de acordo com a percepção do ambiente.

Foram apresentadas diversas definições de contexto, baseadas essencialmente no artigo Towards a Better Understanding of Context and Context-Awareness (Anind K. Dey and Gregory D. Abowd, 1999), que será o segundo artigo a ser resumido e discutido na disciplina.

De um modo geral essas definições afirmam que o contexto é um conjunto de informações relacionadas a localização, tempo, estado de entidades, entre outras. No entanto as definições têm diferenças. Por exemplo, na definição de Dey e Abowd (1999) essas entidades devem ser relevantes para a interação entre um usuário e uma aplicação. Já na definição de Viana (2010), o contexto pode ser utilizado em um momento posterior  para melhorar interação com o usuário ou adaptar a aplicação ou o conteúdo acessado. Viana apresenta ainda os conceitos de zona de observação (o que pode ser observado pelo sistema) e o de zona de interesse (o que o sistema deseja observar). O ontexto, num dado instante, é a interseção dessas zonas (Veja a figura abaixo adaptada de Viana (2010)). 



O contexto possui uma natureza evolutiva, isto é, elementos (entidades e relações) podem ser incluídos ou removidos. Possui ainda uma natureza dinâmica, o estado das entidades (e suas relações) que o compõe variam com o tempo. Viana (2010) representa a natureza evolutiva em função dos conceitos de zona de interesse e zona de observação. Essa relação pode ser entendida da seguinte maneira: com o passar do tempo tanto o que é de interesse do sistema quanto o que ele pode observar variam. Dessa forma, a interseção entre as duas zonas (o contexto) pode se modificar (aumentar ou diminuir) com o passar do tempo.

Sistemas sensíveis ao contexto foi um dos últimos temas discutidos. Eles são capazes de utilizar o contexto para mudar seu comportamento e prover serviços adequados aos seus usuários. Antes de concluir as discussões sobre contexto o Professor Lincoln apresentou sua definição para Sistema Ubíquo:

“Um sistema ubíquo pode ser entendido como um sistema distribuído, móvel ou não, onde seus componentes se agrupam de maneira dinâmica, espontânea, transparente e colaborativa para o compartilhamento de recursos, serviços e informações com o intuito de executar um conjunto de atividades particular em um determinado contexto.”

E logo após para Sistema Ubíquo Sensível ao Contexto:

“Assim, um sistema ubíquo sensível ao contexto é um sistema que utiliza o contexto (ou histórico de contexto) para garantir a realização da sua função, podendo para isso, alterar a sua interface de serviço ou modificar sua estrutura para gerar um novo comportamento.”

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

Nenhum comentário:

Postar um comentário