Post on 21-Jul-2015
PROGRAMACIÓN ORIENTADA A AGENTES
PROGRAMACIÓN
Programación orientada a agentes
La programación de agentes involucra tanto el
encapsulamiento de sus comportamientos como el
de su estado mental. Estas características nos han
llevado a utilizar lenguajes orientados a objetos para
programar sistemas multiagentes.
Programación orientada a agentes
Un Agente es un objeto que actúa siguiendo uno o varios comportamientos. Al objeto Agent se le añaden objetos Behaviour, los cuales llevan programado la lógica de un algoritmo concreto, y se puede comportar cómo un SimpleBehaviour o un CyclicBehaviour, ejecutándose una sola vez durante la vida del agente o ejecutándose repetidamente, respectivamente. En código, y de manera esquemática seria algo cómo:
Programación orientada a agentes
{...protected void setup(){//inicializar variables, crear mensajes ACLaddBehaviour(new SmartBehaviour(this));...}
private class SmartBehaviour extends SimpleBehaviour{...public void action(){//lógica del algorismo que se debe ejecutar}}}
Programación orientada a agentes
Los lenguajes orientados a objetos han mostrado
poseer varias de las características necesarias para
codificar funciones clásicas de agentes. Sin
embargo, cuando estados mentales complejos deben
ser administrados, la programación lógica ha
mostrado ser una mejor alternativa para la
implementación de actitudes mentales.
Programación orientada a agentes
JavaLog es un lenguaje multiparadigma
que permite construir agentes a partir de
objetos Java capaces de manipular conocimiento en
formato de cláusulas lógicas Prolog o extensiones
de este lenguaje lógico.
Programación orientada a agentes
La integración de programación orientada a objetos
y programación lógica alcanzada en JavaLog ha
sido basada en el concepto de módulo lógico. Un
módulo lógico es la encapsulación de una secuencia
de cláusulas lógicas.
Programación orientada a agentes
Estos módulos pueden ser ubicados tanto en métodos Java como
en variables, para luego ser combinados de
diversas maneras. JavaLog es un lenguaje de
programación que combina los paradigmas de
orientación a objetos a través de la utilización de Java y Prolog.
Programación orientada a agentes
En el proceso de integrar estos lenguajes para
facilitar la programación de agentes se ha
desarrollado un interprete Prolog en el lenguaje Java
con el fin de posibilitar extensiones del mismo a
través de sub-clasificación.