Diseño del Prototipo de un Sistema Multiagente Tutor...

17
Diseño del Prototipo de un Sistema Multiagente Tutor Virtual Edward Alexander Duque Tamayo Resumen A continuación se presenta el diseño de un prototipo de sistema multiagente (SMA) como material educativo computacional, que preste la labor de tutor a través de un ambiente virtual. Esta idea se soporta en las líneas de investigación de Inteligencia Artificial, Informática Educativa y Software Libre. El prototipo de Sistema Multiagente Tutor Virtual es un software adaptativo orientado hacia el estudiante, siguiendo el modelo pedagógico conductista cognoscitivo y los estilos de aprendizaje propuestos por Richard Felder. Para su creación, se muestran los diferentes tópicos que deben ser tomados en cuenta, y que debieron ser investigados para poder realizar el diseño del software. Se toma como punto de partida la teoría de Inteligencia Artificial para agentes inteligentes y el paradigma de Programación Orientada a Agentes (POA). Estas teorías describen metodologías que permiten el desarrollo del ciclo de vida de dichos entes como sistemas distribuidos; se muestra la metodología orientada a agentes MAS- CommonKADS para abordar la fase de análisis y diseño del software; para la implementación de los agentes se deja propuesta la arquitectura cliente-servidor con ayuda de diversos programas de software libre: JDK, Apache Tomcat, JADE y JESS. Palabras Clave: Inteligencia Artificial. Sistema Multiagente. Informática Educativa. Material Educativo Computacional. Modelo Pedagógico Conductista Cognoscitivo. Estilos de Aprendizaje de Felder. Programación Orientada a Agentes. MAS- CommonKADS. Arquitectura Cliente-Servidor. JADE. JESS. Abstract Next is the design of a prototype of multi-agent system (MAS) as Educative Software Material, that can work as a tutor through a virtual environment. This idea is supported in the lines of investigation of: Artificial intelligence, Educative Informatics and Free Software. The prototype of Virtual Multi-agent Tutorial System is an adaptive software oriented towards the student, following the characteristics of the Behaviorism Cognitivism pedagogical model and considering some of the learning styles proposed by Richard Felder. For its creation, the different topics that must be taken into account are shown, and which they had to be investigated to be able to make the design of software. The theory of Artificial intelligence for intelligent agents and the paradigm from Agent-Oriented Programming (AOP) are taken as a departure point. These theories describe methodologies that allow the development of the life- cycle of such agents as distributed systems; then, the agent-oriented methodology MAS-CommonKADS will be followed to approach the phase of software analysis and design; for the implementation of the agents, the server-client architecture is proposed with the help of diverse programs of free software: JDK, Tomcat Apache, JADE and JESS. Keywords: Artificial Intelligence. Multi-agent System. Educative Informatics. Educative Software Material. Behaviorism Cognitivism Pedagogical Model. Felder's Learning Styles. Agent-Oriented Programming. MAS- CommonKADS. Server-Client Architecture. JADE. JESS.

Transcript of Diseño del Prototipo de un Sistema Multiagente Tutor...

Diseño del Prototipo de un Sistema Multiagente Tutor Virtual

Edward Alexander Duque Tamayo

Resumen

A continuación se presenta el diseño de un prototipo de sistema multiagente (SMA) como material educativo computacional, que preste la labor de tutor a través de un ambiente virtual. Esta idea se soporta en las líneas de investigación de Inteligencia Artificial, Informática Educativa y Software Libre. El prototipo de Sistema Multiagente Tutor Virtual es un software adaptativo orientado hacia el estudiante, siguiendo el modelo pedagógico conductista cognoscitivo y los estilos de aprendizaje propuestos por Richard Felder.

Para su creación, se muestran los diferentes tópicos que deben ser tomados en cuenta, y que debieron ser investigados para poder realizar el diseño del software. Se toma como punto de partida la teoría de Inteligencia Artificial para agentes inteligentes y el paradigma de Programación Orientada a Agentes (POA). Estas teorías describen metodologías que permiten el desarrollo del ciclo de vida de dichos entes como sistemas distribuidos; se muestra la metodología orientada a agentes MAS-CommonKADS para abordar la fase de análisis y diseño del software; para la implementación de los agentes se deja propuesta la arquitectura cliente-servidor con ayuda de diversos programas de software libre: JDK, Apache Tomcat, JADE y JESS.

Palabras Clave: Inteligencia Ar tificial. Sistema Multiagente. Informática Educativa. Material Educativo Computacional. Modelo Pedagógico Conductista Cognoscitivo. Estilos de Aprendizaje de Felder. P rog r a mac ión Or ien t ada a Agent e s. M A S-CommonKADS. Arquitectura Cliente-Servidor. JADE. JESS.

Abstract

Next is the design of a prototype of multi-agent system (MAS) as Educative Software Material, that can work as a tutor through a virtual environment. This idea is supported in the lines of investigation of: Artificial intelligence, Educative Informatics and Free Software. The prototype of Virtual Multi-agent Tutorial System is an adaptive software oriented towards the student, following the characteristics of the Behaviorism Cognitivism pedagogical model and considering some of the learning styles proposed by Richard Felder.

For its creation, the different topics that must be taken into account are shown, and which they had to be investigated to be able to make the design of software. The theory of Artificial intelligence for intelligent agents and the paradigm from Agent-Oriented Programming (AOP) are taken as a departure point. These theories describe methodologies that allow the development of the life-cycle of such agents as distributed systems; then, the agent-oriented methodology MAS-CommonKADS will be followed to approach the phase of software analysis and design; for the implementation of the agents, the server-client architecture is proposed with the help of diverse programs of free software: JDK, Tomcat Apache, JADE and JESS.

Keywords: Artificial Intelligence. Multi-agent System. Educative Informatics. Educative Software Material. Behaviorism Cognitivism Pedagogical Model. Felder's Learning Styles. Agent-Oriented Programming. MAS-CommonKADS. Server-Client Architecture. JADE. JESS.

Personería Jurídica Resolución No. 11153 del 4 de Agosto de 1978 expedidda por el M.E.N.

I. INTRODUCCIÓN

Desde la creación del computador personal, se planteó la idea de adecuar los materiales informáticos para la educación, así rápidamente se fueron creando programas de apoyo al aprendizaje en diferentes campos del conocimiento. Con la construcción de dichos programas, nació la informática educativa y la idea de llevar las teorías desarrolladas en la filosofía y los modelos pedagógicos a dichas herramientas para optimizar el uso de las mismas. Estas nuevas creaciones entraron a formar parte del grupo de Materiales Educativos Computarizados (MEC) y, desde entonces, se ha trabajado en conjunto con pedagogos para sacar mejor provecho de este tipo de herramientas.

Al mismo tiempo, con ayuda de ciencias básicas como la matemática, la filosofía y el lenguaje, la Inteligencia Artificial comenzó a dar frutos, desarrollando métodos y modelos que permitían la incursión de nuevos trabajos, en los que se tenía en cuenta la formulación de prototipos que cumplieran metas y objetivos, que tuvieran cierto nivel de aprendizaje y conocimiento, entre otras cualidades; a dichos prototipos se les empezó a conocer con el nombre de agentes inteligentes y, se convirtieron en una excelente solución para problemas con altos grados de complejidad.

Con los agentes, nació la Inteligencia Artificial Distribuida (IAD), que los muestra como sistemas distribuidos, denominándolos sistemas multi-agentes y, los paradigmas de Programación Orientada a Agentes (POA) con la Ingeniería de Software Orientada a Agentes, que se encargan de desarrollar metodologías que lleven a cabo todo el ciclo de vida de este tipo de software. Estos campos se ocupan de mejorar el tratamiento de la información de este tipo de entes y, gracias a la evolución de la tecnología, cada vez han sido mejores los usos que se les ha dado a los agentes en la vida real.

A continuación se traza la elaboración del diseño de un prototipo de sistema distribuido que simule un tutor orientado a la adaptabilidad en el estudiante, llevando a cabo el ciclo de vida del software a través de la metodología orientada a agentes MAS-CommonKADS [8], que hace parte del paradigma de programación de agentes y las metodologías existentes orientadas a los mismos, que se explicará mas adelante en detalle, y que hace parte del proceso investigativo que se llevó a cabo para poder implementar el sistema.

Adicionalmente se mencionarán los requerimientos necesarios para poder crear software educativo con dichos entes, así como la clasificación del software que se pretende implementar, junto con la explicación de las teorías que soportan el modelo pedagógico conductista cognoscitivo y los estilos de aprendizaje que tienen los estudiantes según los doctores Richard Felder y Linda Silverman. Para finalizar la parte investigativa del proyecto, se describe la arquitectura

cliente-servidor y los programas propuestos para desarrollar el software.

Se mostrará de forma resumida las fases de análisis y diseño del software, aplicando la metodología MAS-CommonKADS. Más adelante, se explicará el diseño global y el diseño detallado del sistema, donde se da una propuesta de la arquitectura global y detallada que debe tener el software para su funcionamiento.

Finalmente se describe la metodología, en la cual, se dan las pautas que se deben seguir para lograr crear el Sistema Multiagente Tutor Vir tual. Se finaliza el ar tículo mostrando las conclusiones del proyecto.

II. AGENTES Y PARADIGMA DE PROGRAMACIÓN ORIENTADA A AGENTES

A. Agentes

“Un agente es todo aquello que puede considerarse que percibe su ambiente mediante sensores y que responde o actúa en tal ambiente por medio de efectores.” [17]. Los agentes humanos responden a su entorno a través de los diferentes órganos con los que perciben el mundo y actúan en él con las partes del cuerpo; de esta manera se puede decir que los agentes artificiales responden a su entornos con diversas “entradas” que les permiten concebir su ambiente y responder a éstos a través de “salidas” que serían los efectores, véase figura 1.

Aunque no hay una definición concreta de agente, se puede decir que un agente es aquel que percibe su entorno y decide cómo actuar para alcanzar sus objetivos, además de ello presenta algunas (o todas) de las siguientes características:

• Autonomía: Trabaja sin la necesidad de un control por parte del usuario y tiene cierto control sobre sus acciones.

• Reactividad: Percibe su entorno y responde a cambios que se produzcan en el mismo.

• Proactividad: Decide cómo y cuándo satisfacer a las necesidades que le sean solicitadas.

• Inteligencia: Que se expresa como el hecho de razonar, que implica perseguir y conseguir objetivos y el hecho de aprender, que implica tener nuevos conocimientos a partir de eventos nuevos y experiencia adquirida.

• Sociabilidad: Interactúan con usuarios y con otros agentes.

• Movilidad: Capacidad de desplazamiento.

A. Agentes

• Autonomía:

• Reactividad:

• Proactividad:

• Inteligencia:

• Sociabilidad:

• Movilidad:

Los agentes poseen también diferencias con los sistemas expertos y los objetos, las cuales se pueden observar en la tabla 1 y la tabla 2.

Como los agentes responden a las percepciones del entorno, y esas percepciones están descritas en una se cuencia, és t a s ay uda rán a deter m ina r su comportamiento, por ello, es adecuado elegir las acciones que los agentes deberían tomar de acuerdo a una serie de percepciones iniciales y originar una tabla, la cual, se constituirá entonces con una lista extensa, casi infinita de acciones; ésta lista se denomina mapeo. La idea es, generalizar las situaciones, como en un problema matemático donde se puede describir una función con tan solo un enunciado o un algoritmo, para que el agente pueda actuar de manera ilimitada, resolviendo diversas tareas en ambientes aleatorios.

Es importante tener en cuenta que el diseño del agente se compone de dos partes que permiten su creación: el programa que lo describe y la arquitectura de software y/o hardware que soporta su funcionamiento. Hay que hacer un análisis del agente, tomando los objetivos, ambientes y metas que podría lograr; para ello existe la descripción PAMA (Percepciones, Acciones, Metas y Ambientes), la cual se puede observar en la tabla 3, y que sirve para hacer un bosquejo del agente a tratar.

Gracias a este bosquejo se puede programar el agente dependiendo de los requerimientos que se pidan. En la figura 2, se muestra el “esqueleto” del programa de un agente generalizado, un agente que trabaja recibiendo percepciones del entorno, aceptándolas y, gracias a éstas, responde con sus acciones. Se puede observar que se actualiza la memoria para que exprese una nueva percepción y tome la mejor acción, terminando el ciclo actualizando nuevamente la memoria guardando la acción realizada [17].

26 Universidad El Bosque - Facultad de Ingeniería de Sistemas

Figura 1. Los agentes interactúan con el ambiente a travésde sensores y efectores [17]

Tabla 1. Objetos Vs. Agentes [13]

Tabla 2. Sistemas Expertos Vs. Agentes [13]

Tabla 3. Ejemplo de Diversos Tipos de Agentes y susCorrespondientes Descripciones Pama. [17]

Revista de Tecnología - Journal of Technology • Volumen 6, No. 1, Enero - Junio 2007 27

I. INTRODUCCIÓN

Desde la creación del computador personal, se planteó la idea de adecuar los materiales informáticos para la educación, así rápidamente se fueron creando programas de apoyo al aprendizaje en diferentes campos del conocimiento. Con la construcción de dichos programas, nació la informática educativa y la idea de llevar las teorías desarrolladas en la filosofía y los modelos pedagógicos a dichas herramientas para optimizar el uso de las mismas. Estas nuevas creaciones entraron a formar parte del grupo de Materiales Educativos Computarizados (MEC) y, desde entonces, se ha trabajado en conjunto con pedagogos para sacar mejor provecho de este tipo de herramientas.

Al mismo tiempo, con ayuda de ciencias básicas como la matemática, la filosofía y el lenguaje, la Inteligencia Artificial comenzó a dar frutos, desarrollando métodos y modelos que permitían la incursión de nuevos trabajos, en los que se tenía en cuenta la formulación de prototipos que cumplieran metas y objetivos, que tuvieran cierto nivel de aprendizaje y conocimiento, entre otras cualidades; a dichos prototipos se les empezó a conocer con el nombre de agentes inteligentes y, se convirtieron en una excelente solución para problemas con altos grados de complejidad.

Con los agentes, nació la Inteligencia Artificial Distribuida (IAD), que los muestra como sistemas distribuidos, denominándolos sistemas multi-agentes y, los paradigmas de Programación Orientada a Agentes (POA) con la Ingeniería de Software Orientada a Agentes, que se encargan de desarrollar metodologías que lleven a cabo todo el ciclo de vida de este tipo de software. Estos campos se ocupan de mejorar el tratamiento de la información de este tipo de entes y, gracias a la evolución de la tecnología, cada vez han sido mejores los usos que se les ha dado a los agentes en la vida real.

A continuación se traza la elaboración del diseño de un prototipo de sistema distribuido que simule un tutor orientado a la adaptabilidad en el estudiante, llevando a cabo el ciclo de vida del software a través de la metodología orientada a agentes MAS-CommonKADS [8], que hace parte del paradigma de programación de agentes y las metodologías existentes orientadas a los mismos, que se explicará mas adelante en detalle, y que hace parte del proceso investigativo que se llevó a cabo para poder implementar el sistema.

Adicionalmente se mencionarán los requerimientos necesarios para poder crear software educativo con dichos entes, así como la clasificación del software que se pretende implementar, junto con la explicación de las teorías que soportan el modelo pedagógico conductista cognoscitivo y los estilos de aprendizaje que tienen los estudiantes según los doctores Richard Felder y Linda Silverman. Para finalizar la parte investigativa del proyecto, se describe la arquitectura

cliente-servidor y los programas propuestos para desarrollar el software.

