Diseño del Prototipo de un Sistema Multiagente Tutor Virtual

Anuncio
Diseño del Prototipo de un Sistema
Multiagente Tutor Virtual
Edward Alexander Duque Tamayo
Resumen
Abstract
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.
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.
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 MASCommonKADS 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.
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 lifecycle 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.
Palabras Clave: Inteligencia Ar tificial. Sistema
Multiagente. Informática Educativa. Material Educativo
Computacional. Modelo Pedagógico Conductista
Cognoscitivo. Estilos de Aprendizaje de Felder.
P r o g r a m a c i ó n O r i e n t a d a a A g e n t e s. M A S CommonKADS. Arquitectura Cliente-Servidor. JADE.
JESS.
Keywords: Artificial Intelligence. Multi-agent System.
Educative Informatics. Educative Software Material.
Behaviorism Cognitivism Pedagogical Model. Felder's
Learning Styles. Agent-Oriented Programming. MASCommonKADS. Server-Client Architecture. JADE. JESS.
26
Universidad El Bosque - Facultad de Ingeniería de Sistemas
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-ser vidor 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 MASCommonKADS. 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.
Revista de Tecnología - Journal of Technology • Volumen 6, No. 1, Enero - Junio 2007
Figura 1. Los agentes interactúan con el ambiente a través
de sensores y efectores [17]
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.
Tabla 1. Objetos Vs. Agentes [13]
Como los agentes responden a las percepciones del
entorno, y esas percepciones están descritas en una
s e cuencia, és t a s ay uda r á n a det er 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.
Tabla 3. Ejemplo de Diversos Tipos de Agentes y sus
Correspondientes Descripciones Pama. [17]
Tabla 2. Sistemas Expertos Vs. Agentes [13]
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].
27
28
Universidad El Bosque - Facultad de Ingeniería de Sistemas
function SKELETON - AGENT (percept) returns action
funció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]
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
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.
Revista de Tecnología - Journal of Technology • Volumen 6, No. 1, Enero - Junio 2007
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 per mita seguir la r uta 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.
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.
Tabla 4. Clasificación de los MECs según las Funciones
Educativas que asumen. [6]
Figura 3. Estructura Tradicional de un STI [7]
A. Sistemas Tutoriales Inteligentes
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]
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].
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.
29
30
Universidad El Bosque - Facultad de Ingeniería de Sistemas
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.
• 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.
Tabla 5. Principios Básicos del Conductismo y
Cognoscitivismo [9]
Revista de Tecnología - Journal of Technology • Volumen 6, No. 1, Enero - Junio 2007
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.
Tabla 6. Reglas de Instrucción del Conductismo y
Cognoscitivismo [9]
Estímulo
Respuesta
Reforzamiento
Conductivismo
Estímulo
Respuesta
Organismo
Organismo
Entorno
Entorno
Reforzamiento
Conductivismo Cognoscitivo
Cognoscitivismo
Figura 4. Focos de atención en las diferentes teorías de
aprendizaje [6].
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:
31
32
Universidad El Bosque - Facultad de Ingeniería de Sistemas
Tabla 7. Preguntas y Respuestas relacionadas para definir
los estilos de aprendizaje de Felder y Silverman [1]
• 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.
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:
En este modelo no hay estilos correctos de aprendizaje;
más bien, se entiende como un sistema de preferencias en
el cual par ticipan los estudiantes de manera
individual.”[1]
V. HERRAMIENTAS DE DESARROLLO
• “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.
A. Arquitectura Cliente-Servidor
• 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.
• 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.
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:
• Es una arquitectura de procesamientos cooperativo
donde uno de los componentes pide servicios a otro.
• Visuales: En la obtención de información prefieren
representaciones visuales, diagramas de flujo, diagramas,
etc.; recuerdan mejor lo que ven.
• Es un procesamiento de datos de índole colaborativo
entre dos o más computadoras conectadas a una red.
• Verbales: Prefieren obtener la información en forma escrita
o hablada; recuerdan mejor lo que leen o lo que oyen.
• 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.
• 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.
• 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,
Revista de Tecnología - Journal of Technology • Volumen 6, No. 1, Enero - Junio 2007
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.
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
RMI
Registry
Jade Main Container
JRE 1.2
Application Agent
Application Agent
Application Agent
Host 3
Application Agent
Application Agent
Application Agent
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 her ramienta 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.
Host 2
Application Agent
B. MySQL
Host 1
Application Agent
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.
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 JA DE los agentes prog raman 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.
Application Agent
Figura 5. Arquitectura Cliente-Servidor.
Jade distributed Agent Platform
Jade Agent Container
Jade Agent Container
JRE 1.2
JRE 1.2
Network protocol stack
Figura 6. Plataforma JADE [2]
33
34
Universidad El Bosque - Facultad de Ingeniería de Sistemas
“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.
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.
• 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
Figura 7. Modelos empleados por MAS-CommonKADS.[8]
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:
Revista de Tecnología - Journal of Technology • Volumen 6, No. 1, Enero - Junio 2007
Modelo de Agente (AM): Especifica las características
• “Modelo
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.
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 Ar turo 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,
e s t r uc t ur a, jer a rquía y re cur s os del mo delo
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.
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
Figura 8. Casos de uso usuario estudiante.
35
36
Universidad El Bosque - Facultad de Ingeniería de Sistemas
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).
Figura 11. Arquitectura Global del SMATV.
1). Planificación de Personalidad (1ª Vez):
1. Planificación de Personalidad (1ª Vez)
1.1 Recepción de
1.2 Planificación de 1.3 Informar
Test de Personalidad
Perfil
Perfil
3 Búsqueda Base
de Conocimiento
Figura 9. Tarea Planificación de Personalidad por 1ª Vez.
Agente: Estudiante
Clase: Mod_Estudiante
Objetivos
Planes
Conocimiento Colaborador
Servicio
Registrar el historial
relacionado con el
usuario: Temas,
Evaluaciones,
material didáctico y
ejemplos.
Pedir
historiales
Usuario en
BD
Acciones
Introducir
Información
Usuario
Registrar Perfil de
Usuario
Pedir
perfil
Ninguno
Pedagógico
Informar Perfil
de Usuario
Informar historial de
SMA cuando se
identifica un usuario.
Informar
historial
Usuario en
BD
Interfaz
Retornar
Información
Usuario
Figura 10. Tarjeta CRC para el Agente Estudiante.
VII. DISENO GLOBAL DEL SISTEMA
Para el diseño global del prototipo de Sistema Multiagente
Tutor Virtual (SMATV) se utilizará la arquitectura clienteservidor, 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.
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.
Revista de Tecnología - Journal of Technology • Volumen 6, No. 1, Enero - Junio 2007
VIII. DISENO DETALLADO DEL SISTEMA
A. Modelo Vista Controlador
Agente Interfaz, Agente Acciones, Agente Pedagógico,
Agente Domino, Agente Evaluación, Agente Estudiante y
Agente Material.
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.
Se encarga de
controlar el tránsito
entre el modelo y
la vista. (Servlet)
Figura 13. Agentes distribuidos en módulos del STI.
CONTROLADOR
Datos del Sistema:
Base de Datos
Usuarios, Bases
del Conocimiento
MODELO
Es la interfaz con el
usuario que se
encarga de
mostrar los datos
VISTA
Figura 12. Modelo Vista Controlador
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:
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.
37
38
Universidad El Bosque - Facultad de Ingeniería de Sistemas
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.
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.
Figura 14. Funcionamiento SMATV básico.
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.
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.
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.
Figura 15. Funcionamiento SMATV completo.
Revista de Tecnología - Journal of Technology • Volumen 6, No. 1, Enero - Junio 2007
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.
Historial
# id_historial
adjunto
Tema
# id_tema
posee
Estudiante
# id_Usuario
+ codigo_usuario
+ nombre_usuario
+ login_usuario
+ pass_usuario
contiene
Evaluacion
# id_evaluacion
Imagen
# id_imagen
+ nombre_imagen
ayudado
tiene
Perfil
# id_perfil
+ nombre_perfil
Ejemplo
# id_ejemplo
+ nombre_ejemplo
apoyado
Figura 16. Modelo Entidad-Relación BD Usuarios y
Material
Tabla 8. Diagrama de Gant
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.
39
40
Universidad El Bosque - Facultad de Ingeniería de Sistemas
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ñanzaaprendizaje, 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-CommonK ADS, 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/materialbotia/jade.pdf
[3] F EL DER, R icha rd y SI LV ER M A N, L inda.
Felder_Silverman Learnig Style Model. Carolina del
Norte, 1988.
Http://chat.carleton.ca/~tblouin/Felder/Richard%20Felde
r'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-CommonK ADS (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 t p://classweb.gmu.edu/ ndabbagh/ Resources/
IDKB/models_theories.htm
Revista de Tecnología - Journal of Technology • Volumen 6, No. 1, Enero - Junio 2007
[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
PER ICHINSKY, 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/InformaticaEduca
tiva/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.
[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.
UNI V ER SIDA D POLI T ÉCNICA DE VA LENCI A.
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/ arquitecturacliente-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.pdf
WIKIPEDIA, La Enciclopedia Libre. TOMCAT. España,
2006.
http://es.w ikipedia.org/
[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.
Artículo de investigación Científica y Tecnológica. Sometido a Arbitraje.
El Autor
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]
41
Descargar