terça-feira, 14 de agosto de 2012

Modificações no gerenciamento dos comportamentos

Arisa
Hoje foi efetuada uma modificação na forma como os comportamentos do Assistente Pessoal (AP) no Gerenciador de Assistentes Pessoais (GAP) são executados. A forma como estava funcionando era por meio de um laço. Apesar de cada AP ser executado na forma de thread(1), seus comportamentos eram executados um a um em um laço interno do AP.

O problema que poderia ocorrer é que se um comportamento deste AP travasse, os outros comportamentos também ficariam travados, aguardando a sua vez de executar. Em tempo, os outros APs não teriam problemas por serem outras threads.

A forma de corrigir isso foi transformar a maneira como os comportamentos eram instanciados no AP. O laço de execução dos comportamentos no AP foi retirado e o comportamento foi definido como thread. Dessa forma, a execução de um comportamento, mesmo que este esteja travado esperando algum processamento, não influencia a execução dos outros comportamentos, que continuam sua execução normalmente.

Notas de Rodapé

(1) Programar utilizando threads é uma técnica de dividir o processamento em duas ou mais tarefas que são executadas de forma concorrente (paralelamente). Este recurso é fornecido pelo suporte do Sistema Operacional e pela Linguagem de Programação. No caso do GAP da Arisa, a implementação foi feita na linguagem de programação Java no Sistema Operacional GNU/Linux Ubuntu.