Se mostrará de forma resumida las fases de análisis y diseño del software, aplicando la metodología MAS-CommonKADS. Más adelante, se explicará el diseño global y el diseño detallado del sistema, donde se da una propuesta de la arquitectura global y detallada que debe tener el software para su funcionamiento.

Finalmente se describe la metodología, en la cual, se dan las pautas que se deben seguir para lograr crear el Sistema Multiagente Tutor Vir tual. Se finaliza el ar tículo mostrando las conclusiones del proyecto.

II. AGENTES Y PARADIGMA DE PROGRAMACIÓN ORIENTADA A AGENTES

A. Agentes

“Un agente es todo aquello que puede considerarse que percibe su ambiente mediante sensores y que responde o actúa en tal ambiente por medio de efectores.” [17]. Los agentes humanos responden a su entorno a través de los diferentes órganos con los que perciben el mundo y actúan en él con las partes del cuerpo; de esta manera se puede decir que los agentes artificiales responden a su entornos con diversas “entradas” que les permiten concebir su ambiente y responder a éstos a través de “salidas” que serían los efectores, véase figura 1.

Aunque no hay una definición concreta de agente, se puede decir que un agente es aquel que percibe su entorno y decide cómo actuar para alcanzar sus objetivos, además de ello presenta algunas (o todas) de las siguientes características:

• Autonomía: Trabaja sin la necesidad de un control por parte del usuario y tiene cierto control sobre sus acciones.

• Reactividad: Percibe su entorno y responde a cambios que se produzcan en el mismo.

• Proactividad: Decide cómo y cuándo satisfacer a las necesidades que le sean solicitadas.

• Inteligencia: Que se expresa como el hecho de razonar, que implica perseguir y conseguir objetivos y el hecho de aprender, que implica tener nuevos conocimientos a partir de eventos nuevos y experiencia adquirida.

• Sociabilidad: Interactúan con usuarios y con otros agentes.

• Movilidad: Capacidad de desplazamiento.

A. Agentes

• Autonomía:

• Reactividad:

• Proactividad:

• Inteligencia:

• Sociabilidad:

• Movilidad:

Los agentes poseen también diferencias con los sistemas expertos y los objetos, las cuales se pueden observar en la tabla 1 y la tabla 2.

Como los agentes responden a las percepciones del entorno, y esas percepciones están descritas en una se cuencia, és t a s ay uda rán a deter m ina r su comportamiento, por ello, es adecuado elegir las acciones que los agentes deberían tomar de acuerdo a una serie de percepciones iniciales y originar una tabla, la cual, se constituirá entonces con una lista extensa, casi infinita de acciones; ésta lista se denomina mapeo. La idea es, generalizar las situaciones, como en un problema matemático donde se puede describir una función con tan solo un enunciado o un algoritmo, para que el agente pueda actuar de manera ilimitada, resolviendo diversas tareas en ambientes aleatorios.

Es importante tener en cuenta que el diseño del agente se compone de dos partes que permiten su creación: el programa que lo describe y la arquitectura de software y/o hardware que soporta su funcionamiento. Hay que hacer un análisis del agente, tomando los objetivos, ambientes y metas que podría lograr; para ello existe la descripción PAMA (Percepciones, Acciones, Metas y Ambientes), la cual se puede observar en la tabla 3, y que sirve para hacer un bosquejo del agente a tratar.

Gracias a este bosquejo se puede programar el agente dependiendo de los requerimientos que se pidan. En la figura 2, se muestra el “esqueleto” del programa de un agente generalizado, un agente que trabaja recibiendo percepciones del entorno, aceptándolas y, gracias a éstas, responde con sus acciones. Se puede observar que se actualiza la memoria para que exprese una nueva percepción y tome la mejor acción, terminando el ciclo actualizando nuevamente la memoria guardando la acción realizada [17].

26 Universidad El Bosque - Facultad de Ingeniería de Sistemas

Figura 1. Los agentes interactúan con el ambiente a travésde sensores y efectores [17]

Tabla 1. Objetos Vs. Agentes [13]

Tabla 2. Sistemas Expertos Vs. Agentes [13]

Tabla 3. Ejemplo de Diversos Tipos de Agentes y susCorrespondientes Descripciones Pama. [17]

Revista de Tecnología - Journal of Technology • Volumen 6, No. 1, Enero - Junio 2007 27

B. Sistemas Multiagente

En este caso los agentes no son desarrollados de forma independiente sino como entidades que constituyen un sistema y que se relacionan con objetos, para ello es fundamental que interactúen por medio del diálogo, que se deleguen funciones, que cooperen para lograr un objetivo común y que coordinen lo que están haciendo, para organizar el proceso de la solución del problema y se eviten interacciones nocivas [4], de esta forma diversos tipos de agentes proporcionan servicios inteligentes a los usuarios. Los sistemas multiagente se abren paso en el campo de la Inteligencia Artificial Distribuida (DAI, Distributed Artificial Intelligence), ya que esta rama de la IA se encarga de su comprensión.

C. Paradigma de Programación Orientada a Agentes

Ya que los agentes presentan particularidades diversas a los objetos, ha sido necesario desarrollar la Ingeniería del Software Orientada a Agente (AOSE Agent Oriented Software Engineering) [13], y a su vez diferentes metodologías que permitan llevar a cabo el ciclo de vida de este tipo de software de la manera adecuada. Dichas metodologías, no son en su totalidad nuevas creaciones, pues se derivan de las metodologías orientadas a objetos (OO) y las metodologías de ingeniería del conocimiento (ICO), ya que éstas tienen muchas características que pueden servir en el moldeamiento de agentes y sistemas multiagente.

Extensión de Metodologías OO. Hay una notoria relación entre agentes y objetos, ya que de una u otra forma éstos presentan similitudes, según Carlos Iglesias, los agentes: “pueden considerarse como objetos activos, es decir objetos con estado mental. Ambos paradigmas comparten el paso de mensajes para comunicarse, y el empleo de herencia y agregación para definir su arquitectura. Las principales diferencias estriban en que los mensajes de los agentes tienen un tipo predeterminado (su acto comunicativo) y en que el estado mental del agente se basa en sus creencias, intenciones, deseos, acuerdos, etc.”[8].

De otro lado, ayuda a que la programación orientada a agentes se extienda de la programación orientada a objetos, por el uso habitual y popularidad que ésta última posee, “la experiencia y difusión de las metodologías orientadas a

B. Sistemas Multiagente

C. Paradigma de Programación Orientada a Agentes

objetos facilitarían el aprendizaje y comprensión de los diagramas de las metodologías orientadas a agentes que las extiendan.”[8] Se puede evitar trabajo en aprender una metodología totalmente nueva y se puede garantizar de una u otra forma el éxito utilizando metodologías que ya han sido aprobadas, como las orientadas a objetos, que garantizan su aplicación. Aunque los objetos y agentes no son iguales se puede utilizar la teoría existente, extendiéndola y modificándola para ajustarla a las nuevas necesidades.

Extensión de Metodologías ICO. Debido a que las metodologías de ingeniería del conocimiento, “tratan del desarrollo de sistemas basados en el conocimiento, (…) y los agentes tienen características cognitivas, estas metodologías pueden proporcionar las técnicas de modelado de la base del conocimiento de los agentes.”[8]El conocimiento de un agente, según Carlos Iglesias: “puede considerarse un proceso de adquisición de conocimiento, y dicho proceso solo es abordado por estas metodologías”[8], entonces se ve la extensión que tienen las metodologías or ientadas a agentes de las metodologías de ingeniería del conocimiento, teniendo en cuenta que en éstas también se tiene experiencia y han sido utilizadas con éxito en el mercado.

Metodologías Existentes. Bajo estas extensiones, se han desarrollado diferentes trabajos que pretenden llevar a cabo el ciclo de vida de agentes distribuidos. Los principales trabajos extendidos de metodologías OO son:

• Modelado y diseño de agentes en BDI (Believes, Desires, Intentions)• Análisis y diseño OA de Burmeister• GAIA• TROPOS• MaSE• MESSAGE

De otro lado los trabajos extendidos de metodologías ICO son:

• CoMoMAS• MAS-CommonKADS

III. SOFTWARE EDUCATIVO

El software educativo es uno de los pilares fundamentales de la informática educativa y agrupa todas aquellas herramientas que permiten fomentar la educación mediante medios computacionales y dar al usuario programas que permitan fomentar su interés y desarrollo en determinado campo o área de trabajo.

A. Material Educativo Computacional (MEC)

Un material educativo computacional (MEC) es todo lo que trata de “complementar lo que con medios y materiales de Aprendizaje-Enseñanza (E-A) no es posible o es difícil de lograr” [6], esto lleva a la clara abstracción de lo que no se puede hacer con las herramientas típicas utilizadas por maestros; la idea de los MECs no es sustituir ninguno de los demás recursos existentes, en la educación o, en su defecto solamente computarizarlos. El principio que diferencia un MEC de todos los demás instrumentos pedagógicos existentes, es la interacción, pues solamente el computador puede unir imágenes, texto, video, entre otros, y desarrollar programas para darle al estudiante un ambiente completo donde pueda aprovechar al máximo sus habilidades para aprender.

Tipos de Materiales Educativos Computarizados. Existen dos tipos de MECs: los de tipo algorítmico, que transmiten el aprendizaje hacia quien quiere aprender, el estudiante debe asimilar lo enseñado siguiendo una trayector ia que le permita seguir la ruta del conocimiento; y los de tipo heurístico, que brindan la enseñanza al estudiante a través de situaciones en las que pueda experimentar y descubrir el conocimiento. También se pueden clasificar de acuerdo a la función que asumen como se puede observar en la tabla 4.

A. Sistemas Tutoriales Inteligentes

Los sistemas tutores inteligentes se diferencian de los sistemas tutoriales por que poseen un comportamiento adaptativo a las características del estudiante y trabajan en función de lo que se quiere enseñar. Este tipo de MECs utiliza técnicas de inteligencia artificial para representar el conocimiento y dirigir una estrategia de enseñanza. Es un software personalizado, experto en el dominio del conocimiento y en el dominio pedagógico [11].

A. Sistemas Tutoriales Inteligentes

Los Sistemas Tutores Inteligentes tienen la capacidad de adaptarse a las particularidades de cada alumno, proporcionando de esta manera ambientes que facilitan el aprendizaje del usuario, estos sistemas aprovechan el conocimiento que disponen para guiar el proceso de tutor.

“La idea básica de un STI es la de ajustar la estrategia de enseñanza-aprendizaje, el contenido y forma de lo que se aprende, a los intereses, expectativas y características del aprendiz, dentro de las posibilidades que brinda el área y nivel de conocimiento y de las múltiples formas en que éste se puede presentar u obtener.”[6]

Los STI poseen cuatro módulos básicos que se pueden observar en la figura 3: el Modelo del Alumno o Modelo del Estudiante, el Modelo Pedagógico o Modelo Tutor, el Modelo Didáctico y el Modelo de Interfase, aunque estos modelos pueden variar dependiendo de la aplicación. Dichos modelos son independientes y pueden estar representados por agentes inteligentes distribuidos en una arquitectura de SMA, no obstante, cada modelo tiene la posibilidad de estar dividido en sub-modelos.

En el Modelo del Estudiante o Modelo del Alumno, se recolecta la información del aprendiz, sus actitudes y aptitudes desde el punto de vista pedagógico, el conocimiento que posee sobre el dominio tratado y las habilidades y destrezas para realizar actividades. “Este modelo además, debe ser capaz de recoger el comportamiento evolutivo del alumno durante el trabajo en diferentes sesiones y modelar el estado mental del alumno, es decir "lo que sabe y lo que no sabe" y a partir de esto adaptar el sistema sobre la base de sus respuestas.”[7]

En el Modelo Pedagógico es donde se “almacena” la información del cerebro del sistema. Contiene la base de conocimiento del sistema y por ende los mecanismos para responder a las peticiones del estudiante, también tiene información de las metodologías pedagógicas y del aprendizaje humano. Este modulo, con la ayuda del Modelo del Estudiante proponen el Modelo Didáctico del sistema.

28 Universidad El Bosque - Facultad de Ingeniería de Sistemas

function SKELETON - AGENT (percept) returns actionfunción ESQUELETO - AGENTE (percepción) responde con una acción estática: memoria, la del mundo del agente

memoria ACTUALIZACIÓN-MEMORIA (memoria, percepción) acción ACTUALIZACIÓN-MEMORIA (memoria) memoria ACTUALIZACIÓN-MEMORIA (memoria, acción) responde con una acción

Figura 2. El “esqueleto” de un agente. [17]

Tabla 4. Clasificación de los MECs según las FuncionesEducativas que asumen. [6]

Figura 3. Estructura Tradicional de un STI [7]

Revista de Tecnología - Journal of Technology • Volumen 6, No. 1, Enero - Junio 2007 29

B. Sistemas Multiagente

En este caso los agentes no son desarrollados de forma independiente sino como entidades que constituyen un sistema y que se relacionan con objetos, para ello es fundamental que interactúen por medio del diálogo, que se deleguen funciones, que cooperen para lograr un objetivo común y que coordinen lo que están haciendo, para organizar el proceso de la solución del problema y se eviten interacciones nocivas [4], de esta forma diversos tipos de agentes proporcionan servicios inteligentes a los usuarios. Los sistemas multiagente se abren paso en el campo de la Inteligencia Artificial Distribuida (DAI, Distributed Artificial Intelligence), ya que esta rama de la IA se encarga de su comprensión.

C. Paradigma de Programación Orientada a Agentes

Ya que los agentes presentan particularidades diversas a los objetos, ha sido necesario desarrollar la Ingeniería del Software Orientada a Agente (AOSE Agent Oriented Software Engineering) [13], y a su vez diferentes metodologías que permitan llevar a cabo el ciclo de vida de este tipo de software de la manera adecuada. Dichas metodologías, no son en su totalidad nuevas creaciones, pues se derivan de las metodologías orientadas a objetos (OO) y las metodologías de ingeniería del conocimiento (ICO), ya que éstas tienen muchas características que pueden servir en el moldeamiento de agentes y sistemas multiagente.

Extensión de Metodologías OO. Hay una notoria relación entre agentes y objetos, ya que de una u otra forma éstos presentan similitudes, según Carlos Iglesias, los agentes: “pueden considerarse como objetos activos, es decir objetos con estado mental. Ambos paradigmas comparten el paso de mensajes para comunicarse, y el empleo de herencia y agregación para definir su arquitectura. Las principales diferencias estriban en que los mensajes de los agentes tienen un tipo predeterminado (su acto comunicativo) y en que el estado mental del agente se basa en sus creencias, intenciones, deseos, acuerdos, etc.”[8].

De otro lado, ayuda a que la programación orientada a agentes se extienda de la programación orientada a objetos, por el uso habitual y popularidad que ésta última posee, “la experiencia y difusión de las metodologías orientadas a

B. Sistemas Multiagente

C. Paradigma de Programación Orientada a Agentes

objetos facilitarían el aprendizaje y comprensión de los diagramas de las metodologías orientadas a agentes que las extiendan.”[8] Se puede evitar trabajo en aprender una metodología totalmente nueva y se puede garantizar de una u otra forma el éxito utilizando metodologías que ya han sido aprobadas, como las orientadas a objetos, que garantizan su aplicación. Aunque los objetos y agentes no son iguales se puede utilizar la teoría existente, extendiéndola y modificándola para ajustarla a las nuevas necesidades.

