Agentes

Agente de software é o termo utilizado para indicar, de forma genérica, um programa que atua como representantes de algum usuário, auxiliando-o na execução de alguma tarefa. Segundo a filosofia de programação por agentes, o usuário delega tarefas ao agente para que este as execute em seu nome.

Para poder atuar como agente de software, um objeto deve ser capaz de executar em um ambiente específico de execução (uma agência ou lugar) e apresentar, em grau variado, algumas propriedades essenciais:

Além dessas propriedades essenciais, outras propriedades podem ser desejáveis em agentes de software. Um agente que pode trocar mensagens com outros agentes apresenta a propriedade de comunicação, estabelecendo assim um mecanismo uniforme para a troca de informação entre agentes. De acordo com a aplicação, pode ser desejável que o agente apresente a propriedade de aprendizagem, sendo capaz de adaptar seu processamento com base na experiência de situações já vivenciadas.

Neste texto, o foco principal de interesse está na categoria de agentes que apresentam a propriedade da mobilidade, ou agentes móveis. Um agente móvel deve ser capaz de interromper sua execução em um lugar, transferir-se para outro lugar e lá retomar sua execução, estabelecendo assim um novo paradigma para a programação com objetos distribuídos.