Documente Academic
Documente Profesional
Documente Cultură
Para realizar esta actividad es necesario que hayas revisado las diapositivas de la Unidad 1, también,
el archivo de texto 1-Agentes.docx, Ahí encontrarán los referentes teóricos que te permitirán
realizar esta actividad. El objetivo de esta actividad integradora es que domines la técnica de
programación de agentes en Java utilizando el FW de Jade y logres diferenciar entre un programa
escrito en programación orientada a objetos activos y la programación de Agentes en Java.
Entregables:
¿Qué hacer?
Se requiere diseñar un programa en lenguaje Java que implemente una aplicación heredando
de la clase Agent en Jade atributos y métodos para personalizar la ejecución de un Agente
denominado Smith. En una primera instancia permita que el Agente Smith despliegue un
mensaje de saludo al inicializarse y un mensaje de despedida al finalizar su ejecución. En una
segunda instancia deberá desplegar su AID y su posición.
a) Planteamiento teórico:
Programar un agente JADE consiste en:
Definir una clase Java que representa al agente (la cual debe heredar de la
clase jade.core.Agent).
Implementar los comportamientos que va a manifestar.
Un agente JADE cumple las siguientes características:
En su implementación se define una clase interna por cada uno de los comportamientos
asociados al agente. Estos comportamientos se utilizan básicamente para el envío y recepción de
mensajes, aunque también se pueden utilizar para realizar otras tareas.
import jade.core.Agent;
La clase Agent:
Es una superclase común que permite a los usuarios crear software de agentes.
Suministra métodos que permiten ejecutar las tareas básicas de los agentes como:
Pasar mensajes utilizando objetos ACLMessage, con correspondencia de patrones.
Dar soporte al ciclo de vida de un agente.
Planificar y ejecutar múltiples actividades concurrentemente.
Los programadores de aplicaciones basadas en agentes deben escribir sus propios agentes como
subclases de Agent, añadiendo tantos comportamientos específicos como sean necesarios y
explotando las capacidades de la clase Agent.
Un agente puede cambiar de un estado a otro a través de transiciones. Estas transiciones pueden
ser ejecutadas a través de métodos disponibles en la clase Agent y ser capturados por métodos que
se pueden sobrescribir. Para saber en qué estado se encuentra un agente se puede usar el
método getAgentState( ) de la clase Agent que devuelve un objeto de la clase AgentState
(http://jade.tilab.com/doc/api/jade/wrapper/AgentState.html), a continuación se describen
detalladamente:
Visión gráfica:
b) Procedimiento:
Creación de agentes
Para trabajar con agentes en primera instancia deberá descargar el FW de Jade desde el siguiente
link: http://jade.tilab.com/download/jade/
Después de aceptar los términos y condiciones, descargue la versión .zip (jadeBin) y descomprímala
en el escritorio de Windows, encuentre el archivo Jade.jar y cópielo directamente en el escritorio para
que sea fácilmente accesible desde NetBeans para todos sus proyectos.
Descargue jadeBin:
Una vez creado el esqueleto de programa, borre el método main() del programa Java creado para
que quede su programa así, con una clase vacia:
Ahora es posible agregar la librería de Jade y configurar el path de Windows hacia esa librería y que
NetBeans pueda accesarla y compilarla correctamente, copie el archivo jade.jar a la carpeta /lib del
proyecto:
Inicialice los métodos setup() y takeDown() respectivos, para que nuestro agente de un mensaje de
bienvenida al iniciar su ejecución y de despedida al pasar al estado final, por tanto, extienda la clase
MiPrimerAgente para que herede de la clase Agent objetos, métodos y atributos y agregue lo
métodos de usuario setup() y takeDown():
Para ejecutar nuestro agente ahora que lo hemos creado necesitamos crear la instancia en nuestro
sistema operativo que sostendrá al agente, para ello en la ventana Propiedades de nuestro proyecto
definimos la clase que contiene la declaración de sentencias de nuestro agente, en este caso
MiPrimerAgente, del paquete miprimeragente, también ejecutamos la interfaz de usuario del AMS
para efectuar la supervisión del funcionamiento y comportamiento de nuestros agentes, finalmente
de un nombre al agente, en el caso de este ejemplo el agente se llamara Smith, esto debe hacerse
en el apartado Ejecutar:
Ejecute el programa y observe los elementos que componen el proyecto, también la pantalla de la
interfaz de usuario del RMS (Remote Management System) deberá ejecutarse, desde ahí podremos
consultar los movimientos de nuestros agentes:
Si desactivamos el Agente Smith mediante el estado de proceso Kill, se ejecutara el metodo
takeDown():
Aparecerá la cadena de texto que enviamos mediante takeDown(), finalice la sesión con sus Agentes
cerrando el RMS mediante el icono X:
Actividad: Agregue una foto de su práctica visualizando la segunda parte de
la especificación de usuario, despliegue el AID del agente, su nombre y su
posición:
Segunda parte
1) Cuando hayas terminado tu trabajo, sube este reporte debidamente llenado con tus evidencias
y participa en la actividad de presentación del proyecto según la fecha programada por tu
maestro, efectúa la demostración y presenta 5 diapositivas en plenaria explicando el
experimento y tus hallazgos al realizarlo, también efectúa una presentación en video
auxiliándote de tu teléfono celular, súbela a youtube y agrega el link a continuación como
evidencia, agrega una pantalla de presentación donde aparezca tu nombre, la carrera y
semestre, también toma fotografías e intégralas a este documento como evidencias:
Link: ___________________________________________________________________________
2) Integra tu desarrollo, en este documento (de preferencia en procesador de textos) y súbelo al
grupo de Facebook de la materia con el siguiente nombre:
Nombre_ISC2018_Agentes1