Extensión de Metodologías ICO. Debido a que las metodologías de ingeniería del conocimiento, “tratan del desarrollo de sistemas basados en el conocimiento, (…) y los agentes tienen características cognitivas, estas metodologías pueden proporcionar las técnicas de modelado de la base del conocimiento de los agentes.”[8]El conocimiento de un agente, según Carlos Iglesias: “puede considerarse un proceso de adquisición de conocimiento, y dicho proceso solo es abordado por estas metodologías”[8], entonces se ve la extensión que tienen las metodologías or ientadas a agentes de las metodologías de ingeniería del conocimiento, teniendo en cuenta que en éstas también se tiene experiencia y han sido utilizadas con éxito en el mercado.

Metodologías Existentes. Bajo estas extensiones, se han desarrollado diferentes trabajos que pretenden llevar a cabo el ciclo de vida de agentes distribuidos. Los principales trabajos extendidos de metodologías OO son:

• Modelado y diseño de agentes en BDI (Believes, Desires, Intentions)• Análisis y diseño OA de Burmeister• GAIA• TROPOS• MaSE• MESSAGE

De otro lado los trabajos extendidos de metodologías ICO son:

• CoMoMAS• MAS-CommonKADS

III. SOFTWARE EDUCATIVO

El software educativo es uno de los pilares fundamentales de la informática educativa y agrupa todas aquellas herramientas que permiten fomentar la educación mediante medios computacionales y dar al usuario programas que permitan fomentar su interés y desarrollo en determinado campo o área de trabajo.

A. Material Educativo Computacional (MEC)

Un material educativo computacional (MEC) es todo lo que trata de “complementar lo que con medios y materiales de Aprendizaje-Enseñanza (E-A) no es posible o es difícil de lograr” [6], esto lleva a la clara abstracción de lo que no se puede hacer con las herramientas típicas utilizadas por maestros; la idea de los MECs no es sustituir ninguno de los demás recursos existentes, en la educación o, en su defecto solamente computarizarlos. El principio que diferencia un MEC de todos los demás instrumentos pedagógicos existentes, es la interacción, pues solamente el computador puede unir imágenes, texto, video, entre otros, y desarrollar programas para darle al estudiante un ambiente completo donde pueda aprovechar al máximo sus habilidades para aprender.

Tipos de Materiales Educativos Computarizados. Existen dos tipos de MECs: los de tipo algorítmico, que transmiten el aprendizaje hacia quien quiere aprender, el estudiante debe asimilar lo enseñado siguiendo una trayector ia que le permita seguir la ruta del conocimiento; y los de tipo heurístico, que brindan la enseñanza al estudiante a través de situaciones en las que pueda experimentar y descubrir el conocimiento. También se pueden clasificar de acuerdo a la función que asumen como se puede observar en la tabla 4.

A. Sistemas Tutoriales Inteligentes

Los sistemas tutores inteligentes se diferencian de los sistemas tutoriales por que poseen un comportamiento adaptativo a las características del estudiante y trabajan en función de lo que se quiere enseñar. Este tipo de MECs utiliza técnicas de inteligencia artificial para representar el conocimiento y dirigir una estrategia de enseñanza. Es un software personalizado, experto en el dominio del conocimiento y en el dominio pedagógico [11].

A. Sistemas Tutoriales Inteligentes

Los Sistemas Tutores Inteligentes tienen la capacidad de adaptarse a las particularidades de cada alumno, proporcionando de esta manera ambientes que facilitan el aprendizaje del usuario, estos sistemas aprovechan el conocimiento que disponen para guiar el proceso de tutor.

“La idea básica de un STI es la de ajustar la estrategia de enseñanza-aprendizaje, el contenido y forma de lo que se aprende, a los intereses, expectativas y características del aprendiz, dentro de las posibilidades que brinda el área y nivel de conocimiento y de las múltiples formas en que éste se puede presentar u obtener.”[6]

Los STI poseen cuatro módulos básicos que se pueden observar en la figura 3: el Modelo del Alumno o Modelo del Estudiante, el Modelo Pedagógico o Modelo Tutor, el Modelo Didáctico y el Modelo de Interfase, aunque estos modelos pueden variar dependiendo de la aplicación. Dichos modelos son independientes y pueden estar representados por agentes inteligentes distribuidos en una arquitectura de SMA, no obstante, cada modelo tiene la posibilidad de estar dividido en sub-modelos.

En el Modelo del Estudiante o Modelo del Alumno, se recolecta la información del aprendiz, sus actitudes y aptitudes desde el punto de vista pedagógico, el conocimiento que posee sobre el dominio tratado y las habilidades y destrezas para realizar actividades. “Este modelo además, debe ser capaz de recoger el comportamiento evolutivo del alumno durante el trabajo en diferentes sesiones y modelar el estado mental del alumno, es decir "lo que sabe y lo que no sabe" y a partir de esto adaptar el sistema sobre la base de sus respuestas.”[7]

En el Modelo Pedagógico es donde se “almacena” la información del cerebro del sistema. Contiene la base de conocimiento del sistema y por ende los mecanismos para responder a las peticiones del estudiante, también tiene información de las metodologías pedagógicas y del aprendizaje humano. Este modulo, con la ayuda del Modelo del Estudiante proponen el Modelo Didáctico del sistema.

28 Universidad El Bosque - Facultad de Ingeniería de Sistemas

function SKELETON - AGENT (percept) returns actionfunción ESQUELETO - AGENTE (percepción) responde con una acción estática: memoria, la del mundo del agente

memoria ACTUALIZACIÓN-MEMORIA (memoria, percepción) acción ACTUALIZACIÓN-MEMORIA (memoria) memoria ACTUALIZACIÓN-MEMORIA (memoria, acción) responde con una acción

Figura 2. El “esqueleto” de un agente. [17]

Tabla 4. Clasificación de los MECs según las FuncionesEducativas que asumen. [6]

Figura 3. Estructura Tradicional de un STI [7]

Revista de Tecnología - Journal of Technology • Volumen 6, No. 1, Enero - Junio 2007 29

El Modelo Didáctico es quien escoge las tareas que se le mostrarán al estudiante de acuerdo a los objetivos plasmados por el Modelo Pedagógico, es el encargado de seleccionar estrategias pedagógicas de acuerdo al perfil del estudiante y corregir el Modelo del Estudiante, por último se encarga de activar el Modelo de Interfase de la aplicación.

Para finalizar, el Modelo de Interfase ofrece las tareas de aprendizaje al estudiante a través de diversos medios de comunicación y distintos tipos de ambiente logrando una enseñanza adaptativa y eficiente.

C. SMA en STI

La incorporación de técnicas de IA en STI se ha desarrollado desde la aparición de éstos, resulta ventajoso utilizar SMA ya que la estructura tradicional de cuatro modelos de los STI mostrada en la figura 3, puede ser adaptada a cuatro agentes, o en su defecto dividir un módulo en varios agentes, lo que convierte el STI flexible en sus componentes.

Dadas las características de los agentes, construir un SMA para la educación resulta benéfico, ya que se pueden añadir agentes en cualquier momento del desarrollo, de otro lado, cada agente puede tener una arquitectura independiente, igual que un lenguaje de desarrollo, lo que permite fusionar agentes y/o acoplarlos en la estructura general de la aplicación. Como los agentes son autónomos aplicar cada módulo del STI a un agente permite que el software sea modular y escalable. Además autores como Elizabeth Jiménez y otros [11], Jonson W.L. [12] y Gonzalo Villarreal [21], expresan más ventajas de los SMA en STI.

Como los SMA se incorporan en los STI, no basta con reconocer las ventajas que muestran los agentes en educación, también hay que tener en cuenta que, este Software Educativo, es representado a través de la multimedia del computador, por ello, para que un SMA cumpla los requisitos básicos de enseñanza-aprendizaje y sea aceptado pedagógicamente según Clara Jerez, debe cumplir con ciertos requisitos:

• “La información que suministre el agente debe generar un contexto para la tarea de aprendizaje que se presente al alumno.

• Los estímulos que se presenten sincrónicamente deben ser coherentes (sin romper expectativas cognitivas de los alumnos).

• Los agentes deben ser realmente 'interactivos' (los refuerzos que suministren se deben corresponder con la ejecución de la tarea y sus resultados).

• Los agentes deben aparecer en el proceso de generación de contextos de tareas de aprendizaje y no sólo como elemento de refuerzo en los resultados de la ejecución de tareas.

C. SMA en STI

• Los agentes deben ser 'agradables', es decir deben tener características que permitan asegurar el no rechazo afectivo de dicho elemento. (…).

• Las capacidades físicas del agente (cómo se desplaza por la pantalla, cómo gesticula) y las funciones que puede ejecutar el agente (cómo indica un objeto o muestra un concepto) deben ser coherentes con el contenido a enseñar, y el modo de presentación de la información.

• El agente ha de incorporar métodos de motivación al aprendizaje (contextualización de la tarea que se demanda al estudiante y los refuerzos de la ejecución de dichas tareas) y promover aprendizaje significativo. (…).” [10]

IV. TEORÍAS PEDAGÓGICAS

A. Modelo Pedagógico Conductista Cognoscitivo

El modelo pedagógico conductista cognoscitivo se basa en dos de los modelos pedagógicos más representativos: el conductismo y el cognoscitivismo, los cuales muestran sus principios básicos en la tabla 5, y a su vez, las reglas de instrucción en la tabla 6.

A. Modelo Pedagógico Conductista Cognoscitivo

Como se puede apreciar en la tabla 5 y 6, el modelo conductista, no toma en cuenta al aprendiz como tal, sino las condiciones que lo rodean para formar el conocimiento, mientras que el polo opuesto, el modelo cognoscitivista centra su teoría en el individuo y cómo forma el conocimiento a través del entorno que lo rodea.

La figura 4, muestra el foco del modelo pedagógico conductista cognoscitivo, este modelo elaborado por Robert Gagné toma las características principales de los modelos pedagógicos conductista y cognitivista y los une en una sola teoría, teoría a la que suma también los tipos de estímulos denominados eventos y las respuestas a éstos, denominados resultados o aprendizajes esperados, así como las fases de aprendizaje (procesamiento de la información) con las que se debe trabajar para lograr los diversos tipos de resultados.

Los conceptos básicos del conductismo cognitivista se basan en cuatro tópicos: el aprendizaje, el modelo de procesamiento de información y aprendizaje, las fases o etapas de aprendizaje y los tipos de resultado de aprendizaje.

B. Estilos de Aprendizaje de Felder y Silverman

Un estilo de aprendizaje es la “manera de observar” el comportamiento de un individuo frente a la forma en cómo toma la información, forma estrategias para aprender, cómo entiende y cómo le gusta revisar la información que esta utilizando para llegar a determinado conocimiento, entre otros factores. Un estilo de aprendizaje es una aproximación para “clasificar” un aprendiz en un área específica de acuerdo a un perfil, ya que este estilo evoluciona y cambia constantemente respecto a las variables de entorno que afectan al estudiante.

El modelo de Felder y Silverman "Felder Silverman Learning Style Model”[3], clasifica los estilos de aprendizaje de los estudiantes en ocho grandes grupos, que se relacionan con las preguntas y respuestas que se muestran a continuación en la tabla 7:

B. Estilos de Aprendizaje de Felder y Silverman

30 Universidad El Bosque - Facultad de Ingeniería de Sistemas

Tabla 5. Principios Básicos del Conductismo yCognoscitivismo [9]

Tabla 6. Reglas de Instrucción del Conductismo yCognoscitivismo [9]

Estímulo Respuesta

Reforzamiento

Entorno

Organismo

Conductivismo Conductivismo Cognoscitivo Cognoscitivismo

Estímulo Respuesta

Reforzamiento

Entorno

Organismo

Figura 4. Focos de atención en las diferentes teorías deaprendizaje [6].

Revista de Tecnología - Journal of Technology • Volumen 6, No. 1, Enero - Junio 2007 31

El Modelo Didáctico es quien escoge las tareas que se le mostrarán al estudiante de acuerdo a los objetivos plasmados por el Modelo Pedagógico, es el encargado de seleccionar estrategias pedagógicas de acuerdo al perfil del estudiante y corregir el Modelo del Estudiante, por último se encarga de activar el Modelo de Interfase de la aplicación.

Para finalizar, el Modelo de Interfase ofrece las tareas de aprendizaje al estudiante a través de diversos medios de comunicación y distintos tipos de ambiente logrando una enseñanza adaptativa y eficiente.

C. SMA en STI

La incorporación de técnicas de IA en STI se ha desarrollado desde la aparición de éstos, resulta ventajoso utilizar SMA ya que la estructura tradicional de cuatro modelos de los STI mostrada en la figura 3, puede ser adaptada a cuatro agentes, o en su defecto dividir un módulo en varios agentes, lo que convierte el STI flexible en sus componentes.

Dadas las características de los agentes, construir un SMA para la educación resulta benéfico, ya que se pueden añadir agentes en cualquier momento del desarrollo, de otro lado, cada agente puede tener una arquitectura independiente, igual que un lenguaje de desarrollo, lo que permite fusionar agentes y/o acoplarlos en la estructura general de la aplicación. Como los agentes son autónomos aplicar cada módulo del STI a un agente permite que el software sea modular y escalable. Además autores como Elizabeth Jiménez y otros [11], Jonson W.L. [12] y Gonzalo Villarreal [21], expresan más ventajas de los SMA en STI.

Como los SMA se incorporan en los STI, no basta con reconocer las ventajas que muestran los agentes en educación, también hay que tener en cuenta que, este Software Educativo, es representado a través de la multimedia del computador, por ello, para que un SMA cumpla los requisitos básicos de enseñanza-aprendizaje y sea aceptado pedagógicamente según Clara Jerez, debe cumplir con ciertos requisitos:

• “La información que suministre el agente debe generar un contexto para la tarea de aprendizaje que se presente al alumno.

• Los estímulos que se presenten sincrónicamente deben ser coherentes (sin romper expectativas cognitivas de los alumnos).

• Los agentes deben ser realmente 'interactivos' (los refuerzos que suministren se deben corresponder con la ejecución de la tarea y sus resultados).

• Los agentes deben aparecer en el proceso de generación de contextos de tareas de aprendizaje y no sólo como elemento de refuerzo en los resultados de la ejecución de tareas.

C. SMA en STI

• Los agentes deben ser 'agradables', es decir deben tener características que permitan asegurar el no rechazo afectivo de dicho elemento. (…).

• Las capacidades físicas del agente (cómo se desplaza por la pantalla, cómo gesticula) y las funciones que puede ejecutar el agente (cómo indica un objeto o muestra un concepto) deben ser coherentes con el contenido a enseñar, y el modo de presentación de la información.

• El agente ha de incorporar métodos de motivación al aprendizaje (contextualización de la tarea que se demanda al estudiante y los refuerzos de la ejecución de dichas tareas) y promover aprendizaje significativo. (…).” [10]

IV. TEORÍAS PEDAGÓGICAS

A. Modelo Pedagógico Conductista Cognoscitivo

El modelo pedagógico conductista cognoscitivo se basa en dos de los modelos pedagógicos más representativos: el conductismo y el cognoscitivismo, los cuales muestran sus principios básicos en la tabla 5, y a su vez, las reglas de instrucción en la tabla 6.

A. Modelo Pedagógico Conductista Cognoscitivo

Como se puede apreciar en la tabla 5 y 6, el modelo conductista, no toma en cuenta al aprendiz como tal, sino las condiciones que lo rodean para formar el conocimiento, mientras que el polo opuesto, el modelo cognoscitivista centra su teoría en el individuo y cómo forma el conocimiento a través del entorno que lo rodea.

La figura 4, muestra el foco del modelo pedagógico conductista cognoscitivo, este modelo elaborado por Robert Gagné toma las características principales de los modelos pedagógicos conductista y cognitivista y los une en una sola teoría, teoría a la que suma también los tipos de estímulos denominados eventos y las respuestas a éstos, denominados resultados o aprendizajes esperados, así como las fases de aprendizaje (procesamiento de la información) con las que se debe trabajar para lograr los diversos tipos de resultados.

