Prototipo funcional basado en agentes pedagógicos para la enseñanza y aprendizaje de la algoritmia básica Diana Carolina Rivera Velasco1 1 Universidad Cooperativa de Colombia Cali, Colombia 1 e-mail: [email protected] Victor David Mosquera Fernández2 2 Universidad Cooperativa de Colombia Cali, Colombia 2 e-mail: [email protected] RESUMEN Se propone desarrollar una aplicación para la enseñanza y el aprendizaje de Algoritmia Básica, guiado por la tecnología de agentes software, la cual permita utilizar una serie de temas de algoritmia básica los cuales puedan ser enseñados a partir de un conjunto de ejercicios y ejemplos, presentados bajo un entorno amigable y un conjunto de herramientas que facilitarán el trabajo de interacción con el sistema, también se pone a disposición del usuario un conjunto de artefactos, representados en agentes, del tipo agente pedagógico virtual, que permite el acompañamiento y la retroalimentación del desempeño del estudiante durante el trabajo en el entorno. La aplicación le permitirá al docente conocer el rendimiento de sus estudiantes a través de los resultados obtenidos en el desarrollo de cualquier ejercicio relacionado con la temática que abordará el proyecto. Se utiliza una metodología que combina dos perspectivas: una que es la utilizada para el desarrollo de software educativo y la otra para el diseño de sistemas multiagentes, estos están basados en procedimientos de investigación-acción de tipo participativa para la definición de necesidades educativas y la puesta en uso de la aplicación tecnológica en el contexto de la formación en algoritmia básica a nivel universitario. Los productos que se obtendrán de este proyecto de investigación le permitirán al estudiante la utilización del prototipo en el fortalecimiento de sus competencias en la algoritmia, pieza fundamental de formación en carreras de Ingeniería. Palabras Clave Algoritmia, enseñanza, agente de software, software educativo. ABSTRACT It is proposed to develop an application for the teaching and learning of Basic Algorithms, guided by software agent technology, which allows to use a range of topics from basic algorithms which can be taught from a set of exercises and examples presented in a friendly environment and a set of tools that facilitate the work of interaction with the system also provides the user with a set of artifacts represented in agents, virtual pedagogical agent type, which allows the monitoring and performance feedback student at work in the environment. The application will allow the teacher to know the performance of their students through the results obtained in the development of any exercise related to the topic to be addressed by the project. It uses a methodology that combines two perspectives: one which is used for the development of educational software and the other for the design of multi-agent systems, these procedures are based on action research participatory type for defining educational needs and start using the technology application in the context of training in basic college-level algorithms. The products obtained from this research project will allow the student to use the prototype in strengthening their skills in algorithms, a key part of training in engineering careers. keywords Algorithms, teaching, agent software, educational software. INTRODUCCIÓN En la actualidad la Facultad de Ingeniería de Sistemas de la ciudad de Cali viene presentando problemas de mortalidad estudiantil en el curso de Algoritmia reflejados en la siguiente tabla: PERIODO 2011-1 2010-2 2010- 1 2009 - 2 No Matriculados 18 18 24 24 No Est. Perdieron 10 11 12 13 Fuente: Docente curso algoritmia, Ing. Víctor David Mosquera Fernández. En la tabla anterior se puede evidenciar la alta tasa de mortalidad estudiantil que se ha estado presentando al interior de la Facultad de ingeniería en el curso de algoritmia adscrito al programa de Ingeniería de Sistemas, según la evaluación hecha por el Docente del curso Ing. Víctor David Mosquera, los motivos son múltiples entre ellos se tiene que los estudiantes tienen bajas competencias en pensamiento lógico, generado por la deficiente calidad de la educación media que reciben en los colegios; a esto se suma que hoy en día el acceso a herramientas de índole pedagógico que potencialicen el desarrollo de los contenidos es prácticamente nulo y lo único que se encuentra son textos físicos y digitales los cuales no orientan adecuadamente al estudiante, se debe tener en cuenta que actualmente los procesos de formación están necesariamente influidos por las tecnologías de la información y comunicación. Sin embargo, las posibilidades de trabajo en un entorno virtual, que lleve al estudiante a una experiencia metacognitiva y que ésta a su vez sea guiada, son casi nulas , por este motivo es cada vez más necesario el seguimiento y el acompañamiento del alumno en su proceso de auto aprendizaje, necesitando de herramientas y dispositivos computacionales más sofisticados que permitan una retroalimentación efectiva cuando el usuario interactúa con el sistema. En este contexto, el uso de agentes software llevarían a recrear experiencias de ayuda significativa asistiendo inmediatamente a los participantes del proceso educativo, gracias a la implementación de agentes pedagógicos inteligentes se podrá cumplir con diversas funciones de apoyo para los aprendices y los docentes de algoritmia. Por ello, este proyecto plantea el desarrollo de un aplicativo para el aprendizaje de algoritmia básica utilizando un sistema multiagentes que contribuya a optimizar la interacción con los usuarios, brindando seguimiento permanente y evaluación oportuna de su desempeño. Aunque se conocen herramientas generales de gestión de ejercicios utilizadas bajo entornos virtuales, ofreciendo variados sistemas estudio, la mayoría carecen de elementos que respondan a las necesidades de la enseñanza y el aprendizaje de un área específica como lo es la algoritmia básica a nivel universitario, estas necesidades están representadas en: altos niveles de interactividad y retroalimentación con el sistema, acompañamiento constante y evaluación inmediata del desempeño de los estudiantes. El seguimiento y la evaluación dependen casi exclusivamente del profesor quien en su poco tiempo disponible para la solución de dudas no cuenta con una ayuda pedagógica que resuelva éstas de acuerdo a las necesidades individuales de sus estudiantes. La implementación de un sistema multiagente, además de ser novedosa en el área de Ingeniería de sistemas dedicados a la enseñanza y el aprendizaje, nos permitirá plantear y validar hipótesis sobre el aprendizaje de algoritmia básica en relación con la posibilidad de ofrecer al estudiante guías para la solución de ejercicios, entrenamiento que permita llevar al estudiante a una experiencia metacognitiva, así como la posibilidad de analizar su desempeño y de brindar retroalimentación oportuna. La investigación plantea los siguientes interrogantes: ¿Desarrollar una aplicación basada en agentes pedagógicos contribuirá a mejorar la interacción del usuario con el sistema? ¿Cuál es la arquitectura base del sistema que llene las expectativas de aprendizaje del usuario? ¿Qué características esenciales deben tener los agentes involucrados en el proyecto? ¿Contribuiría un sistema multiagente a evaluar adecuadamente el desempeño del estudiante en una aplicación fundamentada en ejercicios de algoritmia básica? La realización de este proyecto contribuirá a la profundización e integración de dos grandes áreas del conocimiento como lo son agentes software y ciencias básicas aplicadas a la ingeniería, en donde como resultado se obtendrá una aplicación con cierto grado de inteligencia, que proporcionará un acompañamiento constante y evaluación inmediata del desempeño de los aprendices. La implementación de este conocimiento se hará en un agente pedagógico de interfaz proporcionando asistencia al usuario en el proceso de solución de ejercicios basados en algoritmia y la generación de recomendaciones de acuerdo al procedimiento que se debe seguir para obtener la respuesta correcta. El agente software a definir, permitirá establecer un modelo genérico para la asistencia en la solución de ejercicios para algoritmia, puesto que se tendrán en cuenta todos los elementos principales que lo componen, como:variables, tipos de datos, operadores, expresiones lógicas, estructuras de control de flujo, etc. Las cuales se incluirán dependiendo de la temática a abordar. Además se podrá extender el modelo según las necesidades de temas que necesiten de refuerzo en Algoritmia. La implementación de este recurso permite facilitar la tarea del docente en la evaluación y calificación de ejercicios para algoritmia, además de brindar al estudiante asistencia en el proceso de solución de ejercicios. De acuerdo al convenio realizado entre la Universidad Cooperativa de Colombia y la Red Tecnoparque Colombia (SENA) - Nodo Cali, se puede formalizar este proyecto puesto que se cumple con el objetivo principal que es el apoyo al desarrollo de proyectos innovadores de base tecnológica para generar productos y servicios que contribuyan al crecimiento económico y la competitividad del país y las regiones, apalancados en los sectores de clase mundial. Específicamente el presente proyecto se ubica en una de sus líneas de desarrollo denominada Tecnologías Virtuales la cual incorpora tecnologías de la información y comunicación TIC`s aplicadas en diversas áreas, entre las cuales destacan: Inteligencia artificial, desarrollo de software y computación. De esta manera se alcanzará un alto impacto en las organizaciones de índole educativo las cuales tengan algoritmia como base fundamental de sus carreras técnicas, tecnológicas y profesionales en las cuales se pondrá a disposición a través de este curso la enseñanza virtual guiada por agentes software. La propuesta toma como base la revisión de sistemas que han implementado agentes pedagógicos para la asistencia de usuarios en el uso de aplicaciones ya sean de escritorio o web. Además de presentar la importancia y los beneficios obtenidos al dotar una aplicación de elementos que proporcionan un grado de inteligencia denominados agentes software, a los sistemas informáticos. Para efectos del proyecto se propone aplicar los agentes en los cuales ayudaran en el área de Algoritmia básica que como se presentó en la descripción del problema necesita de apoyo para la formación de estudiantes. Marco Teórico A continuación se presentarán algunas reseñas correspondientes a proyectos relacionados con agentes inteligentes pedagógicos aplicados a sistemas de tutoría y enseñanza involucrados en diversos contextos. Estas investigaciones proporcionan aspectos y elementos relevantes para especificar un proyecto de este tipo, además de aportar las bases para el desarrollo de esta propuesta. Según Arias (2007) se presenta los sistemas multiagentes basados en los STI (sistemas tutoriales inteligentes), quienes se encuentran compuestos por tres modelos específicos: el modelo del dominio, modelo del estudiante y modelo pedagógico, siguiendo estos esquemas se pueden ofrecer cursos tutoriales de acuerdo a las necesidades del estudiante con énfasis en el modelo pedagógico orientándose hacia la planificación y re planificación de actividades. Utiliza los STI como una herramienta que busca mejorar los procesos de enseñanza/aprendizaje, alimentando la inteligencia del sistema en:que se debe enseñar, como enseñar y cuando enseñar. La arquitectura está basada en agentes pedagógicos basados en STI , además esta monitoreando continuamente las necesidades del usuario final (estudiante-profesor) de acuerdo a las características registradas en el modelo estudiante, además, los componentes del modelo pedagógico permiten obtener estadísticas (mantiene la información del uso del sistema), reporte global de los alumnos (de las actividades realizadas por los estudiantes ) y para finalizar los resultados de evaluación e informes (obtiene la información correspondiente a la evaluación y desempeño de los estudiantes). Según Debdi (2010), se plantea un algoritmo para ayudar al alumno en las funciones de selección óptimas para problemas concretos. El agente funciona de tal manera que guía al estudiante en el proceso de probar de forma planificada posibles funciones de selección y decide cuales son óptimas, aplicando el método experimental para la generación del árbol de recubrimiento de coste mínimo. Este proyecto tiene como base la taxonomía de BLOOM la cual consiste en medir el grado de conocimiento de una materia de acuerdo a los niveles de: conocimiento, comprensión, aplicación, análisis, síntesis y evaluación. El ayudante interactivo denominado TuMIST (tutor fortheminimunspanningtreeproblem) dibuja automáticamente los grafos en forma circular para evitar solapamientos, almacena en un fichero el grafo de entrada y los resultados de las distintas funciones de selección que muestra al sistema al crear un nuevo grafo. Para la Investigación de De Antonio (2004)indica que el desarrollo de aplicaciones de software educativo, obligan a conjugar el trabajo de equipos multidisciplinarios; especialistas técnicos, educadores, diseñadores, etc. Para el desarrollo de una aplicación. Técnicamente, estas aplicaciones incorporan características de STI (sistemas de tutores inteligentes), de agentes inteligentes personificados, de entornos virtuales, reconocimiento de lenguaje natural y otros más; intentan, además, aplicar estrategias pedagógicas dinámicas e inteligentes, ser adaptativas y aplicar principios psicológicos ya conocidos para generar emociones y motivar al estudiante. El fin es mejorar el aprendizaje de un dominio de conocimiento a través del uso de la tecnología. Para esto, se busca generar un entorno de aprendizaje lo más natural posible para el estudiante, que las condiciones y características del entorno que se desea enseñar, en que la interacción entre tutor-alumno (o entrenador-alumno) se establezca lo más similar posible a lo que sería una buena instrucción en un entorno real. Lograr esta “naturalidad” en el entorno y en la interacción con el tutor es una labor compleja, para la que hace falta la aplicación de las técnicas de desarrollo software ya descritas. Se dice que los usuarios en interacción con agentes personificados aplican heurísticas sociales y se comportan como lo harían socialmente. Bajo este concepto, podría ser que los usuarios le atribuyan al agente cualidades humanas. La atribución de características como intenciones, metas y sentimientos a otro, es parte de la naturaleza humana, se hace entre humanos y también con los agentes. Por otro lado, los educadores llevan mucho tiempo destacando la importancia de los factores motivacionales en el proceso enseñanza-aprendizaje. Se debe tener en cuenta que las emociones positivas pueden mejorar el aprendizaje y, viceversa, las emociones negativas (como frustración, irritación) pueden entorpecerlo. Un tutor inteligente emocionalmente activo debería ser capaz, entonces, de darle sentido a la información afectiva recibida y, además debería poseer la capacidad de responder a esta información en términos emocionalmente apropiados. En particular, un agente tutor se involucra en la conversación con un estudiante para enseñar algunas destrezas, determinando objetivos para el estudiante, motivando, dando instrucciones, definiéndole una tarea específica, respondiendo consultas y efectuándolas, explicando, ilustrando, dando soporte y ejemplos, realimentando y evaluando al estudiante. Una parte importante de un STI es determinar la acción a llevar a cabo y darle forma, considerando ahora los aspectos y criterios pedagógicos tanto como estos nuevos aspectos emocionales ante las personificaciones y actitudes del agente y la forma en que afectan al desempeño del estudiante. Según el artículo de Ovalle (2005) se implementa ALLEGRO que es una aplicación inteligente que integra las bondades de los diferentes campos de investigación de la inteligencia artificial como la planificación instruccional (IP), razonamiento basado en casos (CBR), sistemas multi-agente (MAS), sistemas tutoriales inteligentes (ITS) y un ambiente colaborativo de aprendizaje. Los sistemas inicialmente se basaban en el modelo coductivista propuesto por Paulov, Watson y Skinner. Conforme estas teoría fueron evolucionando cuando se realizo la aplicación de los MAS y los STI a la parte pedagógica creando nuevos modelos, dentro de los cuales se tienen: constructivismo, cognitivismo y las teorías de aprendizaje, quienes introducen el concepto de agentes pedagógicos que pueden adaptar sus interacciones a las necesidades de aprendizaje y al estado actual del ambiente de aprendizaje. ALLEGRO permite brindar ayuda al estudiante en forma individualizada y en un ambiente colaborativo modelado bajo un sistema multi-agente permitiendo autonomía, flexibilidad y adaptabilidad. El sistema está configurado de tal manera que puede aprender de forma autónoma a partir de la experiencia con los aprendices. Para este fin se desarrollaron algunos agentes software especializados para este tipo de aplicación. Entre ellos se tiene: primero, un tutor que se encarga de guiar el proceso de aprendizaje, es el que decide las acciones pedagógicas a realizar, el segundo denominado modelo del aprendiz que se encarga de administrar el estilo de aprendizaje, la comprensión de los temas, limitaciones y nivel de conocimiento del aprendiz, el tercero agente de interfaz establece y mantiene la interacción con el aprendiz y despliega los conocimientos y colaboración con la pantalla del aprendiz, el cuarto agente experto que administra el conocimiento y contenido del área o tema específico de enseñanza, y por último el agente colaborativo para solicitar del agente tutor otros aprendices que están tratando el mismo tema con los cuales pueda establecer algún tipo de comunicación. Los agentes que aquí se utilizan no tienen forma física, solo son entidades computacionales que actúan de acuerdo a los intereses o beneficios de su dueño. Lo interesante de esta aplicación es que esta diseñada exclusivamente para que el sistema de acuerdo a sus recursos disponibles pueda brindar al estudiante ayuda oportuna y consistente de acuerdo a la temática utilizando en ese momento, además de ofrecer un entorno colaborativo proporcionando a los usuarios de la aplicación una forma para compartir sus conocimientos. La propuesta presentada por Jiménez (2008)considera que la evaluación en línea de entornos de aprendizaje activo se debe adaptar al modelo o perfil del estudiante, es decir, al conjunto de preferencias y características que definen el aprendizaje del usuario (Estilos de Aprendizaje) para la generación de los tests o cuestionarios. También se considera que el proceso de evaluación puede llegar a ser más efectivo si además de identificar los objetivos alcanzados por el estudiante, el sistema también está en capacidad de señalar las fallas que el estudiante debe superar, para lo cual se puede implementar un formato adecuado para la presentación de resultados. Actualmente se implementan técnicas evaluativos avanzadas que permiten adecuarse al perfil o a las características que presenta un estudiante, es decir que el sistema está en capacidad de identificar cuáles son las debilidades y fortalezas de un estudiante, que tipo de material se le facilita más en comprender, que nivel de conocimiento tiene actualmente, esto con el fin de motivar al estudiante y asegurar su conocimiento. Las evaluaciones o test pueden ser generadas de forma manual o automáticamente por el sistema de acuerdo a un banco de preguntas el cual suma una gran importancia ya que este debe abarcar todos los temas vistos y manejar unos niveles de dificultad. Se ha determinado que conocer el estilo de aprendizaje del estudiante puede ser de gran ayuda para el STI a la hora de tomar las decisiones respecto a la forma como se deben presentar los contenidos del curso y al momento de escoger el tipo de pregunta que se va a formular, porque de esta manera se facilita al examinador la comprensión de lo que se le está evaluando y se evita su falta de concentración y motivación. Con el término de inteligencia artificial (IA) (Gómez 2002) se define a la rama de las ciencias de la Computación dedicada al desarrollo de agentes racionales no vivos. Un agentes cualquier cosa capaz de percibir su entorno (recibir entradas), procesar tales percepciones y actuar en su entorno (proporcionar salidas), y entiéndase a la racionalidad como una capacidad humana que permite pensar, evaluar y actuar conforme a ciertos principios de optimización y consistencia , para satisfacer algún objetivo o finalidad. Por lo tanto, y de manera más específica la inteligencia artificial es la disciplina que se encarga de construir procesos que al ser ejecutados sobre una arquitectura física producen acciones o resultados que maximizan una medida de rendimiento determinada, basándose en la secuencia de entradas percibidas y en el conocimiento almacenado en tal arquitectura. Para iniciar el proceso hacia la racionalización existieron varios antecedentes para lo que hoy encontramos como lo es la enseñanza a través de agentes pedagógicos, a continuación se presenta una aproximación de los sistemas utilizados para la enseñanza virtual, entre los cuales están:los métodos de enseñanza guiados por el computador basados en CAI(Computer Assisted Instruction), en el cual la educación sigue dependiendo del profesor tradicional que se encargara de explicar lo que los alumnos han descubierto intuitivamente en los entornos virtuales. En el cual el alumno va a su propio ritmo, puede repetir las lecciones que no entienda tantas veces como desee, el método CAI adopta los cursos a las necesidades del alumno incluyendo dentro de su marco pedagógico: test, cuestionarios, actividades, exámenes, autoevaluación del estudiante y material con información multimedia, pero este tipo de educación no se encuentra a un bien estructurada, puesto que esta no sustituye por completo al profesor. La siguiente etapa se encuentra determinada por el Sistema de tutores inteligentes STI1 , el cual está más centrado en el enfoque cognitivista o constructivista de la enseñanza, se fundamenta en la inclusión de tres tipos de conocimiento: información sobre el dominio en que se enseña, modelo del usuario para almacenar la información sobre lo que el usuario sabe y lo que no, información pedagógica basada en la estrategia de aprendizaje propuesta por el docente, con estos tipos de representación del conocimiento podrá presentar al usuario información oportuna y coherente de acuerdo a su perfil y capacidad de aprendizaje. Modelo del estudiante Modelo pedagógico Interfaz de usuario Conocimiento del dominio El desarrollo de entidades inteligentes toma como base para su estructura los sistemas multiagentes (MAS) quienes conceptualizan su estructura bajo las siguientes definiciones, en Jiménez ( 2000), se especifica un agente de software como un “programa de computación que se ejecuta en un ambiente, y que es capaz de realizar acciones dentro de este, con la finalidad de alcanzar objetivos particulares para el cual fue diseñado”. También se dice que es un “sistema informático, situado en algún entorno, dentro del cual actúa de forma autónoma y flexible para así cumplir sus objetivos”, para Molina (2004) Existen otras definiciones sobre agentes, como: “sistemas computacionales que habitan en ambientes dinámicos complejos, sienten y actúan autónomamente en ese entorno y al hacerlo llevan a cabo un conjunto de objetivos o tareas para las que fueron diseñados” Maes (1995). “Sistema computacional que está situado en un determinado entorno y que es capaz de forma flexible y autónoma de efectuar acciones sobre ese entorno para alcanzar sus objetivos Jennigs (1998). Los agentes de software, cuentan con unas características básicas Molina; Peña; Jiménez que los identifican y reflejan las ventajas de ser utilizados, ellas son: Autonomía: Control Reactividad: Percepción y acción Proactividad: Iniciativa Inteligencia: Razonar y aprender Sociabilidad: capacidad de interactuar con otros agentes, aplicaciones o personas Es posible clasificar los agentes de software, de acuerdo a sus características, en reactivos e inteligentes; y de acuerdo a su utilidad en agentes de interfaz, de monitoreo, de recuperación de información, recomendación y negociación o comercialización1 Los Agentes de Interfaz son capaces de proveer asistencia al usuario de alguna aplicación; están encargados de monitorear las acciones del usuario y desarrollar modelos sobre sus habilidades para ayudarlo cuando tenga problemas. Estos agentes, son programas que utilizan técnicas de Inteligencia Artificial y cuya implementación puede estar enfocada de diferentes maneras, algunas de ellas son: La aplicación como un agente de interfaz; la aplicación basada en el conocimiento y la aplicación basada en aprendizaje La finalidad de este tipo de agente es proporcionar información a los usuarios en los sistemas informáticos que dada su complejidad poseen una alta carga de contenido. Se caracterizan por hacer comprensibles las interfaces. La arquitectura de un agente puede expresarse en una arquitectura deliberativa, reactiva o híbrida2 . Estas arquitecturas definen cómo es el comportamiento del agente. Las reactivas, son simples, no tienen memoria, responde a una acción del medio basada en las reglas o prioridades que le han sido definidas; las deliberativas, son más complejas, constituye los agentes que aprenden, tienen la particularidad de decidir no solo con lo que recibe del entorno sino con lo que internamente posee, su estado, tienen creencia, deseos e intenciones como lo refleja la figura ; y las arquitecturas híbridas, es la combinación de las dos anteriores. 1 JIMENEZ SILVESTRE, RAMOS ESMERALDA, Agentes Inteligentes, Universidad Central de Venezuela, Caracas, Venezuela, 2000, ISSN: 1316-6239 2 MOLINA LOPEZ JOSE, GARCIA HERRERO JESUS , BERNARDOS BARBOLLA ANA Mª, Agentes y Sistemas Multiagente, Universidad carlos III y Universidad Politécnica, Madrid Figura. Agentes deliberativos Deseos Planes Interprete BDI Creencias Percepción Intenciones ENTORNO Acción Jiménez (2000) Los agentes inteligentes tienen la propiedad de saber dónde están, de explorar y aprender y de cuestionarse. Un agente puede verse descrito en la figura 2, donde se identifican los sensores y efectores del agente a través de los cuales percibe y actúa en el ambiente donde se encuentra. Figura. Comportamiento del Agente Jiménez (2000) Cuando un agente no puede realizar una tarea por si solo, sino que requiere de la colaboración de otros agentes, surgen los sistemas multiagentes (SMA – MAS), estos sistemas están basados en unidades (agentes), en los que se fusionan las capacidades individuales de cada uno y se identifican características de comunicación, coordinación y organización, que son fundamentales para este tipo de sistemas. En los sistemas multiagentes, los agentes requieren interactuar entre si, para ello, se han definido lenguajes que permiten la comunicación, como el caso de ACL (Lenguaje de Comunicación entre Agentes), propuesto por FIPA (Foundation for Intelligent Physical Agents), el cual define la estructura que deben tener los mensajes transmitidos entre agentes3 Con la existencia de sistemas multiagentes, surge la Ingeniería de Software Orientada a Agentes (AOSE), a través de la cual se orienta el desarrollo y construcción de los agentes. En la actualidad existen varias metodologías útiles para llevar a cabo esta tarea4 , algunas de ellas se plantean en la propuesta de Investigación de Giraldo en5 : Tabla . Metodología para el diseño de sistemas multiagentes Metodología Elementos básicos Estrategia GAIA Organización, Colección Permite el diseño de sistemas basados en agentes cuyo objetivo es obtener un sistema que maximice alguna medida de calidad global. de roles, Patrones de interacción, Agentes, Servicios y Conocidos INGENIAS Agentes, Entorno, Interacciones, Tareas y Objetivos ZEUS Agentes, Roles y Comunicaciones 33 Análisis y Diseño basados en modelos de roles, interacciones, agentes, servicios y conocidos. Se apoya en técnicas OO. Se define un conjunto de metamodelos con los que hay que describir el sistema, por medio del lenguaje GOPRR. El flujo de trabajo se basa en el Proceso Unificado Se basa en las investigaciones en el área de agentes. Combina planificación, ontologías, asignación de responsabilidades, relaciones sociales MAS ANA, Agentes Software y Sistemas Multi-Agente: Conceptos, Arquitecturas y Aplicaciones. Edición Pearson Prentice Hall, Madrid, 2005. ISBN 84-205-4367-5 4 COSSENTINO MASSIMO, BERNON CAROLE, PAVÓN JUAN, Modelling and Meta-modelling Issues in Agent Oriented Software Engineering: The AgentLink AOSE TFG Approach. Disponible online: http://www.pa.icar.cnr.it/~cossentino/al3tf2/docs/aoesettg_report.pdf 5 GIRALDO CARDOZO JUAN CARLOS, Ampliación de la Metodología SEMLI para apoyar el desarrollo de productos JuEGAS (Juegos Educativos Gestionados con Agentes Software, Universidad del Valle, Santiago de Cali, 2007 entre agentes en un entorno ejecutable. Usa diagramas UML de clases y de colaboración, mas fichas. BDI Agentes, Modelo del mundo, Sensores, Estímulos, Creencias, Deseos, Intenciones MASCommonK ADS Agente, Tareas, Experiencia, Coordinación, Comunicación, Se inspira en el modelo cognitivo del ser humano. Desde el Exterior caracteriza las clases de agentes y al interior define un conjunto de modelos que definen una estructura sobre el estado. Se basa en una metodología de ingeniería de software conocida, que plantea todo el ciclo de vida del software, de forma completa y rigurosa Organización, Diseño MaSE Agentes, Objetivos, Basada en el paradigma orientado (Multiagent Conversaciones, systems Roles y Tareas a objetos donde los agentes son objetos especializados. Se usan Diagramas (en el análisis) de objetivos, de roles, de casos de uso, (en el diseño) de clases de agentes, de componentes y de despliegue. Software Engineering) Giraldo (2007) Ingenias y Gaia, son metodologías que por sus elementos básicos reflejan una adaptabilidad considerable para la creación de entornos educativos, pues sus componentes se estructuran en función de sociedades de agentes y sus interacciones, al igual que sucede en un entorno de aprendizaje común. Del mismo modo con que se cuenta con una metodología para el desarrollo de agentes, también se han creado lenguajes y plataformas para la implementación de sistemas multiagentes, entre ellas se encuentran, Jade, JadeX, AgentBuilder, Aglets, Zeus y Jess, cada una de estas plataformas tiene su sitio oficial en la Web a través de el se puede obtener mayor información. Para la aplicación de estos agentes en un contexto de enseñanza y aprendizaje bajo entornos virtuales, nacen los elementos conocidos como Agentes Pedagógicos - AP6 evitan perder el tiempo del usuario puesto que a medida que el usuario se desenvuelve en una aplicación hace retroalimentación inmediata, así, se puede pedir ayuda al sistema de forma inmediata y de la misma forma poder llevar un registro de ello. La idea de utilizar un agente pedagógico es poder encontrar en él un agente especializado que reside en un entorno interactivo de aprendizaje , para este tipo de software se recomienda utilizar una figura en movimiento para crear la ilusión de tener vida, dar respuestas lógicas a las preguntas de los estudiantes, dar varias opciones de respuestas al mismo interrogante puesto que esto incrementa la ilusión de inteligencia de un agente , necesita además poseer conocimiento sobre el dominio sobre el que el estudiante está aprendiendo. La “inteligencia” de un agente pedagógico no implica el resolver unos ejercicios, sino el guiar al estudiante paso a paso para que este le indique como resolverlo. Dentro del campo de la creación de un agente visual, existen varias ventajas entre ellas se tiene que: Crean la impresión que el agente se preocupa por el estudiante, el agente puede animar al estudiante cuando detecte frustración, los agentes hacen que el aprendizaje sea más divertido, ayuda al estudiante a encontrar una solución por sí mismo y este se debe crear de tal manera de que sea útil y no una distracción para el usuario. METODOLOGÍA El tipo de investigación a desarrollar en el proyecto es el denominado desarrollo experimental, el cual tiene como objetivo aprovechar los conocimientos adquiridos de la investigación y aplicarlos de forma práctica obteniendo como resultado la producción de nuevos materiales, productos o dispositivos, que a su vez está clasificado dentro de las actividades científicas y tecnológicas de la investigación , visualizado en este proyecto como un prototipo para la enseñanza utilizando elementos de inteligencia artificial. Para la aplicación de desarrollo experimental es necesario que esta sea guiada por una metodología de desarrollo software que en este proyecto será Proceso Unificado 6 GÓMEZ MARTÍN MARCO ANTONIO, GÓMEZ MARTÍN PEDRO PABLO , GONZÁLEZ CALERO PEDRO A., JAVY: Agente pedagógico para enseñar la estructura de la JVM . Universidad Complutense Madrid. Diciembre 2002 de Rational (RUP) que servirá para el análisis, diseño y construcción de los elementos software base del prototipo y para desarrollo del agente software se emplearan dos tipos de metodologías una para el análisis y diseño y otra para la implementación, dentro de las cuales se tienen GAIA e Ingenias respectivamente. La metodología RUP Se presenta en cuatro etapas: Inicio, Elaboración, construcción y transición. Para lo cual se plantean las siguientes actividades, estas se pueden realizar de forma secuencial o paralela y cada una usará un método apropiado para su ejecución. La distribución de las tareas del proyecto se podrá visualizar en la siguiente tabla: ETAPA ACTIVIDADES Inicio Elaboración Revisión documentación para llevar a cabo la arquitectura basada en un sistema multi-agentes. Revisión de la documentación correspondiente a agentes pedagógicos. Revisión y definición de la temática correspondiente al curso de algoritmia. Definición de la metodología de implementación para agentes pedagógicos. Documentar la estructura y características de los agentes a manejar en el proyecto. Definir los casos de uso críticos que definen los requerimientos funcionales. Definición de la arquitectura del tutor virtual conforme a la metodología de implementación del agente pedagógico. Definición de los componentes principales del modelo del estudiante. Definición de los componentes principales del modelo del dominio. Definición de los componentes principales del modelo pedagógico. Definición de las estrategias de implementación de unidades básicas de aprendizaje para el proyecto. Diseño del modelo multi-agente pedagógico estructurado para el proyecto. Definición de casos de uso completos. Definición del diagrama de clases. Establecimiento de requisitos no funcionales. Modelo de objetivos. Modelo de servicios. Modelo de componentes. Definir el plan de construcción. Implementación de los agentes involucrados en la aplicación. Integración de los agentes pedagógicos utilizando la arquitectura definida en la etapa de elaboración de la propuesta. Alimentación de la base de conocimiento con la información correspondiente a la temática seleccionada para Algoritmia. Construcción del modelo arquitectónico planteado. Construcción Transición. Aplicación de pruebas de caja blanca. Aplicación de pruebas de caja negra. Aplicación del prototipo funcional con estudiantes del curso de algoritmia. Evaluación de los resultados obtenidos. Fuente: Los Autores. CONCLUSIONES En el momento el proyecto se encuentra en la etapa de inicio, ya se cuenta con el levantamiento de requerimientos y aplicación de UML, AUML, se está por iniciar con el desarrollo del proyecto, se espera que para el momento de la conferencia se cuente con un avance mucho más significativo. BIBLIOGRAFÍA ARIAS S Francisco J., JIMÉNEZ B. Jovani A, OVALLE C. Demetrio A., Una Aproximación Metodológica para la Construcción de Sistemas Tutoriales Adaptativos MultiAgente con Énfasis en el Modelo Pedagógico.Universidad Nacional de Colombia sede Medellín. Noviembre 2007. BERDUGO TORRES Martha Isabel, PEDRAZA Nancy. Proyecto Ambiente virtual basado en agentes software para la enseñanza y el aprendizaje de idiomas – proyecto Universidad del Valle- Colciencias. Santiago de Cali. Enero 2009. COSSENTINO MASSIMO, BERNON CAROLE, PAVÓN JUAN, Modelling and Metamodelling Issues in Agent Oriented Software Engineering: The Agent Link AOSE TFG Approach. Disponible online: http://www.pa.icar.cnr.it/~cossentino/al3tf2/docs/aoesettg_report.pdf DE ANTONIO JIMÉNEZ Angélica, TRONCOSO PANTOJA Brunny, Agentes Pedagógicos virtuales Inteligentes. Madrid, España. Septiembre 2004. DEBDI Ouafae, GRANADA Juan David, VELÁZQUEZ ITURBIDE J. Ángel, Ayudante interactivo para los algoritmos de Prim y Kruskal. Universidad Rey Juan Carlos, Madrid. 2010. FECYT -"Fundacion española de ciencia y tecnología" - Manual de Frascati- Propuesta de Norma Práctica para Encuestas de Investigación y Desarrollo Experimental OCDE. ISBN 84-688-2888-2. Paris 2003. GIRALDO CARDOZO Juan Carlos, Ampliación de la Metodología SEMLI para apoyar el desarrollo de productos JuEGAS (Juegos Educativos Gestionados con Agentes Software, Universidad del Valle, Santiago de Cali, 2007. GÓMEZ MARTÍN Marco Antonio, GÓMEZ MARTÍN Pedro Pablo, GONZÁLEZ CALERO Pedro A., JAVY: Agente pedagógico para enseñar la estructura de la JVM. Universidad Complutense Madrid. Diciembre 2002. JENNIGS N, A Roadmap of Agent research and Development. Autonomous Agents and Multi-agents Systems 1(1) 7-38. JIMENEZ Silvestre, RAMOS Esmeralda, Agentes Inteligentes, Universidad Central de Venezuela, Caracas, Venezuela, 2000, ISSN: 1316-6239. JIMÉNEZ SÁNCHEZ Marcela, JIMÉNEZ BUILES, Jovani, OVALLE C Demetrio A., Evaluación en Línea para Cursos Tutoriales Inteligentes Adaptativos usando el Modelo de Sistema Multi-Agente. Medellín, Abril de 2008. MAES P, Artificial Intelligence metes Entertainment: Lifelike Autonomous Agents, Communications of the ACM 38(11), Noviembre, 108-104. MAS Ana, Agentes Software y Sistemas Multi-Agente: Conceptos, Arquitecturas y Aplicaciones. Edición Pearson Prentice Hall, Madrid, 2005. ISBN 84-205-4367-5. MOLINA LOPEZ José, GARCIA HERRERO Jesus, BERNARDOS BARBOLLA Ana Mª, Agentes y Sistemas Multiagente, Universidad carlos III y Universidad Politécnica, Madrid. .2004. Disponible en: http://www.ceditec.etsit.upm.es/index.php/Descargar-documento/3-Agentes-ySistemas-Multiagente.html OVALLE CARRANZA Demetrio Arturo; JIMÉNEZ BUILES Jovani Alberto; VICCARI Rosa María, Sistemas de Enseñanza / Aprendizaje basados en Agentes Inteligentes Pedagógicos. Universidad Nacional de Colombia. Noviembre 2005. PEÑA Clara Inés, MARZO Jese, LUIS DE LA ROSA Josep, FABREGAT Ramón, Un sistema de tutoría inteligente adaptativo considerando estilos de aprendizaje. Universidad de Girona, España. Mayo 22, 2002.