AntsTown: una experiencia pedagógica con Agentes de Software Ricardo Cattafi, FACyT, Universidad de Carabobo, Valencia, Venezuela, rcattafi@uc.edu.ve Christiane Metzner, Universidad Central de Venezuela, Caracas, Venezuela, cmetzner@isys.ciens.ucv.ve Resumen El uso de componentes de software en el desarrollo de aplicaciones que exhibieran características propias del paradigma de Agentes de Software motivó el establecimiento de la asignatura “Introducción a los Agentes de Software” dictada a estudiantes de los últimos años de la Licenciatura en Computación. Como parte de los recursos pedagógicos de la asignatura los estudiantes desarrollaron un proyecto denominado AntsTown, cuyo dominio de aplicación es la vida social de las hormigas. Con AntsTown los estudiantes lograron poner en práctica el potencial uso del paradigma de Agentes de Software para modelar conductas de entes biológicos. 1. Introducción Los Agentes de Software son actualmente una realidad promisoria tanto para la comunidad académica como para la industria del software en el desarrollo de aplicaciones distribuidas. Las características de autonomía, inteligencia, movilidad, adaptabilidad, comunicación y movilidad los colocan en una posición privilegiada entre las actuales tecnologías. La necesidad de que futuros profesionales en Ciencias de la Computación conozcan este paradigma motivó el establecimiento de un programa de enseñanza del mismo. El resultado fue el diseño de la asignatura “Introducción a los Agentes de Software” para estudiantes de los últimos años de la Licenciatura en Computación de la Facultad Experimental de Ciencias de la Universidad de Carabobo. Uno de los recursos pedagógicos de la asignatura fue el desarrollo de un proyecto de curso sobre un dominio en el que se aplicarían los conceptos fundamentales de los Agentes de Software. En este sentido se escogió el dominio de la Biología, particularmente la vida social de las hormigas [6]. En este trabajo se presenta un análisis descriptivo del desarrollo de la asignatura haciendo énfasis en la aplicación AntsTown como una solución al proyecto de curso. AntsTown es un software codificado en lenguaje de programación Java que modela las actividades de obtención de alimento de las hormigas en su medio natural. En AntsTown los agentes representan hormigas que cumplen diferentes roles como el de obreras, soldado y reina; cada una ejecuta un conjunto de planes y tareas propias de su rol. Los agentes (hormigas) coexisten en un sistema multiagente organizado según un esquema social centralizado donde los agentes trabajan en forma cooperativa para la búsqueda de alimento en un ambiente simulado. El presente trabajo está estructurado de la siguiente manera: en la sección 2 se presenta la visión general de la asignatura, en la sección 3 se describen los recursos didácticos utilizados, seguidamente en la sección 4 se muestran algunos documentos generados en el desarrollo de la aplicación, y finalmente se presentan los resultados obtenidos, posibles mejoras y trabajos a futuro. 2. Introducción a los Agentes de Software: La Asignatura Los agentes de software se han convertido en un tema de estudio de importancia en el ambiente académico. Ejemplo de ello es la presentación del Workshop: Teaching Multi-Agents Systems[1] en la conferencia AAMAS 2004 y la existencia de la Americas School on Agent and Multiagent Systems[5] patrocinada por la misma organización. AAMAS[2] es una de las organizaciones que soportan investigaciones en el área de agentes de software a nivel mundial. La enseñanza del paradigma de Agentes de Software está enmarcada en el diseño curricular propuesto por CC2001[8] como Curso Avanzado del tipo CS366[8]. Debido a que en el currículum actual de la Licenciatura en Computación en la Universidad de Carabobo no existe una asignatura que cubra el paradigma de agentes de software, durante los últimos dos años se han realizado esfuerzos orientados en recopilar, organizar e interpretar la información a la que hemos tenido acceso sobre los Agentes de Software. Existen diversos trabajos en la actualidad que tratan diferentes aspectos sobre el área [14,16,19,32,33,35,37,38,42,44,46], pero aún el estado del arte de este paradigma no ha permitido establecer criterios universalmente aceptados. Aunque existen organizaciones que mantienen una línea de investigación en el área [26] y otras que están intentado normar los aspectos técnicos del desarrollo de aplicaciones con agentes de software como es el caso de FIPA (Foundation for Intelligent Physical Agents)[22], aún sus estándares se encuentran en estado de desarrollo.. Basándonos en [8], se planificó la asignatura como Curso Avanzado (electiva). Se consideró como perfil adecuado de los participantes el conocimiento de algorítmica, programación orientada a objetos (particularmente con aplicaciones utilizando tecnología J2EE [27]), modelos de datos, redes de computadoras, lenguajes de modelado, patrones de software, metodologías y procesos de desarrollo de software, probabilidades y estadísticas. El programa de la asignatura, presentado en el Anexo A, se dividió en once sesiones de cuatro horas académicas cada una. Contiene ocho temas ordenados según lo que se consideró es el orden en el que el aprendizaje sería constructivo para el estudiante. La estrategia