Los conceptos básicos del conductismo cognitivista se basan en cuatro tópicos: el aprendizaje, el modelo de procesamiento de información y aprendizaje, las fases o etapas de aprendizaje y los tipos de resultado de aprendizaje.

B. Estilos de Aprendizaje de Felder y Silverman

Un estilo de aprendizaje es la “manera de observar” el comportamiento de un individuo frente a la forma en cómo toma la información, forma estrategias para aprender, cómo entiende y cómo le gusta revisar la información que esta utilizando para llegar a determinado conocimiento, entre otros factores. Un estilo de aprendizaje es una aproximación para “clasificar” un aprendiz en un área específica de acuerdo a un perfil, ya que este estilo evoluciona y cambia constantemente respecto a las variables de entorno que afectan al estudiante.

El modelo de Felder y Silverman "Felder Silverman Learning Style Model”[3], clasifica los estilos de aprendizaje de los estudiantes en ocho grandes grupos, que se relacionan con las preguntas y respuestas que se muestran a continuación en la tabla 7:

B. Estilos de Aprendizaje de Felder y Silverman

30 Universidad El Bosque - Facultad de Ingeniería de Sistemas

Tabla 5. Principios Básicos del Conductismo yCognoscitivismo [9]

Tabla 6. Reglas de Instrucción del Conductismo yCognoscitivismo [9]

Estímulo Respuesta

Reforzamiento

Entorno

Organismo

Conductivismo Conductivismo Cognoscitivo Cognoscitivismo

Estímulo Respuesta

Reforzamiento

Entorno

Organismo

Figura 4. Focos de atención en las diferentes teorías deaprendizaje [6].

Revista de Tecnología - Journal of Technology • Volumen 6, No. 1, Enero - Junio 2007 31

Los estudiantes se agrupan de ésta manera en pares dicotómicos, los cuales presentan una serie de características según Teía Baus Roset:

• “Sensoriales: Concretos, prácticos, orientados hacia hechos y procedimientos; les gusta resolver problemas siguiendo procedimientos muy bien establecidos; tienden a ser pacientes con detalles; gustan de trabajo práctico (trabajo de laboratorio, por ejemplo); memorizan hechos con facilidad; no gustan de cursos a los que no les ven conexiones inmediatas con el mundo real.

• Intuitivos: Conceptuales; innovadores; orientados hacia las teorías y los significados; les gusta innovar y odian la repetición; prefieren descubrir posibilidades y relaciones; pueden comprender rápidamente nuevos conceptos; trabajan bien con abstracciones y formulaciones matemáticas; no gustan de cursos que requieren mucha memorización o cálculos rutinarios.

• Visuales: En la obtención de información prefieren representaciones visuales, diagramas de flujo, diagramas, etc.; recuerdan mejor lo que ven.

• Verbales: Prefieren obtener la información en forma escrita o hablada; recuerdan mejor lo que leen o lo que oyen.

• Activos: Tienden a retener y comprender mejor nueva información cuando hacen algo activo con ella (discutiéndola, aplicándola, explicándosela a otros). Prefieren aprender ensayando y trabajando con otros.

• Reflexivos: Tienden a retener y comprender nueva información pensando y reflexionando sobre ella; prefieren aprender meditando, pensando y trabajando solos. Activo en sentido más restringido, diferente al significado general que le venimos dando cuando hablamos de aprendizaje activo y de estudiante activo. Obviamente un estudiante reflexivo también puede ser un estudiante activo si está comprometido y si utiliza esta característica para construir su propio conocimiento.

• Secuenciales: Aprenden en pequeños pasos incrementales cuando el siguiente paso está siempre lógicamente relacionado con el anterior; ordenados y lineales; cuando tratan de solucionar un problema tienden a seguir caminos por pequeños pasos lógicos.

• Globales: Aprenden en grandes saltos, aprendiendo nuevo material casi que al azar y «de pronto» visualizando la totalidad; pueden resolver problemas complejos rápidamente y de poner juntas cosas en forma innovadora. Pueden tener dificultades, sin embargo, en explicar cómo lo hicieron.

En este modelo no hay estilos correctos de aprendizaje; más bien, se entiende como un sistema de preferencias en el cual par t icipan los estudiantes de manera individual.”[1]

V. HERRAMIENTAS DE DESARROLLO

A. Arquitectura Cliente-Servidor

La arquitectura cliente-servidor es un modelo que se creo para aumentar la eficiencia dividiendo las aplicaciones de software, ya que el trabajo esta dividido entre el cliente y servidor. Esta arquitectura cuenta con las siguientes definiciones:

• Cualquier combinación de sistemas que pueden colaborar entre si para dar a los usuarios toda la información que ellos necesiten sin que tengan que saber donde esta ubicada.

• Es una arquitectura de procesamientos cooperativo donde uno de los componentes pide servicios a otro.

• Es un procesamiento de datos de índole colaborativo entre dos o más computadoras conectadas a una red.

• El término cliente/servidor es originalmente aplicado a la arquitectura de software que describe el procesamiento entre dos o más programas: una aplicación y un servicio soportante.

• IBM define al modelo Cliente/Servidor. “Es la tecnología que proporciona al usuario final el acceso transparente a las aplicaciones, datos, servicios de cómputo o cualquier otro recurso del grupo de trabajo y/o, a través de la organización, en múltiples plataformas. El modelo soporta un medio ambiente distribuido en el cual los requerimientos de servicio hechos por estaciones de trabajo inteligentes o "clientes'', resultan en un trabajo realizado por otros computadores llamados servidores".

• “Es un modelo para construir sistemas de información, que se sustenta en la idea de repartir el tratamiento de la información y los datos por todo el sistema informático,

A. Arquitectura Cliente-Servidor

Esto demuestra un sistema distribuido en estos componentes, básicamente la arquitectura funciona de la siguiente manera: el cliente solicita hace un requerimiento de un servicio específico al servidor, esta solicitud se hace a través de una red cualquiera y se puede convertir en múltiples requerimientos, para el cliente los datos son totalmente transparentes, pues éste sólo ve la interfaz de la aplicación. Una vez el servidor recibe la petición del cliente éste da inicio a su solución enviando información de respuesta para que el cliente sepa que su servicio ya fue atendido. Un servidor es cualquier equipo capaz de responder las peticiones de los clientes.

B. MySQL

Es un sistema de administración para bases de datos relacionales que permite gestionar una colección estructurada de datos desarrollada en C y C++. Para almacenar la información MySQL utiliza diferentes tablas y las relaciones existentes entre ellas. Esta aplicación es multiplataforma, multihilo y multiusuario, además de permitir ser utilizada por diferentes lenguajes como Java, Php, entre otros; es una herramienta utilizada actualmente con éxito por su confiabilidad y por ser de tipo Open Source. Este tipo de herramientas ofrecen al usuario flexibilidad para desarrollar las aplicaciones, así como velocidad para las consultas.

B. MySQL

El software de bases de datos MySQL consiste de un sistema cliente/servidor que se compone de un servidor SQL, multihilo, varios programas clientes y bibliotecas, herramientas administrativas, y una gran variedad de interfaces de programación (APIs). Se puede obtener también como una biblioteca multihilo que se puede enlazar dentro de otras aplicaciones para obtener un producto más pequeño, más rápido, y más fácil de manejar. Para obtener información técnica más detallada, es necesario consultar la guía de referencia de MySQL.[16]

C. Apache Tomcat

Es un servidor Web multiplataforma que “funciona como un contenedor de servlets desarrollado bajo el proyecto Jakarta en la Apache Software Foundation. Tomcat implementa las especificaciones de los servlets y de JavaServer Pages (JSP) de Sun Microsystems. Se le considera un servidor de aplicaciones.”[22] Tomcat es un herramienta de software libre empleada con éxito en la actualidad ya que se utiliza con lenguaje Java y soporta aplicaciones de gran tamaño y gran volumen de clientes.

D. JADE

JADE (Java Agente Development Environment), es una herramienta para el desarrollo de agentes, esta hecho totalmente en Java y esta basado en el estándar de FIPA (Foundation for Intelligent Physical Agents) para la ejecución de los agentes, además de un paquete FIPA para poder programarlos. Cada agente se implementa como un hilo y como lenguaje de comunicación entre agentes utiliza FIPA-ACL, cuenta con constructores básicos de los agentes, en JADE los agentes programan su comportamiento a través de creencias. En la figura 6 se puede apreciar la plataforma de JADE, en la cual un sistema multiagente puede estar en una JVM o en varias.

C. Apache Tomcat

D. JADE

32 Universidad El Bosque - Facultad de Ingeniería de Sistemas

Tabla 7. Preguntas y Respuestas relacionadas para definirlos estilos de aprendizaje de Felder y Silverman [1]

permitiendo mejorar el rendimiento del sistema global de información”[20]

La arquitectura cliente servidor tiene tres componentes básicos: el cliente, el servidor y los procesos o la comunicación, como se pude apreciar en la figura 5.

Figura 5. Arquitectura Cliente-Servidor.

Network protocol stack

Host 2 Host 3

Jade Agent Container Jade Agent ContainerJade Main Container

Jade distributed Agent Platform

Ap

plic

atio

n A

gent

Ap

plic

atio

n A

gent

Ap

plic

atio

n A

gent

Ap

plic

atio

n A

gent

Ap

plic

atio

n A

gent

Ap

plic

atio

n A

gent

Ap

plic

atio

n A

gent

Ap

plic

atio

n A

gent

Ap

plic

atio

n A

gent

Host 1

RMIRegistry

JRE 1.2 JRE 1.2 JRE 1.2

Figura 6. Plataforma JADE [2]

Revista de Tecnología - Journal of Technology • Volumen 6, No. 1, Enero - Junio 2007 33

Los estudiantes se agrupan de ésta manera en pares dicotómicos, los cuales presentan una serie de características según Teía Baus Roset:

• “Sensoriales: Concretos, prácticos, orientados hacia hechos y procedimientos; les gusta resolver problemas siguiendo procedimientos muy bien establecidos; tienden a ser pacientes con detalles; gustan de trabajo práctico (trabajo de laboratorio, por ejemplo); memorizan hechos con facilidad; no gustan de cursos a los que no les ven conexiones inmediatas con el mundo real.

• Intuitivos: Conceptuales; innovadores; orientados hacia las teorías y los significados; les gusta innovar y odian la repetición; prefieren descubrir posibilidades y relaciones; pueden comprender rápidamente nuevos conceptos; trabajan bien con abstracciones y formulaciones matemáticas; no gustan de cursos que requieren mucha memorización o cálculos rutinarios.

• Visuales: En la obtención de información prefieren representaciones visuales, diagramas de flujo, diagramas, etc.; recuerdan mejor lo que ven.

• Verbales: Prefieren obtener la información en forma escrita o hablada; recuerdan mejor lo que leen o lo que oyen.

• Activos: Tienden a retener y comprender mejor nueva información cuando hacen algo activo con ella (discutiéndola, aplicándola, explicándosela a otros). Prefieren aprender ensayando y trabajando con otros.

• Reflexivos: Tienden a retener y comprender nueva información pensando y reflexionando sobre ella; prefieren aprender meditando, pensando y trabajando solos. Activo en sentido más restringido, diferente al significado general que le venimos dando cuando hablamos de aprendizaje activo y de estudiante activo. Obviamente un estudiante reflexivo también puede ser un estudiante activo si está comprometido y si utiliza esta característica para construir su propio conocimiento.

• Secuenciales: Aprenden en pequeños pasos incrementales cuando el siguiente paso está siempre lógicamente relacionado con el anterior; ordenados y lineales; cuando tratan de solucionar un problema tienden a seguir caminos por pequeños pasos lógicos.

• Globales: Aprenden en grandes saltos, aprendiendo nuevo material casi que al azar y «de pronto» visualizando la totalidad; pueden resolver problemas complejos rápidamente y de poner juntas cosas en forma innovadora. Pueden tener dificultades, sin embargo, en explicar cómo lo hicieron.

En este modelo no hay estilos correctos de aprendizaje; más bien, se entiende como un sistema de preferencias en el cual par t icipan los estudiantes de manera individual.”[1]

V. HERRAMIENTAS DE DESARROLLO

A. Arquitectura Cliente-Servidor

La arquitectura cliente-servidor es un modelo que se creo para aumentar la eficiencia dividiendo las aplicaciones de software, ya que el trabajo esta dividido entre el cliente y servidor. Esta arquitectura cuenta con las siguientes definiciones:

• Cualquier combinación de sistemas que pueden colaborar entre si para dar a los usuarios toda la información que ellos necesiten sin que tengan que saber donde esta ubicada.

• Es una arquitectura de procesamientos cooperativo donde uno de los componentes pide servicios a otro.

• Es un procesamiento de datos de índole colaborativo entre dos o más computadoras conectadas a una red.

• El término cliente/servidor es originalmente aplicado a la arquitectura de software que describe el procesamiento entre dos o más programas: una aplicación y un servicio soportante.

• IBM define al modelo Cliente/Servidor. “Es la tecnología que proporciona al usuario final el acceso transparente a las aplicaciones, datos, servicios de cómputo o cualquier otro recurso del grupo de trabajo y/o, a través de la organización, en múltiples plataformas. El modelo soporta un medio ambiente distribuido en el cual los requerimientos de servicio hechos por estaciones de trabajo inteligentes o "clientes'', resultan en un trabajo realizado por otros computadores llamados servidores".

• “Es un modelo para construir sistemas de información, que se sustenta en la idea de repartir el tratamiento de la información y los datos por todo el sistema informático,

A. Arquitectura Cliente-Servidor

Esto demuestra un sistema distribuido en estos componentes, básicamente la arquitectura funciona de la siguiente manera: el cliente solicita hace un requerimiento de un servicio específico al servidor, esta solicitud se hace a través de una red cualquiera y se puede convertir en múltiples requerimientos, para el cliente los datos son totalmente transparentes, pues éste sólo ve la interfaz de la aplicación. Una vez el servidor recibe la petición del cliente éste da inicio a su solución enviando información de respuesta para que el cliente sepa que su servicio ya fue atendido. Un servidor es cualquier equipo capaz de responder las peticiones de los clientes.

B. MySQL

Es un sistema de administración para bases de datos relacionales que permite gestionar una colección estructurada de datos desarrollada en C y C++. Para almacenar la información MySQL utiliza diferentes tablas y las relaciones existentes entre ellas. Esta aplicación es multiplataforma, multihilo y multiusuario, además de permitir ser utilizada por diferentes lenguajes como Java, Php, entre otros; es una herramienta utilizada actualmente con éxito por su confiabilidad y por ser de tipo Open Source. Este tipo de herramientas ofrecen al usuario flexibilidad para desarrollar las aplicaciones, así como velocidad para las consultas.

B. MySQL

El software de bases de datos MySQL consiste de un sistema cliente/servidor que se compone de un servidor SQL, multihilo, varios programas clientes y bibliotecas, herramientas administrativas, y una gran variedad de interfaces de programación (APIs). Se puede obtener también como una biblioteca multihilo que se puede enlazar dentro de otras aplicaciones para obtener un producto más pequeño, más rápido, y más fácil de manejar. Para obtener información técnica más detallada, es necesario consultar la guía de referencia de MySQL.[16]

C. Apache Tomcat

