Dialnet-IncorporacionDeAgentesInteligentesEnAmbientesDeApr-4794494.pdf

download Dialnet-IncorporacionDeAgentesInteligentesEnAmbientesDeApr-4794494.pdf

of 16

Transcript of Dialnet-IncorporacionDeAgentesInteligentesEnAmbientesDeApr-4794494.pdf

  • 7/24/2019 Dialnet-IncorporacionDeAgentesInteligentesEnAmbientesDeApr-4794494.pdf

    1/16

    I ncorporacin de Agentes I ntel igentes en Ambientes

    de Aprendizaje

    Gabriel Jaime Gmez B, Claudia Mara Zea R.Proyecto CONEXIONES.

    Universidad EAFIT, Medelln - Colombia.e-mail:[email protected], [email protected]

    Resumen

    Este artculo describe el diseo de Agentes Inteligentes y la experimentacin conestos en ambientes de aprendizaje, haciendo uso de nuevas tecnologas tales como elLenguaje para la manipulacin de Consultas y Conocimiento (KQML), y caractersticasnuevas del Lenguaje de programacin Java para la creacin de aplicaciones distribuidas,tales como Invocacin Remota de Mtodos (RMI), programacin multihilos y

    conectividad a Bases de Datos, JDBC.

    1. Introduccin.

    El ambiente computacional en el que los programas del futuro estarn inmersos,se caracterizar por ser altamente distribuido, heterogneo, extremadamente dinmico ycomprender un gran nmero de nodos autnomos. Un sistema de informacinoperando en tal ambiente, deber ser capaz de manejar varios problemas:

    El modelo cliente servidor, predominante en Internet es muy restrictivo, porlo tanto es dificil para los servicios de informacin actuales, tomar la iniciativa y

    brindar nuevo material de inters a los usuarios. De igual forma sera deseableque algunos nodos actuaran como clientes o como servidores, dependiendode quienes interactuan con ellos.

    Varias formas de heterogeneidad necesitan ser manejadas, por ejemplo:diferentes plataformas, diferentes formatos de datos, diferentes idiomas,diferentes servicios de informacin, as como las diferentes tecnologas deimplementacin empleadas.

    Muchas tecnologas de software tales como simulacin de eventos,

    procesamiento de lenguaje natural aplicado, razonamiento basado enconocimiento, recuperacin de informacin avanzada, procesamiento paralelo,estn disponibles para participar y contribuir a los sistemas de informacinnuevos. Sin embargo, se carece de tcnicas para construir clientes y servidoresinteligentes , o en general, software basado en agentes.

    Una sociedad de agentes inteligentes podra solucionar los problemasmencionados. Estos agentes tendran la posibilidad de migrar de un nodo a otro, lacapacidad de comunicarse con otros agentes, usando un lenguaje de comunicacinexpresivo, trabajar juntos cooperativamente para lograr objetivos complejos a favorde un usuario, actuar con su propia iniciativa y usar informacin local y conocimiento

    para manejar recursos y requerimientos de otros agentes.

  • 7/24/2019 Dialnet-IncorporacionDeAgentesInteligentesEnAmbientesDeApr-4794494.pdf

    2/16

    La mayora del software existente ignora el hecho de que generalmente las tareasque realiza un individuo forman parte de actividades colectivas. No es trabajoindividual, es trabajo con aportes de terceros y consensos con otras personas, es por estoque los sistemas de apoyo al trabajo colaborativo se presentan como una necesidadmarcada para el desarrollo de software futuro y los agentes inteligentes, como un

    componente esencial en su diseo e implementacin.

    El objetivo es extractar a nivel terico la esencia de la agenticidad, diferenciarlos programas basados en agentes de los programas normales y establecer un grupo de

    principios a tener en cuenta para el diseo de agentes y a nivel prctico presentar unainterfaz para trabajo colaborativo infantil que actualmente se encuentra en construccin

    para su posterior utilizacin en las instituciones educativas asociadas al ProyectoCONEXIONES.

    2. Agentes de Software: Historia.

    Los agentes de software hacen parte de los sistemas multiagentes(multi-agentsystems MAS), el cual a su vez es uno de tres grandes campos de la InteligenciaArtificial Distribuida (DAI). Los otros dos campos son Solucin de problemasdistribuida (Distributed Problem Solving, DPS) e Inteligencia Artificial Paralela(Parallel AI, PAI). Por lo tanto, los agentes de software, heredan muchas de lasmotivaciones, objetivos y beneficios potenciales de la Inteligencia Artificial Distribuidacomo: la modularidad, la velocidad propia del paralelismo, y la precisin debida a laredundancia. Tambin heredan de la Inteligencia Artificial la operacin al nivel delconocimiento y la facilidad de mantenimiento. (Huhns & Singh, 1994).

    El concepto de agente se remonta a los primeros das de investigacin enInteligencia Artificial, en la poca de los 70's. Carl Hewittis en 1977 propuso elconcepto de un objeto auto- contenido, interactivo y de ejecucin concurrente llamadoactor. Este objeto tena algn estado interno encapsulado y podra responder a mensajesde otros objetos similares. "Es un agente computacional, que tiene una direccin decorreo electrnico y un comportamiento. Los actores se comunican por paso demensajes y desarrollan sus acciones concurrentemente" (Hewitt, 1977, pg 131).

    Podemos dividir la investigacin en agentes en dos ramas principales, la primeraen el periodo comprendido entre 1977 hasta 1990 y la segunda desde 1990 hastanuestros das. En la primera las investigaciones se concentraron principalmente en tiposde agentes repartidores, con modelos simblicos internos, tambin en aspectos de

    discusin macros como teora de arquitectura, teora de lenguaje, la interaccin y lacomunicacin entre agentes, la descomposicin y la distribucin de tareas, coordinaciny cooperacin, resolucin de conflictos va negociacin, etc. su objetivo fue especificar,el anlisis y el diseo de sistemas integrados incluyendo mltiples agentescolaborativos. Estos puntos de agentes, enfatizaban en las sociedades de agentes msque en agentes individuales.

    Sin embargo, a partir de los aos noventa, adicionalmente a la investigacin enaspectos macros, tales como la arquitectura y el lenguaje, se hace evidente einconfundible, que el rango de los tipos de agentes siendo investigados y desarrolladoses ahora mucho ms amplio e incluyen una preocupacin por la integracin de bases de

    datos y sistemas de inferencia.

  • 7/24/2019 Dialnet-IncorporacionDeAgentesInteligentesEnAmbientesDeApr-4794494.pdf

    3/16

    3. Que es un agente?

    Es difcil definir precisamente qu son los agentes y hay por lo menos dosrazones para ello. La primera es que los investigadores en agentes inteligentes, no sondueos del trmino agente, ya que este es usado cotidianamente por ejemplo al decir

    agentes de viaje. Segundo, el trmino ha sido usado en la comunidad de software encampos de investigacin muy heterogneos.

    Podramos decir entonces, que la palabra agente es un meta-trmino o una clase,de la que muchos investigadores a falta de una definicin han creado sinnimosaadiendo algo de confusin. Claro que hay buenas razones para tener tales sinnimos.Primero los agentes vienen en diferentes apariencias: por ejemplo los que habitan enun mundo fsico, como una fbrica, son llamados robots, los que habitan en una vastared de computadoras son referidos como softbots (software robots), aquellos querealizan tareas especficas son llamados taskbots (Task based robots) y autonomousagents se refiere tpicamente a agentes mviles o robots que operan en ambientesdinmicos e inciertos. Segundo, los agentes pueden jugar roles especficos, por lotanto tenemos asistentes personales o Knowbots (Knowledge-based robots), que

    pueden tener el conocimiento de un experto en un dominio especfico del saberhumano.

    Adems, debido a la multiplicidad de roles que los agentes pueden jugar, hayahora una pltora de adjetivos que califican a la palabra "agente": agentes denavegacin, agentes de bsqueda y recuperacin de informacin, agentes de dominioespecfico, agentes de desarrollo, agentes de anlisis y diseo, agentes para pruebas,agentes de ayuda, etc.

    La esencia de la agenticidad

    Ejemplos de agentes son los humanos, animales, algunos robots mviles. Todosellos actan en el mundo real, los agentes de software "viven" en sistemas operativos decomputadoras, bases de datos, redes, etc. Casi todas las definiciones anteriores serefieren a agentes de software. Finalmente agentes con vida artificial "viven" enambientes artificiales en una pantalla de computadora o en la memoria de sta.

    Qu comparten estos agentes que constituya la esencia de ser agente? Cada unode ellos est situado en y es parte de algn ambiente. Cada uno muestra su ambiente y

    acta autnomamente sobre ste. No requieren de otra entidad para alimentarse deentradas, o para interpretar stas y usar su salida. Cada uno acta en pos de su propiaagenda, as sea satisfaciendo conductas dirigidas como los humanos y los animales, o

    persiguiendo objetivos desarrollados por algn otro agente, como los agentes desoftware. Cada accin que realizan puede afectar su posterior sesitividad, ya que susacciones afectan el ambiente.

    Finalmente, cada uno acta continuamente sobre algn periodo de tiempo. Unagente de software, una vez invocado, tpicamente corre hasta que decide no hacerlo.Un agente con vida artificial a menudo corre hasta ser devorado o hasta que resultamuerto de otra manera. Por supuesto algn humano puede tirar la conexin, pero no

    siempre.

  • 7/24/2019 Dialnet-IncorporacionDeAgentesInteligentesEnAmbientesDeApr-4794494.pdf

    4/16

    Para nosotros estos requerimientos constituyen la esencia de ser de un agente.Formalicemos la definicin: Un agente autnomo es un sistema situado dentro de unambiente y como parte de ese ambiente lo muestra y acta sobre l en el tiempo, en prode su propia agenda de actividades y as afecta lo que censar en el futuro.

    4. Que pasa con los programas ordinarios?

    Un programa de nmina en un ambiente del mundo real podra decirse quemuestra el mundo va su entrada y acta en l va su salida, pero no es un agente porquesu salida normalmente no afectara lo que se muestra con posterioridad. Un programa denmina tambin falla el test de continuidad temporal. ste corre una vez y entoncesentra en coma, esperando ser llamado nuevamente. La mayora de los programasordinarios son excluidos por una o ambas de estas condiciones, sin mucha consideracinde como restrinjamos el ambiente. Podramos decir entonces, que todos los agentes desoftware son programas, pero no todos los programas son agentes.

    Clasificacin de los agentes

    Como se pudo observar anteriormente, lograr tener una nica definicin de agentees complicado, tambin lo es clasificarlos debido a que en esencia, los agentes existenen un ambiente multidimensional, por lo que usar una matriz de dos o tres dimensiones

    para clasificarlos, sera incompleto e inadecuado, por lo tanto exploremos otrosesquemas.5.1 Una taxonoma natural de clases de agentes:

    A semejanza del modelo biolgico Al nivel de Reino podramos clasificar los

    agentes autnomos como biolgicos, robticos o computacionales. Estas parecen serclases naturales[Keil, 1989]. En toda cultura, an los nios muy pequeos fcilmentedistinguen entre organismos animados, artefactos y conceptos abstractos.Al nivel Phylum podemos subclasificar razonablemente los agentes computacionales enagentes de software y agentes con vida artificial.

    Agentes Autnomos

    Agentes Agentes AgentesBiolgicos Computacionales Robots

    Agentes Agentesde Software con vida Artificial

    Agentes de Virus InformticosTarea Especfica

    Figura 1.

  • 7/24/2019 Dialnet-IncorporacionDeAgentesInteligentesEnAmbientesDeApr-4794494.pdf

    5/16

    Segn las estructuras de control

    Segn las estructuras de control, la taxonoma de agentes de software deBustoloni[1991] comienza con una clasificacin de tres vas en:

    Agentes reflejos que se limitan a clasificar las percepciones recibidas,produciendo la respuesta respectiva, reaccionando a cada entrada sensorial, y quesiempre conocen qu hacer, es decir que no planean ni aprenden.

    Agentes que planean utilizando cualquiera de los mecanismos usuales derazonamiento de la IA, o utilizando mtodos de investigacin de operaciones (ORagents), o utilizando algoritmos aleatorios (randomizing agents), redes neuronales,aprendizaje de mquina, etc.

    Agentes adaptativos, los cuales no nicamente planean, sino que tambin puedenaprender.

    Segn el ambiente en el que habitan

    La relacin que existe entre los agentes y los ambientes es siempre la misma: esel agente quien ejerce sobre el ambiente, el que a su vez, aporta percepciones al agente.Los ambientes son de diversos tipos y condicionan el diseo de los agentes. Puededecirse que los ambientes son:

    Accesibles o no accesiblesDeterministas o no deterministasEpisdicos o no episdicosEstticos o dinmicosDiscretos o continuos

    El caso ms difcil se caracteriza por ser inaccesible, no episdico, dinmico ycontinuo.

    Segn sus atributos

    A continuacin definimos algunos de los principales atributos que pueden tener losagentes:

    Reactivo : El agente responde en un determinado tiempo a cambios en el ambiente.

    Autnomo: El agente no simplemente acta como respuesta a estmulos en elambiente, sino que exhibe un comportamiento dirigido a lograr sus objetivos.Un elemento clave de esta autonoma es su proactividad, su, habilidad para "tomar lainiciativa" mas que actuar simplemente en respuesta a su ambiente.

    Continuidad Temporal : El agente est continuamente en busca de sus objetivos.

    Comunicativo: El agente es capaz de comunicarse con otros agentes, tal vez con

    personas.

  • 7/24/2019 Dialnet-IncorporacionDeAgentesInteligentesEnAmbientesDeApr-4794494.pdf

    6/16

    Aprender: La clave para lograr algn nivel de inteligencia, es la habilidad deaprender. El aprendizaje puede tambin tomar la forma de desarrollo incremental enel tiempo. El agente es capaz de realizar cambios en su ambiente basados en suexperiencia previa.

    Movilidad: Capaz de transportarse a s mismo de un lugar a otro

    Flexibilidad: El agente es capaz de adaptarse a cambios inesperados en elambiente.

    Cooperacin: En orden a cooperar, los agentes necesitan poseer una habilidadsocial, por ejemplo para interactuar con otros agentes y posiblemente humanos vaalgn lenguaje de comunicacin.

    Carcter: Creble personalidad y estado emocional

    Consideramos que hay como mnimo tres atributos primarios que idealmentedeberan exhibir: autonoma, aprendizaje y cooperacin con otros agentes. Usandoestas tres caractersticas mnimas podemos derivar cuatro tipos de agentes: agentescolaborativos, agentes colaborativos que aprenden, agentes de interfaces y verdaderosagentes inteligentes.

    Enfatizamos en que estas distinciones no son definitivas. Por ejemplo, conagentes colaborativos hay mas nfasis en cooperacin y autonoma que en aprendizaje;

    pero no implica que los agentes colaborativos nunca aprendan. Igualmente, para agentesde interfaz, hacemos ms nfasis en autonoma y en aprendizaje que en cooperacin.

    No hemos considerado las reas que hay por fuera de las intersecciones entre agentes.Por ejemplo: la mayora de los sistemas expertos y las bases de datos deductivas sonmuy autnomas, pero tpicamente no cooperan, ni tampoco aprenden. Idealmente losagentes deberan tener igual cantidad de los tres atributos ideales, pero esto es ms unaaspiracin que una realidad. Verdaderos agentes inteligentes no existen actualmentedesarrollados.

    Tambin pueden ser clasificados por el rango de sensibilidad de sus sensores opor el rango y efectividad de sus acciones, o por la cantidad de estados internos queposeen y deben haber muchas ms posibilidades.

  • 7/24/2019 Dialnet-IncorporacionDeAgentesInteligentesEnAmbientesDeApr-4794494.pdf

    7/16

    Figura 2.

    6. Arquitectura interna.

    El objetivo de la IA es el diseo de un programa de agente: una funcin quepermita implantar un mapeo, para que el agente pueda pasar de percepciones aacciones. Dicho programa se ejecutar en algn tipo de dispositivo de cmputo, al quese denominar arquitectura. En general, la arquitectura se encargar de lo siguiente:

    Ejecutar el programa agente, poner al alcance del programa las percepcionesobtenidas mediante los sensores y alimentar los efectores con las acciones elegidas porel programa conforme stas se van generando, bien sea de una base de datos deductiva ode un sistema experto con una base de conocimiento (Fig.3).

    Figura 3.

    La arquitectura debe ofrecer un cierto grado de aislamiento entre los dispositivossensores y efectores que facilite la programacin a alto nivel.

    Con dicha arquitectura de agente, ahora exploremos como se podra lograr lacomunicacin entre diferentes agentes y de qu manera estos podran colaborar.

    7. Comunicacin entre Agentes.

    En general la comunicacin es el intercambio intencional de informacin que selleva a cabo mediante la emisin y percepcin de signos pertenecientes a un sistemaconvencional de stos.Una de las acciones que puede realizar un agente es la de producir lenguaje.

    Que podra motivar a un agente realizar actos de comunicacin? Supongamosque un grupo de agentes est explorando el web. El grupo se beneficia a nivel colectivoe individual cuando es capaz de realizar alguna de las siguientes acciones:

    Intercambiar Informacin entre s sobre aquella parte del web que cada uno deellos ha explorado, lo que les ahorrar a todos trabajo de exploracin. Para ello

  • 7/24/2019 Dialnet-IncorporacionDeAgentesInteligentesEnAmbientesDeApr-4794494.pdf

    8/16

    se valdrn de aseveraciones como: Hay algo de la contaminacin del roMagdalena aqu. Consultar a otros agentes sobre determinados aspectos del web. Generalmentese utilizan para ellopreguntascomo: Has encontrado algo acerca de Marte?.Responder preguntas: Se trata de una forma especial de dar informacin. S, en

    la siguiente direccin encontraras la misin PATHFINDER. Peticiones u rdenes formuladas a otros agentes para que realicendeterminadas acciones: Por favor, podras enviarme una fotografa del Rover.Promesa de hacer algo: Si lo har!Proponer tratos: Lo har si tu me envas una de Saturno.Aceptacin de peticiones y propuestas: De acuerdo. Compartir sentimientos y experiencias entre s: La misin PATHFINDER es

    fabulosa.

    La comunicacin y cooperacin entre agentes descrito anteriormente se facilita

    si se usa un lenguaje comn. En trminos lingsticos, esto significa que se compartauna sintaxis, semntica y pragmtica comunes. Para ello es necesario dotar a losagentes de una capa encargada del manejo de dicho lenguaje comn. Los agentesentonces pueden realizar acciones de comunicacin, las cuales a su vez se convierten en

    percepciones para otro agente, con el cual se desee comunicar.

    KQML Agent Comunication Language.

    En IA el compartir una sintaxis comn es un problema, debido a que no hay unlenguaje aceptado universalmente en el cual representar conocimiento, informacin yconsultas. Lenguajes tales como KIF SQL extendido, son aceptados pero no se han

    convertido en estndares. Como resultado de esto, es necesario decir que dos agentespueden comunicarse el uno con el otro, si tienen una representacin comn dellenguaje o usan lenguajes que se pueden traducir el uno al otro.

    Asumiendo un lenguaje comn o traducible, es necesario an que compartan unfrente de trabajo o conocimiento para interpretar los mensajes que intercambian. Estano es realmente una semntica compartida, pero si es una ontologa compartida, lo cuales mucho. Pragmtica entre procesos de cmputo incluye: conocer con quien hablar ycomo encontrarlo y conocer como iniciar y mantener un intercambio

    Como lenguaje de comunicacin comn, para la implementacin de agentes

    actuales, se utiliza el lenguaje KQML (Knowledge Query and Manipulation Language).KQML es un lenguaje diseado para soportar interacciones de agentes inteligentes. Estanto un formato de mensajes como un protocolo para el manejo de tales mensajes,soportando el intercambio de conocimiento entre agentes. Est constituido por un

    pequeo nmero de directivas, las cuales son usadas por los agentes para describir losmetadatos y especificar los requerimientos de informacin.

    Ahora que tenemos un agente capaz de manejar mensajes, exploremos como sepueden comunicar los agentes, que se encuentran distribuidos en una red local,probablemente en un host de Internet.

    Para ello es necesario introducir una clase especial de agente, llamado facilitadorde la comunicacin, el cual se encarga de coordinar la comunicacin entre los dems

  • 7/24/2019 Dialnet-IncorporacionDeAgentesInteligentesEnAmbientesDeApr-4794494.pdf

    9/16

    agentes, desarrollando varios servicios, pasar mensajes a los agentes, enrutar mensajesbasndose en los contenidos, encontrar informacin para los clientes y ofrecermediacin y traduccin de servicios. El agente facilitador puede hacer esto, ya que cadaagente cuando se inicia, enva al agente facilitador, su nombre, su direccin IP y losservicios que puede ofrecer a los dems agentes en la red.

    Como un ejemplo, (vease la figura 4) considere un caso donde un agente Adeseara conocer si una proposicin X es verdadera o no. Un agente B podra tener X ensu base de conocimiento, y un agente facilitador F esta disponible.

    Si A sabe que es apropiado enviar una consulta acerca de X a B, entonces puedeusar un simple protocolo punto a punto y enviar una consulta directamente a B. Si por elcontrario A no sabe qu agentes estn disponibles, o cual de todos podra tener X en su

    base de conocimientos, o com contactar a algn agente, entonces A le pide a F que lerecomiende un agente que sea apropiado para enviarle una consulta acerca de la verdadde X. Entonces el facilitador F le responde a A con el nombre y la direccin del agente

    B. A queda entonces libre para iniciar un dialogo con el agente B, para enviar sta uotras consultas similares.

    Figura 4.

    Podemos observar que una de las principales funciones de un agente facilitadores la de ayudar a otros agentes a encontrar clientes y servidores apropiados. El problemade cmo los agentes encuentran facilitadores en primer lugar, no es un problema deKQML y hay una variedad de posibles soluciones.

    Actualmente las aplicaciones basadas en KQML usan una tcnica simple. En elproyecto PACT, por ejemplo, todos los agentes usan un facilitador central comn, cuyalocalizacin fue un parmetro de inicializacin cuando los agentes fueron lanzados.

    En las aplicaciones ARPI, el actual Servidor de nombres de Dominio (DNSDomain name Servers), de Internet, es una muy simple y robusta tcnica para mapear

    nombres simblicos a direcciones IP de Internet. Tcnicas similares pueden ser usadas

  • 7/24/2019 Dialnet-IncorporacionDeAgentesInteligentesEnAmbientesDeApr-4794494.pdf

    10/16

    para mapear nombres simblicos de agentes en referencias que pueden ser usadas paracontactar un agente determinado.

    8. Implementacin.

    Ahora desde una perspectiva prctica, estamos implementando totalmente enJava una propuesta de interfaz para proyectos colaborativos, utilizando caractersticasnuevas como RMI, JDBC y programacin multihilos. Ser una herramienta de softwaredistribuida que servir como apoyo a la interfaz grfica La PachaMama por lo que el

    pblico objetivo son profesores y estudiantes tanto de primaria como de secundaria,interesados en proyectos de apoyo tecnolgico. Asimismo se propone una intervencin

    por parte del pblico externo permitiendo el acceso de diferentes tipos de personas queapoyen y complementen el proceso educativo, enfocado primordialmente a laconstruccin a partir del Alumno con el apoyo activo del Maestro.

    Ambos, Maestros y estudiantes, son vitales para el desarrollo y los logrosptimos de esta interfaz, ambos deben participar ya que cada da se les brindan medios ymtodos ms eficaces que enriquecen el proceso de la Educacin. Adems esimportante que este tipo de procesos se implementen dentro de las institucioneseducativas.

    La interfaz comienza con una entrada que define los Proyectos Colaborativosque posteriormente ubica al usuario dentro de un ambiente de trabajo motivador, dondeencuentra un panel de control con herramientas basadas en el concepto de TrabajoColaborativo. La interfaz puede observarse en la figura 5:

    Figura 5.

    Las herramientas se dividen en varios tipos, dependiendo del papel que cumplecada una dentro de la interfaz:

    Herramientas de tipo administrativo:

  • 7/24/2019 Dialnet-IncorporacionDeAgentesInteligentesEnAmbientesDeApr-4794494.pdf

    11/16

    Estas herramientas cumplen la funcin de controlar y ayudar al usuario dentro del

    proceso.

    Agenda

    Aqu se presentarn diferentes tipos de formatos para las actividades arealizar, concretar y definir dentro de cada proyecto que se tratar, fechas, tiemposy quin convoca las conferencias o encuentros y como se puede o debe trabajar.

    CronogramaEl manejo de cronograma se podr dar de manera individual o grupal,

    dependiendo de cmo se est desarrollando la actividad, por medio de un formatoque permitir almacenar datos de la organizacin y el manejo de tiempos por partedel usuario(s), lo que le permitir tanto al Alumno como al Maestro llevar unorden y seguimiento de todo el proceso.

    Lista de actividadesEs una ayuda que le permitir al usuario ver el orden de herramientas que

    ha utilizado durante la actividad, para navegar entre ellas sin perder lainformacin en cada una y permitir que el trabajo no se base nicamente en el usode una herramienta, pues la propuesta es aprender a integrarlas.

    SeguridadAqu el Maestro o el Administrador del sistema encontrar un formato por

    medio del cual podr definir los usuarios y los grupos que van a trabajar dentro dela actividad, clasificar a los usuarios dentro de los diferentes grupos y definir quherramientas podrn utilizar.

    AyudaEsta le explicar al usuario de manera grfica y por medio de ejemplos el

    manejo de cada una de las herramientas.

    AdministradorEs el espacio donde los Maestros se podrn encontrar y ver el trabajo

    realizado por los Alumnos, y complementar la informacin.

    Herramientas de identificacin

    Aqu se ubica al usuario dentro del contexto de usuarios del mundo y semuestra l mismo hacia el mundo, estas herramientas son :

    Tarjeta de identificacinAqu se presentar un formulario con informacin concreta que deber ser

    rellenado cuando comience la actividad ; los datos necesarios son el nombre delusuario, su direccin de correo electrnico, su clave para ingresar posteriormentea su pgina y el trabajo colaborativo que va a realizar. Esta herramienta seconectar inmediatamente con el mapa y a la vez con la seguridad, la cualdetermina las herramientas. Esta tarjeta permite que las dems personas puedanidentificarlo y realizar una comunicacin ms amena, familiar y directa con l,

    etc.

  • 7/24/2019 Dialnet-IncorporacionDeAgentesInteligentesEnAmbientesDeApr-4794494.pdf

    12/16

    Mapaste identifica al usuario en el mundo, y nos muestra la ubicacin de

    quienes estn conectados. Al seleccionar un usuario, me da la informacinnecesaria anteriormente descrita en la tarjeta de identificacin, y el usuario puedetomar la decisin de conectarse o no con quien lo considere necesario.

    Herramientas de ComunicacinSon estas las que permiten desarrollar ampliamente la tarea dentro del

    tablero compartido. Estas son :

    Texto y GraficadorComo su nombre lo indica permiten hacer textos y grficos. Si el usuario

    lo considera importante, en esta interfaz se podr trabajar con otros usuariossimultneamente.

    ChatEsta herramienta permite una comunicacin por medio de textos en un

    cuarto dentro del tablero de manera compartida entre dos o mas usuarios.

    Vdeo ConferenciaAqu se permite enviar o trabajar sobre videos, pudindose ver en

    diferentes partes de manera simultnea.

    Correo electrnicoEs una forma de comunicacin Asincrnica que permite trabajar en

    diferentes tiempos, pero que potencializa y fomenta la investigacin.

    Herramientas para actividadesEstas herramientas permiten potenciar los procesos que se trabajan dentro

    de la institucin y la familia, ellas llevan un formato flexible en el cual se puedetrabajar de una manera dinmica y constructiva adems de ser es donde sealmacena toda la informacin pedaggica de contenidos para las actividades.

    Diario de ProcesosAqu es donde se encuentran inscritas las Unidades de Aprendizaje

    Integrado y las diferentes pginas de trabajos colaborativos propuestos desde el

    Proyecto Conexiones.Actividades

    Aqu se encuentran actividades propuestas como el Peridico electrnicodesde donde se puede ver y a la vez actualizarlo, Carreras de observacin dentrodel web, etc.

    EvaluacinEn este espacio, tanto Maestros como Alumnos podrn realizar una

    actividad conjunta de evaluacin tanto de ellos mismos, de la clase y de losproyectos que realizan.

    Nuevo / Juegos

  • 7/24/2019 Dialnet-IncorporacionDeAgentesInteligentesEnAmbientesDeApr-4794494.pdf

    13/16

    Es aqu donde los estudiantes y Maestros proponen nuevas alternativas ymetodologas gracias a la inquietud generada dentro del proceso de aprendizaje.Tambin encontrarn enlaces con proyectos colaborativos Internacionales.

    Asimismo se proponen juegos Colaborativos que fomentan la

    comunicacin y las relaciones que permiten un crecimiento en valores.

    Tablero compartidoEs el punto fundamental de la propuesta ya que es aqu donde convergen

    todas las herramientas ya sean de uso libre o por medio de formatos. Es dnde elusuario interacta y se ayuda a formar como ser social e integral. En este tableroiremos aadiendo nuevos componentes, conforme se vayan desarrollando, como

    por ejemplo: el graficador y el chat que ya se encuentran en etapa de evaluacin(Fig 6). En l varios usuarios tienen la posibilidad de graficar simultneamentesobre la misma rea de trabajo e incluso conversar va chat acerca del dibujo queestn realizando. Cuando algn usuario en alguna institucin asociada al

    proyecto Conexiones haga una raya, un circulo o un rectngulo, dichainformacin ser capturada por un agente y enviada al servidor, donde el agentefacilitador la recibir y almacenar. Cada cierto tiempo los agentes en lasmquinas clientes pedirn al agente facilitador que les enve la informacin msactualizada de los dibujos y mensajes que han realizado los dems usuarios,como puede observarse en la figura 6, el resultado es que todos los usuarioscomparten la misma vista y pueden trabajar simultaneamente en busca de lograrlos objetivos del proyecto colaborativo.

    Como hemos mencionado ya han sido implementados agentes de software, quese comunican a travs de Internet, facilitando a su vez la comunicacin entre los

    diferentes usuarios, que usan dicho tablero Es as como se tiene una infraestructurabsica en la cual los agentes se registran con un agente facilitator situado en el servidordel Proyecto Conexiones usando un nombre y una clave, y a travs de ste se conectan ydesconectan de Internet, envan y reciben mensajes, transfieren archivos, e invocanotros programas que estn corriendo en otros computadores. Ha sido desarrolladototalmente en Java para que pueda ejecutarse en plataformas heterogneas y hacer usode applets livianos como agentes temporales, solucionando as el problema de espacioen las instituciones educativas.

    Figura 6.

    Todos los agentes envan y reciben mensajes va el agente facilitador, el cual los

    redirecciona a sus destinatarios. Cuando un agente intencionalmente se desconecta, oaccidentalmente se bloquea, el facilitador contina almacenando los mensajes que

  • 7/24/2019 Dialnet-IncorporacionDeAgentesInteligentesEnAmbientesDeApr-4794494.pdf

    14/16

    llegan hasta que el agente se reconecta. Es decir, almacena todos los mensajes, tal comoun servidor de email. As los mensajes no se pierden debido a problemas temporales dela red. Esto tambin permite a los agentes individuales desconectarse de la red yretornar por sus mensajes en un tiempo futuro. El facilitador es particularmenteimportante para agentes applets, los cuales pueden nicamente iniciar conexiones va

    socket con el host del cual se baj, debido a las restricciones de seguridad de Java.Hay un resultado muy importante que se obtiene al utilizar RMI y es el hecho de

    que el agente facilitador permitir a los agentes de Java intercambiar mensajes concualquier otro agente registrado en Internet, haciendo una nica conexin con elagente facilitador, el cual redirecciona los mensajes sin que el emisor tenga o conozca ladireccin del agente receptor y sin hacer una conexin socket separada, como es usualen las implementaciones actualmente conocidas.

    Los agentes todava no cuentan con capacidades especficas. Slo las necesariaspara comunicarse e interactuar, sin embargo, ya que se ha utilizado una nueva

    caracterstica de Java, llamada RMI, creemos tener una base robusta para investigar yconstruir tales agentes inteligentes. En particular, se estn desarrollando "agentesinteligentes" que busquen informacin. Dichos agentes de informacin tendrn

    potencialmente acceso a muchas fuentes de informacin y sern capaces de confrontary manipular informacin de esas fuentes para responder a consultas hechas por elusuario o por otros agentes de informacin inteligentes. Las fuentes de informacin

    pueden ser de muchos tipos, por ejemplo, bases de datos tradicionales. El agente podrser enviado a investigar, y, despus de una cuidadosa bsqueda en varios sitios FTP,retorna con un informe tcnico apropiado, con los detalles de los contactos involucradosen la investigacin. Adems se est investigando la manera de proveer la infraestructuraque permita a los agentes moverse de una mquina a otra.

    JDBC permite que desde aplicaciones o Applets de Java, se puedan establecerconexiones a Bases de Datos, en combinacin con RMI (Fig 7). Podramos tener una

    base de datos en el servidor del proyecto Conexiones, a la cual desde cualquierinstitucin, los nios podran ejecutar consultas y actualizaciones, sin necesidad de teneren dichas instituciones ningn manejador de Bases de Datos instalado. Laimplementacin realizada hasta el momento, consiste de una sencilla base de datos quealmacena los nombres, identificacin y claves de los usuarios autorizados para utilizarla interfaz de proyectos colaborativos. Dicha base de datos reside en el servidor delProyecto, entonces al iniciar cada aplicacin cliente, sta le solicita al usuario laidentificacin y la clave tras conectarse al servidor de Conexiones, le enva dichos

    valores al servidor para que sea ste quien verifique que el usuario existe y que la clavees la correcta.

  • 7/24/2019 Dialnet-IncorporacionDeAgentesInteligentesEnAmbientesDeApr-4794494.pdf

    15/16

    Figura 7.

    RMI (Fig 8) provee una solucin elegante para que los objetos residentes endiferentes mquinas se comuniquen, brindando las facilidades necesarias para un ampliorango de aplicaciones distribuidas. Su principal objetivo es hacer que el proceso deinvocacin de mtodos de objetos remotos sea tan similar como sea posible a lainvocacin de mtodos de objetos locales, permitiendo a los objetos en una maquinavirtual Java llamar a mtodos que residen en otra maquina virtual, realizando muy pocoscambios en el cdigo local y en el remoto. La principal diferencia desde la perspectivadel usuario es la necesidad de manejar las excepciones adicionales que pueden sergeneradas por un objeto remoto, principalmente las relacionadas con la comunicacin.

    RMI puede ser visualizado como una arquitectura de tres capas, donde cada capaprovee servicios a las capas anteriores.

    Cuando un cliente invoca un mtodo remoto, la llamada fluye hacia abajo atravs de las capas, siendo transformada a medida que esto sucede, hasta crear un flujo

    de datos que fluye a travs del transporte, hasta llegar al servidor. All es entoncesreconstruido mientras sube a travs de las capas, emergiendo como una llamada a unmtodo local. Los resultados realizan el proceso inverso y finalmente el control esdevuelto al cdigo en el cliente que realiz la llamada.

    Figura 8.RMI emplea un buen nmero de mecanismos y tcnicas muy interesantes para

    implementar Objetos Distribuidos, una de ellas bien vale la pena mencionarla y esconocida como Carga Dinmica de clases: RMI toma ventaja del Bytecode de Java para

    bajar el cdigo que necesite desde el servidor, pudiendo inclusive obtener el cdigocompleto del cliente; esto se logra mediante el RMIClassLoader y un manejador deseguridad RMISecurityManager, para asegurar que las clases se bajan nicamente, si noestn disponibles localmente, y que son obtenidas de una fuente confiable. Esta tcnicanos permitir en un futuro, que si un nio dibuja una esfera, y en su mquina no existeningn cdigo capaz de hacer rotacin de objetos, podr encontrar y obtener dichocdigo, desde cualquier nodo de la red que este participando en el proyecto, bajarlo,instanciarlo y ejecutarlo, todo esto de una manera transparente para el usuario.

    9. Conclusiones.

    En el pasado, la computacin distribuida era de inters solo para un pequeonmero de programadores, muchos de los cuales trabajaban para grandes compaas con

  • 7/24/2019 Dialnet-IncorporacionDeAgentesInteligentesEnAmbientesDeApr-4794494.pdf

    16/16

    grandes redes. Con la disminucin del costo de las conexiones a Internet, loscomputadores personales tienen acceso a grandes recursos. Es as como los recursostecnolgicos en la escuela han cambiado y evolucionado, lo que necesariamente deberallevar a los cambios en la forma de estructurar el aprendizaje de los alumnos. Estamosconscientes que en nuestros alumnos es necesario fomentar la creatividad, la

    responsabilidad individual, el trabajo colaborativo, la capacidad crtica, etc.La metodologa por proyectos es una estrategia de aprendizaje que permite la

    estructuracin del aprendizaje en torno a actividades relevantes para los alumnos y queengloben diferentes tipos de objetivos y contenidos, estimulando aspectos cognitivos,motrices, ticos y afectivos. Las nuevas tendencias tecnolgicas como Java concaractersticas tales como RMI y JDBC, son un catalizador para que se desarrollen en

    poco tiempo y a bajo costo una nueva generacin de software distribuido que apoye losobjetivos del trabajo colaborativo acortando tanto las distancias geogrficas comotecnolgicas al permitir la vivencia y la interaccin entre alumnos de diferentesregiones o pases.

    10. Requerimientos.

    La interfaz para proyectos colaborativos puede correr en cualquier plataformaque soporte el Java development kit JDK1.1 de Sun Microsystems Inc., incluyendoWindows95, WindowsNT, Solaris, Mac OS8. Visualizadores tales como Netscape ,Internet Explorer, o el applet viewer de SUN pueden ser utilizados. Se asume que todaslas comunicaciones son a travs de TCP/IP.

    11. Bibliografa.

    Software Agents, Editado por Jeffrey Bradshaw, Publicado por AAI Press/The MITPress, 500 pp.BRUSTOLONI, Jos C. Autonomous agents: characterization and requirements.

    Noviembre 1991. School of Computer Science. Carnigie Mellon University. Pittsburgh,PADowning, Bryan . RMI: Developing Distribute Java Applications With RemoteMethod Invocation and Object Serialization.Franklin, Stan (1997). Artificial Minds, MIT PRESS.Cassady-Dorion, Luke (1997). Industrial Strength Java. Capitulo 12, DistributedComputing with Java.Galvis, Alvaro. Ingeniera de Software Educativo. Universidad de los Andes.

    http://www.cs.umbc.edu.agentshttp://ai.eecs.umich.edu/cogarch0/