Es un servidor Web multiplataforma que “funciona como un contenedor de servlets desarrollado bajo el proyecto Jakarta en la Apache Software Foundation. Tomcat implementa las especificaciones de los servlets y de JavaServer Pages (JSP) de Sun Microsystems. Se le considera un servidor de aplicaciones.”[22] Tomcat es un herramienta de software libre empleada con éxito en la actualidad ya que se utiliza con lenguaje Java y soporta aplicaciones de gran tamaño y gran volumen de clientes.

D. JADE

JADE (Java Agente Development Environment), es una herramienta para el desarrollo de agentes, esta hecho totalmente en Java y esta basado en el estándar de FIPA (Foundation for Intelligent Physical Agents) para la ejecución de los agentes, además de un paquete FIPA para poder programarlos. Cada agente se implementa como un hilo y como lenguaje de comunicación entre agentes utiliza FIPA-ACL, cuenta con constructores básicos de los agentes, en JADE los agentes programan su comportamiento a través de creencias. En la figura 6 se puede apreciar la plataforma de JADE, en la cual un sistema multiagente puede estar en una JVM o en varias.

C. Apache Tomcat

D. JADE

32 Universidad El Bosque - Facultad de Ingeniería de Sistemas

Tabla 7. Preguntas y Respuestas relacionadas para definirlos estilos de aprendizaje de Felder y Silverman [1]

permitiendo mejorar el rendimiento del sistema global de información”[20]

La arquitectura cliente servidor tiene tres componentes básicos: el cliente, el servidor y los procesos o la comunicación, como se pude apreciar en la figura 5.

Figura 5. Arquitectura Cliente-Servidor.

Network protocol stack

Host 2 Host 3

Jade Agent Container Jade Agent ContainerJade Main Container

Jade distributed Agent Platform

Ap

plic

atio

n A

gent

Ap

plic

atio

n A

gent

Ap

plic

atio

n A

gent

Ap

plic

atio

n A

gent

Ap

plic

atio

n A

gent

Ap

plic

atio

n A

gent

Ap

plic

atio

n A

gent

Ap

plic

atio

n A

gent

Ap

plic

atio

n A

gent

Host 1

RMIRegistry

JRE 1.2 JRE 1.2 JRE 1.2

Figura 6. Plataforma JADE [2]

Revista de Tecnología - Journal of Technology • Volumen 6, No. 1, Enero - Junio 2007 33

“Un agente JADE es una instancia de una clase de JAVA definida por el usuario que extiende la clase AGENTE básica (…). El ciclo de vida de un agente JADE sigue el ciclo de FIPA, el método setup es donde se inicializa el agente y las tareas que realiza un agente en JADE se estructuran en comportamientos” [19].

Para programar un agente en JADE se debe:

1. Determinar qué debe ser capaz de hacer el agente.2. Asociar cada funcionalidad con un comportamiento.3. Escoger el tipo de comportamiento.4. Dejar a JADE la tarea del scheduling (un solo comportamiento se está ejecutando en cada instante) (…)

Cada agente tiene para sí una cola de comportamientos activos:

• El cuerpo de acciones de un comportamiento se programa redefiniendo el método action().

• Cuando el método anterior finaliza, y dependiendo del tipo de comportamiento, el scheduler lo saca de la cola o lo vuelve a colocar al final.

• Un comportamiento puede bloquearse (block()) hasta que lleguen más mensajes al agente; el bloqueo significa que, cuando action() termina, se le coloca en una cola de bloqueados.

• Cuando llega un nuevo mensaje, se le saca de esa cola y se coloca al final de la de comportamientos activos. [2]

E. CLIPS

Es un lenguaje de programación empleado para sistemas expertos a través de la lógica de primer orden. CLIPS corresponde a las siglas de C Language Integrated Production System.

“CLIPS probablemente es el sistema exper to más ampliamente usado debido a que es rápido, eficiente y gratuito. Aunque ahora es de dominio público, aun es actualizado y mantenido por su autor original, Gary Riley.

CLIPS incorpora un completo Lenguaje orientado a objetos (COOL) para la elaboración de sistemas expertos. Aunque está escrito en C, su interfaz más próxima se parece a Lisp. (…). Como otros lenguajes para sistemas expertos, CLIPS trabaja con reglas y hechos. Algunos hechos pueden hacer que una regla sea aplicable.” [22]

F. JESS

Acrónimo de Java Expert System Shell escrito totalmente en Java es un programa desarrollado por Sun para hacer sistemas expertos y programas basados en el conocimiento, fue creado

E. CLIPS

F. JESS

por Ernest Friedman-Friedman-Hill en los laboratorios nacionales de Sandia en Livermore, CA. JESS proporciona la posibilidad de crear programas con capacidad de “razonar”, empleando un algoritmo para procesar reglas comparándolas con hechos.

JESS es pequeño, ligero y uno de los motores de inferencia más rápidos existentes en el mercado. A diferencia de CLIPS, JESS también utiliza la lógica inversa para encontrar resultados, además de ser completamente compatible con los objetos de Java y poder ser utilizado en Eclipse. [5]

VI. MAS-COMMON KADS

Es la extensión de CommonKADS a SMA empleando técnicas utilizadas para objetos e ingeniería de protocolos en las fases de análisis y diseño, la fase de implementación se deja “abierta” para el uso de diferentes arquitecturas y diversos programas de desarrollo para los agentes; esta metodología adapta el modelo en espiral dirigido por riesgos y añade una fase de conceptuación previa a todo el ciclo de vida del software. MAS-CommonKADS, propone siete modelos para el desarrollo de SMA, que se pueden observar en la figura 7, y que se explicarán más adelante.

Esta metodología plantea las siguientes fases para el ciclo de vida del software orientado a agentes: Conceptuación, Análisis, Diseño, Codificación y pruebas, Integración y para finalizar Operación y Mantenimiento. En la fase de Conceptuación se hace una extracción de los primeros requisitos para tener una descripción del problema mediante casos de uso. La fase de Análisis toma el enunciado del problema y, a partir de éste determina los requerimientos desarrollando seis de los modelos planteados:

• “Modelo de Agente (AM): Especifica las características de un agente: sus capacidades de razonamiento, habilidades, servicios, sensores, efectores, grupos de agentes a los que pertenece y clase de agente. Un agente puede ser un agente humano, software, o cualquier entidad capaz de emplear un lenguaje de comunicación de agentes.

• Modelo de Organización (OM): Es una herramienta para analizar la organización humana en que el sistema multiagente va a ser introducido y para describir la organización de los agentes software y su relación con el entorno.

• Modelo de Tareas (TM): Describe las tareas que los agentes pueden realizar: los objetivos de cada tarea, su descomposición, los ingredientes y los métodos de resolución de problemas para resolver cada objetivo.

• Modelo de la Experiencia (EM): Describe el conocimiento necesitado por los agentes para alcanzar sus objetivos. Sigue la descomposición de CommonKADS y reutiliza las bibliotecas de tareas genéricas.

• Modelo de Comunicación (CM): Describe las interacciones entre un agente humano y un agente software. Se centra en la consideración de factores humanos para dicha interacción.

• Modelo de Coordinación (CoM): Describe las interacciones entre agentes software.”[8]

La fase de Diseño, determina cómo los requisitos de la fase de análisis pueden ser logrados y desarrolla el séptimo modelo planteado:

• “Modelo de Diseño (DM): (…) Este modelo se utiliza para describir la arquitectura y el diseño del sistema multiagente como paso previo a su implementación.”[8]

La fase de Codificación y Pruebas, implementa cada agente, la fase de Integración, compacta y prueba todo el sistema y por último la fase de Operación y Mantenimiento, que se encarga de que todo el sistema continúe funcionado en buen estado.

Explicada la metodología de manera breve, se tomó como punto de partida para el diseño del Sistema Multiagente Tutor Virtual por las siguientes razones:

• Explica detalladamente todos los modelos empleados y muestra las respectivas gráficas para elaborarlos, además de una fase inicial de conceptuación en la cual se puede abordar el problema a tratar con facilidad.

• Emplea técnicas de metodologías orientadas a objetos que permiten fácil comprensión por parte de los

Modelo de Agente (AM):

Modelo de Organización (OM):

Modelo de Tareas (TM):

Modelo de la Experiencia (EM):

Modelo de Comunicación (CM):

Modelo de Coordinación (CoM):

“Modelo de Diseño (DM):

diseñadores del software, aunque requiere de tiempo para lograr comprender toda la metodología.

• Utiliza el modelo de espiral bajo riesgos, lo que implica que se puede devolver a cualquiera de las fases sin afectar ampliamente los desarrollos realizados en el sistema.

• Deja Abierta la posibilidad de emplear una arquitectura independiente para cada agente, y en sí, para el sistema distribuido en general; por lo tanto es flexible en el desarrollo de la aplicación.

• La Metodología se ha aplicado con éxito a diferentes trabajos creados o en etapa de desarrollo, que funcionan basados en el conocimiento, entre ellos: Sistema Híbrido de Software Inteligentes de Apoyo en la Comercialización de Energía Eléctrica [15], desarrollado por Julián Moreno Cadavid y Demetrio Arturo Ovalle Carranza en Colombia; Diseño de un Sistema para nutrición y Dietética[14] propuesto por Cecilia Labraña y otros en Chile y, Sistema Basado en el Conocimiento para la Educación A Distancia (SBC-ED) [18], propuesto por Pedro Salcedo Lagos, también en Chile, entre otros.

• La metodología se encuentra completa de principio a fin, en el idioma Español, hablado en el país, para facilidad de su uso.

Empleando la metodología, se inicia por hacer un análisis en los procesos que se afectarán con la introducción del sistema multiagente, éste análisis da como resultado una serie de constituyentes que servirán para estructurar los siete modelos que MAS-CommonKADS plantea. Dichos constituyentes revisan las funciones, procesos, es t r uc tura, jera rquía y recur sos del modelo organizacional de la institución para mediar el nivel de afectación que surgirá empleando una nueva tecnología.

Como siguiente paso se hace la fase de conceptuación, en la cual desde el punto de vista del usuario se observan los requerimientos. Como resultado se obtienen los casos de uso (véase figura 8) y la documentación correspondiente.

34 Universidad El Bosque - Facultad de Ingeniería de Sistemas

Figura 7. Modelos empleados por MAS-CommonKADS.[8]

Figura 8. Casos de uso usuario estudiante.

Revista de Tecnología - Journal of Technology • Volumen 6, No. 1, Enero - Junio 2007 35

“Un agente JADE es una instancia de una clase de JAVA definida por el usuario que extiende la clase AGENTE básica (…). El ciclo de vida de un agente JADE sigue el ciclo de FIPA, el método setup es donde se inicializa el agente y las tareas que realiza un agente en JADE se estructuran en comportamientos” [19].

Para programar un agente en JADE se debe:

1. Determinar qué debe ser capaz de hacer el agente.2. Asociar cada funcionalidad con un comportamiento.3. Escoger el tipo de comportamiento.4. Dejar a JADE la tarea del scheduling (un solo comportamiento se está ejecutando en cada instante) (…)

Cada agente tiene para sí una cola de comportamientos activos:

• El cuerpo de acciones de un comportamiento se programa redefiniendo el método action().

• Cuando el método anterior finaliza, y dependiendo del tipo de comportamiento, el scheduler lo saca de la cola o lo vuelve a colocar al final.

• Un comportamiento puede bloquearse (block()) hasta que lleguen más mensajes al agente; el bloqueo significa que, cuando action() termina, se le coloca en una cola de bloqueados.

• Cuando llega un nuevo mensaje, se le saca de esa cola y se coloca al final de la de comportamientos activos. [2]

E. CLIPS

Es un lenguaje de programación empleado para sistemas expertos a través de la lógica de primer orden. CLIPS corresponde a las siglas de C Language Integrated Production System.

“CLIPS probablemente es el sistema exper to más ampliamente usado debido a que es rápido, eficiente y gratuito. Aunque ahora es de dominio público, aun es actualizado y mantenido por su autor original, Gary Riley.

CLIPS incorpora un completo Lenguaje orientado a objetos (COOL) para la elaboración de sistemas expertos. Aunque está escrito en C, su interfaz más próxima se parece a Lisp. (…). Como otros lenguajes para sistemas expertos, CLIPS trabaja con reglas y hechos. Algunos hechos pueden hacer que una regla sea aplicable.” [22]

F. JESS

Acrónimo de Java Expert System Shell escrito totalmente en Java es un programa desarrollado por Sun para hacer sistemas expertos y programas basados en el conocimiento, fue creado

E. CLIPS

F. JESS

por Ernest Friedman-Friedman-Hill en los laboratorios nacionales de Sandia en Livermore, CA. JESS proporciona la posibilidad de crear programas con capacidad de “razonar”, empleando un algoritmo para procesar reglas comparándolas con hechos.

JESS es pequeño, ligero y uno de los motores de inferencia más rápidos existentes en el mercado. A diferencia de CLIPS, JESS también utiliza la lógica inversa para encontrar resultados, además de ser completamente compatible con los objetos de Java y poder ser utilizado en Eclipse. [5]

VI. MAS-COMMON KADS

Es la extensión de CommonKADS a SMA empleando técnicas utilizadas para objetos e ingeniería de protocolos en las fases de análisis y diseño, la fase de implementación se deja “abierta” para el uso de diferentes arquitecturas y diversos programas de desarrollo para los agentes; esta metodología adapta el modelo en espiral dirigido por riesgos y añade una fase de conceptuación previa a todo el ciclo de vida del software. MAS-CommonKADS, propone siete modelos para el desarrollo de SMA, que se pueden observar en la figura 7, y que se explicarán más adelante.

Esta metodología plantea las siguientes fases para el ciclo de vida del software orientado a agentes: Conceptuación, Análisis, Diseño, Codificación y pruebas, Integración y para finalizar Operación y Mantenimiento. En la fase de Conceptuación se hace una extracción de los primeros requisitos para tener una descripción del problema mediante casos de uso. La fase de Análisis toma el enunciado del problema y, a partir de éste determina los requerimientos desarrollando seis de los modelos planteados:

• “Modelo de Agente (AM): Especifica las características de un agente: sus capacidades de razonamiento, habilidades, servicios, sensores, efectores, grupos de agentes a los que pertenece y clase de agente. Un agente puede ser un agente humano, software, o cualquier entidad capaz de emplear un lenguaje de comunicación de agentes.

• Modelo de Organización (OM): Es una herramienta para analizar la organización humana en que el sistema multiagente va a ser introducido y para describir la organización de los agentes software y su relación con el entorno.

• Modelo de Tareas (TM): Describe las tareas que los agentes pueden realizar: los objetivos de cada tarea, su descomposición, los ingredientes y los métodos de resolución de problemas para resolver cada objetivo.

• Modelo de la Experiencia (EM): Describe el conocimiento necesitado por los agentes para alcanzar sus objetivos. Sigue la descomposición de CommonKADS y reutiliza las bibliotecas de tareas genéricas.

• Modelo de Comunicación (CM): Describe las interacciones entre un agente humano y un agente software. Se centra en la consideración de factores humanos para dicha interacción.

• Modelo de Coordinación (CoM): Describe las interacciones entre agentes software.”[8]

La fase de Diseño, determina cómo los requisitos de la fase de análisis pueden ser logrados y desarrolla el séptimo modelo planteado:

• “Modelo de Diseño (DM): (…) Este modelo se utiliza para describir la arquitectura y el diseño del sistema multiagente como paso previo a su implementación.”[8]

La fase de Codificación y Pruebas, implementa cada agente, la fase de Integración, compacta y prueba todo el sistema y por último la fase de Operación y Mantenimiento, que se encarga de que todo el sistema continúe funcionado en buen estado.

Explicada la metodología de manera breve, se tomó como punto de partida para el diseño del Sistema Multiagente Tutor Virtual por las siguientes razones:

• Explica detalladamente todos los modelos empleados y muestra las respectivas gráficas para elaborarlos, además de una fase inicial de conceptuación en la cual se puede abordar el problema a tratar con facilidad.

• Emplea técnicas de metodologías orientadas a objetos que permiten fácil comprensión por parte de los

Modelo de Agente (AM):

Modelo de Organización (OM):

Modelo de Tareas (TM):

Modelo de la Experiencia (EM):

Modelo de Comunicación (CM):

Modelo de Coordinación (CoM):

“Modelo de Diseño (DM):

diseñadores del software, aunque requiere de tiempo para lograr comprender toda la metodología.

• Utiliza el modelo de espiral bajo riesgos, lo que implica que se puede devolver a cualquiera de las fases sin afectar ampliamente los desarrollos realizados en el sistema.

• Deja Abierta la posibilidad de emplear una arquitectura independiente para cada agente, y en sí, para el sistema distribuido en general; por lo tanto es flexible en el desarrollo de la aplicación.

• La Metodología se ha aplicado con éxito a diferentes trabajos creados o en etapa de desarrollo, que funcionan basados en el conocimiento, entre ellos: Sistema Híbrido de Software Inteligentes de Apoyo en la Comercialización de Energía Eléctrica [15], desarrollado por Julián Moreno Cadavid y Demetrio Arturo Ovalle Carranza en Colombia; Diseño de un Sistema para nutrición y Dietética[14] propuesto por Cecilia Labraña y otros en Chile y, Sistema Basado en el Conocimiento para la Educación A Distancia (SBC-ED) [18], propuesto por Pedro Salcedo Lagos, también en Chile, entre otros.

• La metodología se encuentra completa de principio a fin, en el idioma Español, hablado en el país, para facilidad de su uso.

Empleando la metodología, se inicia por hacer un análisis en los procesos que se afectarán con la introducción del sistema multiagente, éste análisis da como resultado una serie de constituyentes que servirán para estructurar los siete modelos que MAS-CommonKADS plantea. Dichos constituyentes revisan las funciones, procesos, es t r uc tura, jera rquía y recur sos del modelo organizacional de la institución para mediar el nivel de afectación que surgirá empleando una nueva tecnología.

Como siguiente paso se hace la fase de conceptuación, en la cual desde el punto de vista del usuario se observan los requerimientos. Como resultado se obtienen los casos de uso (véase figura 8) y la documentación correspondiente.

34 Universidad El Bosque - Facultad de Ingeniería de Sistemas

Figura 7. Modelos empleados por MAS-CommonKADS.[8]

Figura 8. Casos de uso usuario estudiante.

Revista de Tecnología - Journal of Technology • Volumen 6, No. 1, Enero - Junio 2007 35

Las Bases de Conocimiento serán desarrolladas en CLIPS, este lenguaje basa su programación en lógica de primer orden lo que permite establecer reglas para la construcción de las mismas y elaborar hechos mediante los cuales se puedan elaborar las consultas en este tipo de bases de datos. CLIPS es un lenguaje plano y sin interfaz gráfica, que se trabaja por medio de consola de comandos. Para conectarla con facilidad al servidor se utilizará JESS una librería de Java elaborada por Sun Microsystems como motor de inferencia, esta librería cuenta con una mejor interfaz para el usuario y esta desarrollada para sistemas expertos.

El servidor Web será el Apache Tomcat que posee un compilador para convertir los JSP (Java Server Pages) en servlets para ser enviados como “paquetes” a las diferentes bases de datos del sistema. Este servidor web también esta desarrollado para Sun, por lo cual existe código de Java con el cual se desarrollaran las clases y objetos que participan en la aplicación. Este servidor Web conecta la interfaz de usuario con las bases de datos.

El sistema multiagente se desarrollará en JADE, una librer ía especial desar rollada por Sun para la implementación de agentes, cuenta con las capacidades para lograr ajustarse a las necesidades de los agentes y a la comunicación existente entre ellos, ésta aplicación cuenta con los estándares FIPA, que define la plataforma que deben tener éstos ente artificiales. El SMA utiliza las bases de conocimiento y bases de datos existente por medio del servidor.

La interfaz será implementada a través de código HTML, con ayuda de XML, Applets, JavaScript, Macromedia, entre otros programas que permitan dar páginas dinámicas al usuario.

VIII. DISENO DETALLADO DEL SISTEMA

A. Modelo Vista Controlador

Este patrón se empleará para el desarrollo de la arquitectura del SMATV, véase figura 12, ya que es una aplicación Web, de otro lado, este patrón cuenta con características de flexibilidad, que permiten a los diseñadores cambiar segmentos de la aplicación sin tener que modificar todo el código fuente; escalabilidad ya que por la forma de su diseño el sistema puede crecer sin problema y, robustez, por que tiene que responder a las expectativas en caso de que sucedan errores sin afectar el sistema.

El modelo de la aplicación esta compuesto por: la base de datos, en la cual se depositará la información de los usuarios y el material didáctico de la materia y, las bases de conocimiento, donde se depositarán el dominio pedagógico y el experto en la materia; éstos son los datos mediante los cuales opera el sistema multiagente. De otro lado, el controlador esta dado por los servlets que se encuentran en el servidor y que se encargarán de generar las páginas de forma dinámica para el usuario, éstos controlan el tránsito entre el modelo y la vista. Para finalizar la vista brindará la interfaz al usuario y será la encargada de interactuar directamente con él.

B. Arquitectura Detallada del Sistema

A continuación, se detalla en general la arquitectura del sistema multiagente y cuál es la función de cada uno dentro de la aplicación, así como el funcionamiento del sistema en general. La figura 13 muestra la arquitectura del SMATV teniendo en cuenta los cuatro módulos básicos de un STI, estos son: Módulo Estudiante, Módulo Pedagógico, Módulo Didáctico, Módulo de Interfase, en donde se encuentran distribuidos los siguientes agentes:

A. Modelo Vista Controlador

B. Arquitectura Detallada del Sistema

Agente Interfaz, Agente Acciones, Agente Pedagógico, Agente Domino, Agente Evaluación, Agente Estudiante y Agente Material.

El Agente Interfaz y el Agente Acciones, hacen parte del Módulo de Interfase, ellos son los encargados de mostrarle la información al aprendiz y de llevar el comportamiento de éste hacia el SMA. El Agente Material hace parte del Módulo Material, el cual es el encargado de preparar el material que se le va a brindar al alumno.

El Agente Estudiante hace parte del Módulo del Estudiante, es el encargado de llevar toda la información concerniente al aprendiz, historial de temas, evaluaciones, ejemplos, entre otros, así como sus datos básicos y perfil.

El Módulo Pedagógico esta conformado por 3 agentes: El Agente Dominio, quien es el experto en el domino de la materia, el Agente Pedagógico, quien es el experto en pedagogía y perfiles de usuario y el Agente Evaluador que debe realizar las evaluaciones al aprendiz para determinar su grado de conocimiento.

En la figura 14 se puede observar La comunicación y el funcionamiento de los agentes a través de líneas de colores que detallan el comportamiento del sistema y que tienen una numeración que se relaciona a continuación.

1. El usuario ingresa su perfil básico llenando un test que describe las aptitudes, actitudes, habilidades y destrezas que posee con la ayuda de los estilos de aprendizaje de Felder y Silverman.

2. El agente interfaz se encarga de darle al agente acciones el movimiento que el usuario tiene a través de la pantalla y las diferente “partes” o “módulos” que la componen: imágenes, textos, ejercicios, entre otros.

36 Universidad El Bosque - Facultad de Ingeniería de Sistemas

Figura 11. Arquitectura Global del SMATV.

Dados los requerimientos, se inicia con la fase de análisis y se comienzan a desarrollar cada uno de los modelos que la metodología plantea. En la figura 9 se pude observar la tarea de planificación de personalidad por primera vez, la cual hace parte del modelo de tareas y que se conectaría con el CU2. Tomar Test de Personalidad. Así mismo en la figura 10 se puede observar una tarjeta CRC del Agente Estudiante, en la cual se da una descripción de los planes y servicios que éste ofrecerá, dicha tarjeta hace parte del modelo del agente.

Identificados los Casos de Uso, las Tareas y Agentes del sistema se puede hacer una tabla que determine los objetivos del cada uno de los agentes y poder trazar el funcionamiento del software, que se mostrará en el diseño detallado (capítulo VIII).

VII. DISENO GLOBAL DEL SISTEMA

Para el diseño global del prototipo de Sistema Multiagente Tutor Virtual (SMATV) se utilizará la arquitectura cliente-servidor, donde el servidor tendrá toda la lógica del sistema y las bases de datos implicadas en el desarrollo de la operación. La arquitectura global que se propone para la creación del SMATV se puede apreciar en la figura 11.

Se encarga decontrolar el tránsitoentre el modelo yla vista. (Servlet)

Datos del Sistema:Base de DatosUsuarios, Bases

del Conocimiento

Es la interfaz con elusuario que se

encarga demostrar los datos

CONTROLADOR

VISTAMODELO

Figura 12. Modelo Vista Controlador

Figura 13. Agentes distribuidos en módulos del STI.

1). Planificación de Personalidad (1ª Vez):

1. Planificación de Personalidad (1ª Vez)

1.1 Recepción de Test de Personalidad

1.2 Planificación de Perfil

1.3 Informar Perfil

3 Búsqueda Basede Conocimiento

Figura 9. Tarea Planificación de Personalidad por 1ª Vez.

Agente: Estudiante Clase: Mod_Estudiante

Registrar el historial relacionado con el usuario: Temas, Evaluaciones, material didáctico y ejemplos.

Registrar Perfil de Usuario

Informar historial de SMA cuando se identifica un usuario.

Pedir historiales

Pedir perfil

Informar historial

Usuario en BD

Ninguno

Usuario en BD

Acciones

Pedagógico

Interfaz

Introducir Información Usuario

Informar Perfil de Usuario

Retornar Información Usuario

Objetivos Planes Conocimiento Colaborador Servicio

Figura 10. Tarjeta CRC para el Agente Estudiante.

Revista de Tecnología - Journal of Technology • Volumen 6, No. 1, Enero - Junio 2007 37

Las Bases de Conocimiento serán desarrolladas en CLIPS, este lenguaje basa su programación en lógica de primer orden lo que permite establecer reglas para la construcción de las mismas y elaborar hechos mediante los cuales se puedan elaborar las consultas en este tipo de bases de datos. CLIPS es un lenguaje plano y sin interfaz gráfica, que se trabaja por medio de consola de comandos. Para conectarla con facilidad al servidor se utilizará JESS una librería de Java elaborada por Sun Microsystems como motor de inferencia, esta librería cuenta con una mejor interfaz para el usuario y esta desarrollada para sistemas expertos.

El servidor Web será el Apache Tomcat que posee un compilador para convertir los JSP (Java Server Pages) en servlets para ser enviados como “paquetes” a las diferentes bases de datos del sistema. Este servidor web también esta desarrollado para Sun, por lo cual existe código de Java con el cual se desarrollaran las clases y objetos que participan en la aplicación. Este servidor Web conecta la interfaz de usuario con las bases de datos.

El sistema multiagente se desarrollará en JADE, una librer ía especial desar rollada por Sun para la implementación de agentes, cuenta con las capacidades para lograr ajustarse a las necesidades de los agentes y a la comunicación existente entre ellos, ésta aplicación cuenta con los estándares FIPA, que define la plataforma que deben tener éstos ente artificiales. El SMA utiliza las bases de conocimiento y bases de datos existente por medio del servidor.

La interfaz será implementada a través de código HTML, con ayuda de XML, Applets, JavaScript, Macromedia, entre otros programas que permitan dar páginas dinámicas al usuario.

VIII. DISENO DETALLADO DEL SISTEMA

A. Modelo Vista Controlador

Este patrón se empleará para el desarrollo de la arquitectura del SMATV, véase figura 12, ya que es una aplicación Web, de otro lado, este patrón cuenta con características de flexibilidad, que permiten a los diseñadores cambiar segmentos de la aplicación sin tener que modificar todo el código fuente; escalabilidad ya que por la forma de su diseño el sistema puede crecer sin problema y, robustez, por que tiene que responder a las expectativas en caso de que sucedan errores sin afectar el sistema.

El modelo de la aplicación esta compuesto por: la base de datos, en la cual se depositará la información de los usuarios y el material didáctico de la materia y, las bases de conocimiento, donde se depositarán el dominio pedagógico y el experto en la materia; éstos son los datos mediante los cuales opera el sistema multiagente. De otro lado, el controlador esta dado por los servlets que se encuentran en el servidor y que se encargarán de generar las páginas de forma dinámica para el usuario, éstos controlan el tránsito entre el modelo y la vista. Para finalizar la vista brindará la interfaz al usuario y será la encargada de interactuar directamente con él.

B. Arquitectura Detallada del Sistema

A continuación, se detalla en general la arquitectura del sistema multiagente y cuál es la función de cada uno dentro de la aplicación, así como el funcionamiento del sistema en general. La figura 13 muestra la arquitectura del SMATV teniendo en cuenta los cuatro módulos básicos de un STI, estos son: Módulo Estudiante, Módulo Pedagógico, Módulo Didáctico, Módulo de Interfase, en donde se encuentran distribuidos los siguientes agentes:

A. Modelo Vista Controlador

B. Arquitectura Detallada del Sistema

Agente Interfaz, Agente Acciones, Agente Pedagógico, Agente Domino, Agente Evaluación, Agente Estudiante y Agente Material.

El Agente Interfaz y el Agente Acciones, hacen parte del Módulo de Interfase, ellos son los encargados de mostrarle la información al aprendiz y de llevar el comportamiento de éste hacia el SMA. El Agente Material hace parte del Módulo Material, el cual es el encargado de preparar el material que se le va a brindar al alumno.

El Agente Estudiante hace parte del Módulo del Estudiante, es el encargado de llevar toda la información concerniente al aprendiz, historial de temas, evaluaciones, ejemplos, entre otros, así como sus datos básicos y perfil.

El Módulo Pedagógico esta conformado por 3 agentes: El Agente Dominio, quien es el experto en el domino de la materia, el Agente Pedagógico, quien es el experto en pedagogía y perfiles de usuario y el Agente Evaluador que debe realizar las evaluaciones al aprendiz para determinar su grado de conocimiento.

En la figura 14 se puede observar La comunicación y el funcionamiento de los agentes a través de líneas de colores que detallan el comportamiento del sistema y que tienen una numeración que se relaciona a continuación.

1. El usuario ingresa su perfil básico llenando un test que describe las aptitudes, actitudes, habilidades y destrezas que posee con la ayuda de los estilos de aprendizaje de Felder y Silverman.

2. El agente interfaz se encarga de darle al agente acciones el movimiento que el usuario tiene a través de la pantalla y las diferente “partes” o “módulos” que la componen: imágenes, textos, ejercicios, entre otros.

36 Universidad El Bosque - Facultad de Ingeniería de Sistemas

Figura 11. Arquitectura Global del SMATV.

Dados los requerimientos, se inicia con la fase de análisis y se comienzan a desarrollar cada uno de los modelos que la metodología plantea. En la figura 9 se pude observar la tarea de planificación de personalidad por primera vez, la cual hace parte del modelo de tareas y que se conectaría con el CU2. Tomar Test de Personalidad. Así mismo en la figura 10 se puede observar una tarjeta CRC del Agente Estudiante, en la cual se da una descripción de los planes y servicios que éste ofrecerá, dicha tarjeta hace parte del modelo del agente.

Identificados los Casos de Uso, las Tareas y Agentes del sistema se puede hacer una tabla que determine los objetivos del cada uno de los agentes y poder trazar el funcionamiento del software, que se mostrará en el diseño detallado (capítulo VIII).

VII. DISENO GLOBAL DEL SISTEMA

Para el diseño global del prototipo de Sistema Multiagente Tutor Virtual (SMATV) se utilizará la arquitectura cliente-servidor, donde el servidor tendrá toda la lógica del sistema y las bases de datos implicadas en el desarrollo de la operación. La arquitectura global que se propone para la creación del SMATV se puede apreciar en la figura 11.

Se encarga decontrolar el tránsitoentre el modelo yla vista. (Servlet)

Datos del Sistema:Base de DatosUsuarios, Bases

del Conocimiento

Es la interfaz con elusuario que se

encarga demostrar los datos

CONTROLADOR

VISTAMODELO

Figura 12. Modelo Vista Controlador

Figura 13. Agentes distribuidos en módulos del STI.

1). Planificación de Personalidad (1ª Vez):

1. Planificación de Personalidad (1ª Vez)

1.1 Recepción de Test de Personalidad

1.2 Planificación de Perfil

1.3 Informar Perfil

3 Búsqueda Basede Conocimiento

Figura 9. Tarea Planificación de Personalidad por 1ª Vez.

Agente: Estudiante Clase: Mod_Estudiante

Registrar el historial relacionado con el usuario: Temas, Evaluaciones, material didáctico y ejemplos.

Registrar Perfil de Usuario

Informar historial de SMA cuando se identifica un usuario.

Pedir historiales

Pedir perfil

Informar historial

Usuario en BD

Ninguno

Usuario en BD

Acciones

Pedagógico

Interfaz

Introducir Información Usuario

Informar Perfil de Usuario

Retornar Información Usuario

Objetivos Planes Conocimiento Colaborador Servicio

Figura 10. Tarjeta CRC para el Agente Estudiante.

Revista de Tecnología - Journal of Technology • Volumen 6, No. 1, Enero - Junio 2007 37

3. Con la información brindada por el agente interfaz, el agente acciones muestra el comportamiento al agente pedagógico, quien ajusta el perfil que cree adecuado para el estudiante de acuerdo a esta información, si le gusta más las imágenes, el texto, los módulos que se mueven en pantalla, hacer preguntas, entre otros, el agente lo tendrá en cuenta para la elaboración del mismo. El agente acciones también muestra el comportamiento al agente estudiante para que lleve el historial de lo que el aprendiz ha visto en el curso.

4. El agente interfaz se encarga de enviar las “opciones” digitadas por el estudiante al agente material, quien informa al agente pedagógico, dominio.

5. El agente pedagógico informa el perfil adecuado al agente estudiante quien actualiza la información acerca del estudiante, y su perfil. El agente estudiante lleva un historial completo del estudiante para que cuando éste se identifique en el sistema, se cargue toda la información correspondiente. Esta información se carga en los agentes estudiante, material, pedagógico, dominio e Interfaz, que son los responsables de dar información al aprendiz.

6. Con la información que obtiene del agente estudiante, el agente pedagógico y el agente dominio, el agente material conforma el material didáctico que le va a brindar al estudiante, sacando la información de mensajes de los agentes expertos y de la Base de Datos de Usuarios.

7. El agente material da la información al agente interfaz para que éste se las muestre al usuario, en código dinámico, mostrando en pantalla: texto, imágenes, ejemplos, material de refuerzo, entre otros.

8. El agente evaluador se basa en la información que pasa por el agente material y el historial que tiene el agente estudiante, para poder hacer evaluaciones, una evaluación se hace al final de un módulo, el agente evaluador se informa del agente estudiante para conocer el perfil del usuario y se ayuda del agente pedagógico para ajustar la evaluación a dicho perfil.

9. El agente evaluador devuelve la información al agente material, para que se la muestre al usuario a través del agente interfaz.

10. En todo momento el agente interfaz se comunica con el agente material, que a su vez se comunica con los demás agentes, para actualizar información acerca de tareas, evaluaciones, temas vistos entre otros. De otro lado, en todo momento el agente acciones muestra la información al agente estudiante y pedagógico para que actualicen su información.

Para complementar el funcionamiento del SMATV se tiene en cuenta la adhesión de los siguientes agentes: El Agente Tareas, que le brindará al estudiante los temas de la asignatura para que pueda elegir el que desee, el Agente Lenguaje Natural que procesa la información en lenguaje natural proveniente del aprendiz y el Agente Personaje que muestra una interfaz en forma de caricatura para que el estudiante se sienta acompañado en el proceso de enseñanza.

Esta arquitectura se puede apreciar en al figura 15 y a continuación se detalla el funcionamiento de los mismos.

11. El Agente Tareas, organiza los temas de la asignatura para que el estudiante lleve la guía y contenido de la materia, se ayuda del agente material para su funcionamiento.

12. El Agente Lenguaje Natural, es añadido para que la comunicación en el módulo de interfase sea más adecuada en el diálogo hombre-máquina, este agente descompone la información para el agente interfaz.

Para finalizar un Agente Personaje, que será el encargado de personificar el tutor, con estados de ánimo que permitan al estudiante familiarizarse con la herramienta e interactuar más dinámicamente con él. Este agente se ayuda de los mensajes de otros agentes para su funcionamiento.

Para terminar, se muestra en la figura 16 el modelo entidad-relación que interactúa con los agentes estudiante y material y, que muestra la estructura de la base de datos de usuarios y de material, donde se registran los movimientos del usuario, del material didáctico y de las evaluaciones que el usuario lleva en el sistema.

IX. METODOLOGÍA

Debido a la complejidad del proyecto, éste se desarrollará por los estudiantes de la facultad de Ingeniería de Sistemas de la Universidad El Bosque y por diferentes expertos a través de 6 años, los cuales pueden ser disminuidos al hacer algunas etapas de forma simultánea, en 6 sub-proyectos diferentes complementarios a éste. En la tabla 8, se puede detallar el diagrama de Gant correspondiente a las fases mediante las cuales se desarrollaría el prototipo de Sistema Multiagente Tutor Virtual (SMATV) y los recursos humanos necesarios para lograr su realización completamente.

X. CONCLUSIONES

La programación orientada a agentes cada vez toma más fuerza en el mercado informático, por esta razón se ha ido desarrollando diversas metodologías que tratan de diferentes formas suplir las necesidades del ciclo de vida de los agentes, dichas metodologías se han extendido con pequeñas modificaciones de las metodologías orientadas a objetos (OO) y de las metodologías de ingeniería del conocimiento (ICO), ya que de cada una de ellas se han tomado teorías que se aplican de forma correcta para el moldeamiento de agentes, además teniendo en cuenta que, las metodologías antiguas cuentan con experiencia y se han aplicado con éxito desde hace muchos años en todo tipo de sistemas.

38 Universidad El Bosque - Facultad de Ingeniería de Sistemas

Figura 14. Funcionamiento SMATV básico.

Figura 15. Funcionamiento SMATV completo.

posee

tiene

# id_historial

Historial

# id_Usuario+ codigo_usuario+ nombre_usuario+ login_usuario+ pass_usuario

Estudiante

# id_perfil+ nombre_perfil

Perfil

# id_tema

Tema

# id_evaluacion

Evaluacion

# id_imagen+ nombre_imagen

Imagen

# id_ejemplo+ nombre_ejemplo

Ejemplo

adjunto

contiene

ayudado

apoyado

Figura 16. Modelo Entidad-Relación BD Usuarios yMaterial

Tabla 8. Diagrama de Gant

Revista de Tecnología - Journal of Technology • Volumen 6, No. 1, Enero - Junio 2007 39

3. Con la información brindada por el agente interfaz, el agente acciones muestra el comportamiento al agente pedagógico, quien ajusta el perfil que cree adecuado para el estudiante de acuerdo a esta información, si le gusta más las imágenes, el texto, los módulos que se mueven en pantalla, hacer preguntas, entre otros, el agente lo tendrá en cuenta para la elaboración del mismo. El agente acciones también muestra el comportamiento al agente estudiante para que lleve el historial de lo que el aprendiz ha visto en el curso.

4. El agente interfaz se encarga de enviar las “opciones” digitadas por el estudiante al agente material, quien informa al agente pedagógico, dominio.

5. El agente pedagógico informa el perfil adecuado al agente estudiante quien actualiza la información acerca del estudiante, y su perfil. El agente estudiante lleva un historial completo del estudiante para que cuando éste se identifique en el sistema, se cargue toda la información correspondiente. Esta información se carga en los agentes estudiante, material, pedagógico, dominio e Interfaz, que son los responsables de dar información al aprendiz.

6. Con la información que obtiene del agente estudiante, el agente pedagógico y el agente dominio, el agente material conforma el material didáctico que le va a brindar al estudiante, sacando la información de mensajes de los agentes expertos y de la Base de Datos de Usuarios.

7. El agente material da la información al agente interfaz para que éste se las muestre al usuario, en código dinámico, mostrando en pantalla: texto, imágenes, ejemplos, material de refuerzo, entre otros.

8. El agente evaluador se basa en la información que pasa por el agente material y el historial que tiene el agente estudiante, para poder hacer evaluaciones, una evaluación se hace al final de un módulo, el agente evaluador se informa del agente estudiante para conocer el perfil del usuario y se ayuda del agente pedagógico para ajustar la evaluación a dicho perfil.

9. El agente evaluador devuelve la información al agente material, para que se la muestre al usuario a través del agente interfaz.

10. En todo momento el agente interfaz se comunica con el agente material, que a su vez se comunica con los demás agentes, para actualizar información acerca de tareas, evaluaciones, temas vistos entre otros. De otro lado, en todo momento el agente acciones muestra la información al agente estudiante y pedagógico para que actualicen su información.

Para complementar el funcionamiento del SMATV se tiene en cuenta la adhesión de los siguientes agentes: El Agente Tareas, que le brindará al estudiante los temas de la asignatura para que pueda elegir el que desee, el Agente Lenguaje Natural que procesa la información en lenguaje natural proveniente del aprendiz y el Agente Personaje que muestra una interfaz en forma de caricatura para que el estudiante se sienta acompañado en el proceso de enseñanza.

Esta arquitectura se puede apreciar en al figura 15 y a continuación se detalla el funcionamiento de los mismos.

11. El Agente Tareas, organiza los temas de la asignatura para que el estudiante lleve la guía y contenido de la materia, se ayuda del agente material para su funcionamiento.

12. El Agente Lenguaje Natural, es añadido para que la comunicación en el módulo de interfase sea más adecuada en el diálogo hombre-máquina, este agente descompone la información para el agente interfaz.

Para finalizar un Agente Personaje, que será el encargado de personificar el tutor, con estados de ánimo que permitan al estudiante familiarizarse con la herramienta e interactuar más dinámicamente con él. Este agente se ayuda de los mensajes de otros agentes para su funcionamiento.

Para terminar, se muestra en la figura 16 el modelo entidad-relación que interactúa con los agentes estudiante y material y, que muestra la estructura de la base de datos de usuarios y de material, donde se registran los movimientos del usuario, del material didáctico y de las evaluaciones que el usuario lleva en el sistema.

IX. METODOLOGÍA

Debido a la complejidad del proyecto, éste se desarrollará por los estudiantes de la facultad de Ingeniería de Sistemas de la Universidad El Bosque y por diferentes expertos a través de 6 años, los cuales pueden ser disminuidos al hacer algunas etapas de forma simultánea, en 6 sub-proyectos diferentes complementarios a éste. En la tabla 8, se puede detallar el diagrama de Gant correspondiente a las fases mediante las cuales se desarrollaría el prototipo de Sistema Multiagente Tutor Virtual (SMATV) y los recursos humanos necesarios para lograr su realización completamente.

X. CONCLUSIONES

La programación orientada a agentes cada vez toma más fuerza en el mercado informático, por esta razón se ha ido desarrollando diversas metodologías que tratan de diferentes formas suplir las necesidades del ciclo de vida de los agentes, dichas metodologías se han extendido con pequeñas modificaciones de las metodologías orientadas a objetos (OO) y de las metodologías de ingeniería del conocimiento (ICO), ya que de cada una de ellas se han tomado teorías que se aplican de forma correcta para el moldeamiento de agentes, además teniendo en cuenta que, las metodologías antiguas cuentan con experiencia y se han aplicado con éxito desde hace muchos años en todo tipo de sistemas.

38 Universidad El Bosque - Facultad de Ingeniería de Sistemas

Figura 14. Funcionamiento SMATV básico.

Figura 15. Funcionamiento SMATV completo.

posee

tiene

# id_historial

Historial

# id_Usuario+ codigo_usuario+ nombre_usuario+ login_usuario+ pass_usuario

Estudiante

# id_perfil+ nombre_perfil

Perfil

# id_tema

Tema

# id_evaluacion

Evaluacion

# id_imagen+ nombre_imagen

Imagen

# id_ejemplo+ nombre_ejemplo

Ejemplo

adjunto

contiene

ayudado

apoyado

Figura 16. Modelo Entidad-Relación BD Usuarios yMaterial

Tabla 8. Diagrama de Gant

Revista de Tecnología - Journal of Technology • Volumen 6, No. 1, Enero - Junio 2007 39

Se puede decir que los trabajos presentados en la Ingeniería de Software Orientada a Agentes son relativamente nuevos y por ello no presentan todas las fases desarrolladas, sino que dejan abierta la posibilidad de hacer las fases de implementación y pruebas en una arquitectura independiente a la metodología y en un lenguaje que los desarrolladores dependiendo de las fases de diseño y análisis escogerán y adaptaran de acuerdo a las necesidades funcionales del sistema.

Simular un tutor para el estudiante debía tratarse como un problema distribuido, dividiendo la tarea de ser profesor en varios entes, que a través de su cooperación lograran adaptarse al estudiante, debido a este nuevo enfoque fue necesario crear un sistema multiagente para el desarrollo del prototipo de agente tutor.

Al investigar en el campo de la Informática Educativa y los Materiales Educativos Computacionales (MECs), se encontró a los Sistemas Tutoriales Inteligentes (STI), que podían comportarse como tutores inteligentes. Los STI tienen cuatro módulos básicos: el módulo pedagógico, el módulo estudiante, el módulo material didáctico y el módulo interfaz, que se distribuyeron en los diferentes agentes del SMATV: acciones, interfaz, pedagógico, evaluador, dominio, material y estudiante.

Después, al consultar materiales que dieran el peso pedagógico para la herramienta que se comenzó a diseñar, los agentes debían tener métodos para adaptarse al estudiante, para poder guiar la labor de enseñanza como lo hace un tutor; para cumplir con estos requer imientos es necesar io seguir un modelo pedagógico para poder completar la tarea de enseñanza-aprendizaje, y, además, dotar al sistema de una herramienta que le permitiera adaptarse al estudiante, en este punto se indagó sobre los modelos pedagógicos y se tomó como referencia el modelo conductista cognoscitivo de Gagné, también se determinó que a través de los estilos de aprendizaje de Felder y Silverman, el sistema podía adaptarse de alguna manera al estudiante.

En el estudio de las metodologías se encontraron herramientas que permitieran desarrollar el ciclo de vida de los agentes, como la metodología empleada en éste proyecto, MAS-CommonKADS, la cual permitió desarrollar el ciclo de vida del software hasta las fases tratadas de forma muy general, pero con la posibilidad de seguir profundizando en ella para continuar con la ejecución del proyecto.

Para finalizar, con la investigación realizada en todos los campos, se logró establecer un diseño global y un diseño detallado, estipulando herramientas de desarrollo para aplicaciones Web, Sistemas Multiagente y Bases del Conocimiento, mostrando el funcionamiento del sistema en general y mediante el cual se estructura el proyecto y se

define la metodología, para que éste continúe hasta lograr terminar todas las etapas con el fin de simular un profesor on-line para los estudiantes de la facultad: El Sistema Multiagente Tutor Virtual.

REFERENCIAS

[1] BAUS, Teía. Los Estilos de Aprendizaje. 2002.h t t p : / / w w w. m o n o g r a f i a s . c o m / t r a b a j o s 1 2 / losestils/losestils.shtml

[2] BOTÍA, Juan A. La Plataforma de Agentes JADE. Universidad de Sevilla. España, 2005.http://imaginatica.eii.us.es/2005/agentes/info/material-botia/jade.pdf

[3] FELDER, R ichard y SILVER M AN, L inda. Felder_Silverman Learnig Style Model. Carolina del Norte, 1988.Http://chat.carleton.ca/~tblouin/Felder/Richard%20Felder's%20Home%20Page.htm

[4] FERNÁNDEZ, Carmen, GÓMEZ, Jorge y PAVÓN, Juan. Desarrollo de Agentes Software. Introducción a los Agentes Inteligentes. España, 2003. Universidad Complutense de Madrid. Departamento de Sistemas Informáticos y Programación.

[5] FRIEDMAN, Ernest. JESS, the Rule Engine for the Java Platform. Estados Unidos, 2006.http://www.jessrules.com/

[6] GALVIS, Álvaro H. Ingeniería de Software Educativo. ¿Para qué y cómo educar?. Bogotá: Ediciones Uniandes, 1992. 359 p.

[7] GONZÁLEZ, Carina Soledad. Sistemas Inteligentes en la Educación: Una Revisión de las Líneas de Investigación Actuales. En Revista Electrónica de Investigación y Evaluación Educativa V. 10 España: Universidad de la Laguna, 2004.http://www.uv.es/RELIEVE/v10n1/RELIEVEv10n1_1.htm.

[8] IGLESIAS, Carlos Ángel. Definición de una Metodología para el Desarrollo de Sistemas Multiagente MAS-CommonKADS (Knowledge Acquisition and Documentation System). Madrid, 1998, 322 p. Tesis Doctoral. Universidad Politécnica de Madrid. Departamento de Ingeniería de Sistemas Telemáticos.

[9] INSTRUCTIONAL DESIGN KNOW-LEDGE BASE (IDKB). USA, 2002.Ht tp://classweb.gmu.edu/ ndabbagh/ Resources/ IDKB/models_theories.htm

[10] JERÉZ, Clara. Criterios pedagógicos en el uso de multimedia en educación: los agentes pedagógicos. Universidad de La Laguna. España, 2003.http://www.ub.es/div5/ site/pdf/ponencia4/barroso4.pdf [11] JIMÉNEZ, M. Elizabeth, GROSSI, María Delia y PERICHINSKY, Gregorio. Una Aplicación de la Tecnología de MultiAgentes a los Sistemas Tutores Inteligentes: Enseñanza de Computación en Carreras de Ingeniería. Universidad de Buenos Aires. Facultad de Ingeniería. Argentina, 2005.https://dc.exa.unrc.edu.ar/wicc/papers/InformaticaEducativa/83.pdf

[12] JOHNSON W.L, RICKEL J.W. & LESTER J.C. Animated Pedagogical Agents: Face-to-Face. Interaction in Interactive Learning Environments, International Journal of Artificial Intelligence in Education. 2000.

[13] JULIÁN, Vicente J. y BOTTI, Vicente J. Estudio de métodos de desarrollo de sistemas multiagente. España, 2003.http://www.isys.Dia.fi.upm.es/caepia/numeros/18/julian.pdf

[14] LABRAÑA, Cecilia, SALCEDO L. Pedro, CID F. Ricardo y FARRAN L. Yussef. Marcos del Modelado en la Ingeniería del Conocimiento, CommonKADS y el Diseño de un Sistema para Nutrición y Dietética. Chile, 2002. Universidad de Concepción. Departamento de Ingeniería Informática y Ciencias de la Computación, Departamento de Investigación e Informática Educativa.

[15] MORENO, Julián y OVALLE, Demetrio Arturo. Sistema Híbrido de Agentes de Software Inteligentes de Apoyo en la Comercialización de Energía Eléctrica. Medellín, 2005. Universidad Nacional de Colombia. Grupo de Inteligencia Artificial.

[16] MYSQL Hispano. México, 2003.http://www.mysql-hispano.org/page.php?id=2

[17] RUSSELL, Stuart y NORVIG Peter. Inteligencia Artificial: Un Enfoque Moderno. ¿Qué es la IA?. México: Prentice Hall Hispanoamericana S.A., 1996. 979 p.

[18] SALCEDO, Pedro. Inteligencia Artificial Distribuida y Razonamiento Basado en Casos en la Arquitectura de un Sistema Basado en el Conocimiento para la Educación a Distancia (SBC-ED). Chile, 2005. Universidad de Concepción. Facultad de Educación. Departamento de Metodología de la Investigación e Informática Educativa.UNIVERSIDAD POLITÉCNICA DE VALENCIA. Introducción a JADE, Curso Doctorado. España, 2004.www.upv.es/sma/practicas/jade/Introducci%F3nJADE.pdf

[19] VALLE, José Guillermo y GUTIÉRREZ, James Gildardo. Definición Arquitectura Cliente Servidor. Bogotá, 2005.http://www. monografias.com/ trabajos24/ arquitectura-cliente-servidor/arquitectura cliente servidor. Shtml

[20] VILLAREAL, Gonzalo. Agentes Inteligentes en Educación. En Revista Edutec, Revista Electrónica de Tecnología Educativa, No. 16 Chile, Universidad de Santiago de Chile, abril de 2003.http://edutec.rediris.es/Revelec2/ revelec16/villarreal.pdfWIKIPEDIA, La Enciclopedia Libre. TOMCAT. España, 2006. http://es.wikipedia.org/

40 Universidad El Bosque - Facultad de Ingeniería de Sistemas Revista de Tecnología - Journal of Technology • Volumen 6, No. 1, Enero - Junio 2007 41

Edward Alexander Duque Tamayo

Ingeniero de Sistemas, Universidad El Bosque. Desarrolló como Tesis de Grado el Diseño del Prototipo de un Sistema Multiagente Tutor Virtual. En la Línea de Énfasis: Ingeniería de Software y Telecomunicaciones. Áreas de Investigación: Inteligencia Artificial, Informática Educativa, Software Libre.

e-mail: [email protected]

Artículo de investigación Científica y Tecnológica. Sometido a Arbitraje.

El Autor

Se puede decir que los trabajos presentados en la Ingeniería de Software Orientada a Agentes son relativamente nuevos y por ello no presentan todas las fases desarrolladas, sino que dejan abierta la posibilidad de hacer las fases de implementación y pruebas en una arquitectura independiente a la metodología y en un lenguaje que los desarrolladores dependiendo de las fases de diseño y análisis escogerán y adaptaran de acuerdo a las necesidades funcionales del sistema.

Simular un tutor para el estudiante debía tratarse como un problema distribuido, dividiendo la tarea de ser profesor en varios entes, que a través de su cooperación lograran adaptarse al estudiante, debido a este nuevo enfoque fue necesario crear un sistema multiagente para el desarrollo del prototipo de agente tutor.

Al investigar en el campo de la Informática Educativa y los Materiales Educativos Computacionales (MECs), se encontró a los Sistemas Tutoriales Inteligentes (STI), que podían comportarse como tutores inteligentes. Los STI tienen cuatro módulos básicos: el módulo pedagógico, el módulo estudiante, el módulo material didáctico y el módulo interfaz, que se distribuyeron en los diferentes agentes del SMATV: acciones, interfaz, pedagógico, evaluador, dominio, material y estudiante.

Después, al consultar materiales que dieran el peso pedagógico para la herramienta que se comenzó a diseñar, los agentes debían tener métodos para adaptarse al estudiante, para poder guiar la labor de enseñanza como lo hace un tutor; para cumplir con estos requer imientos es necesar io seguir un modelo pedagógico para poder completar la tarea de enseñanza-aprendizaje, y, además, dotar al sistema de una herramienta que le permitiera adaptarse al estudiante, en este punto se indagó sobre los modelos pedagógicos y se tomó como referencia el modelo conductista cognoscitivo de Gagné, también se determinó que a través de los estilos de aprendizaje de Felder y Silverman, el sistema podía adaptarse de alguna manera al estudiante.

En el estudio de las metodologías se encontraron herramientas que permitieran desarrollar el ciclo de vida de los agentes, como la metodología empleada en éste proyecto, MAS-CommonKADS, la cual permitió desarrollar el ciclo de vida del software hasta las fases tratadas de forma muy general, pero con la posibilidad de seguir profundizando en ella para continuar con la ejecución del proyecto.

Para finalizar, con la investigación realizada en todos los campos, se logró establecer un diseño global y un diseño detallado, estipulando herramientas de desarrollo para aplicaciones Web, Sistemas Multiagente y Bases del Conocimiento, mostrando el funcionamiento del sistema en general y mediante el cual se estructura el proyecto y se

define la metodología, para que éste continúe hasta lograr terminar todas las etapas con el fin de simular un profesor on-line para los estudiantes de la facultad: El Sistema Multiagente Tutor Virtual.

REFERENCIAS

[1] BAUS, Teía. Los Estilos de Aprendizaje. 2002.h t t p : / / w w w. m o n o g r a f i a s . c o m / t r a b a j o s 1 2 / losestils/losestils.shtml

[2] BOTÍA, Juan A. La Plataforma de Agentes JADE. Universidad de Sevilla. España, 2005.http://imaginatica.eii.us.es/2005/agentes/info/material-botia/jade.pdf

[3] FELDER, R ichard y SILVER M AN, L inda. Felder_Silverman Learnig Style Model. Carolina del Norte, 1988.Http://chat.carleton.ca/~tblouin/Felder/Richard%20Felder's%20Home%20Page.htm

[4] FERNÁNDEZ, Carmen, GÓMEZ, Jorge y PAVÓN, Juan. Desarrollo de Agentes Software. Introducción a los Agentes Inteligentes. España, 2003. Universidad Complutense de Madrid. Departamento de Sistemas Informáticos y Programación.

[5] FRIEDMAN, Ernest. JESS, the Rule Engine for the Java Platform. Estados Unidos, 2006.http://www.jessrules.com/

[6] GALVIS, Álvaro H. Ingeniería de Software Educativo. ¿Para qué y cómo educar?. Bogotá: Ediciones Uniandes, 1992. 359 p.

[7] GONZÁLEZ, Carina Soledad. Sistemas Inteligentes en la Educación: Una Revisión de las Líneas de Investigación Actuales. En Revista Electrónica de Investigación y Evaluación Educativa V. 10 España: Universidad de la Laguna, 2004.http://www.uv.es/RELIEVE/v10n1/RELIEVEv10n1_1.htm.

[8] IGLESIAS, Carlos Ángel. Definición de una Metodología para el Desarrollo de Sistemas Multiagente MAS-CommonKADS (Knowledge Acquisition and Documentation System). Madrid, 1998, 322 p. Tesis Doctoral. Universidad Politécnica de Madrid. Departamento de Ingeniería de Sistemas Telemáticos.

[9] INSTRUCTIONAL DESIGN KNOW-LEDGE BASE (IDKB). USA, 2002.Ht tp://classweb.gmu.edu/ ndabbagh/ Resources/ IDKB/models_theories.htm

[10] JERÉZ, Clara. Criterios pedagógicos en el uso de multimedia en educación: los agentes pedagógicos. Universidad de La Laguna. España, 2003.http://www.ub.es/div5/ site/pdf/ponencia4/barroso4.pdf [11] JIMÉNEZ, M. Elizabeth, GROSSI, María Delia y PERICHINSKY, Gregorio. Una Aplicación de la Tecnología de MultiAgentes a los Sistemas Tutores Inteligentes: Enseñanza de Computación en Carreras de Ingeniería. Universidad de Buenos Aires. Facultad de Ingeniería. Argentina, 2005.https://dc.exa.unrc.edu.ar/wicc/papers/InformaticaEducativa/83.pdf

[12] JOHNSON W.L, RICKEL J.W. & LESTER J.C. Animated Pedagogical Agents: Face-to-Face. Interaction in Interactive Learning Environments, International Journal of Artificial Intelligence in Education. 2000.

[13] JULIÁN, Vicente J. y BOTTI, Vicente J. Estudio de métodos de desarrollo de sistemas multiagente. España, 2003.http://www.isys.Dia.fi.upm.es/caepia/numeros/18/julian.pdf

[14] LABRAÑA, Cecilia, SALCEDO L. Pedro, CID F. Ricardo y FARRAN L. Yussef. Marcos del Modelado en la Ingeniería del Conocimiento, CommonKADS y el Diseño de un Sistema para Nutrición y Dietética. Chile, 2002. Universidad de Concepción. Departamento de Ingeniería Informática y Ciencias de la Computación, Departamento de Investigación e Informática Educativa.

[15] MORENO, Julián y OVALLE, Demetrio Arturo. Sistema Híbrido de Agentes de Software Inteligentes de Apoyo en la Comercialización de Energía Eléctrica. Medellín, 2005. Universidad Nacional de Colombia. Grupo de Inteligencia Artificial.

[16] MYSQL Hispano. México, 2003.http://www.mysql-hispano.org/page.php?id=2

[17] RUSSELL, Stuart y NORVIG Peter. Inteligencia Artificial: Un Enfoque Moderno. ¿Qué es la IA?. México: Prentice Hall Hispanoamericana S.A., 1996. 979 p.

[18] SALCEDO, Pedro. Inteligencia Artificial Distribuida y Razonamiento Basado en Casos en la Arquitectura de un Sistema Basado en el Conocimiento para la Educación a Distancia (SBC-ED). Chile, 2005. Universidad de Concepción. Facultad de Educación. Departamento de Metodología de la Investigación e Informática Educativa.UNIVERSIDAD POLITÉCNICA DE VALENCIA. Introducción a JADE, Curso Doctorado. España, 2004.www.upv.es/sma/practicas/jade/Introducci%F3nJADE.pdf

[19] VALLE, José Guillermo y GUTIÉRREZ, James Gildardo. Definición Arquitectura Cliente Servidor. Bogotá, 2005.http://www. monografias.com/ trabajos24/ arquitectura-cliente-servidor/arquitectura cliente servidor. Shtml

[20] VILLAREAL, Gonzalo. Agentes Inteligentes en Educación. En Revista Edutec, Revista Electrónica de Tecnología Educativa, No. 16 Chile, Universidad de Santiago de Chile, abril de 2003.http://edutec.rediris.es/Revelec2/ revelec16/villarreal.pdfWIKIPEDIA, La Enciclopedia Libre. TOMCAT. España, 2006. http://es.wikipedia.org/

40 Universidad El Bosque - Facultad de Ingeniería de Sistemas Revista de Tecnología - Journal of Technology • Volumen 6, No. 1, Enero - Junio 2007 41

Edward Alexander Duque Tamayo

Ingeniero de Sistemas, Universidad El Bosque. Desarrolló como Tesis de Grado el Diseño del Prototipo de un Sistema Multiagente Tutor Virtual. En la Línea de Énfasis: Ingeniería de Software y Telecomunicaciones. Áreas de Investigación: Inteligencia Artificial, Informática Educativa, Software Libre.

e-mail: [email protected]

Artículo de investigación Científica y Tecnológica. Sometido a Arbitraje.

El Autor