CRITERIO DE MOVILIDAD PARA AGENTES SOFTWARE EN UNA ARQUITECTURA HÍBRIDA DE CONTROL DE ROBOTS MÓVILES
"Universidad Politécnica de Valencia, Camino de vera s/n"
RESUMEN.
En este resumen se presenta un criterio de movilidad para agentes software móviles que constituyen los componentes de una arquitectura híbrida para el control de robots móviles.
Introducción.
Los sistemas multiagentes MAS, caracterizados por la modularidad y ejecución independiente de los agentes, resultan adecuados para la especificación e implementación de arquitecturas híbridas para el control de robots móviles. Pueden establecerse relaciones entre los agentes software, elementos principales de los MAS, y los agentes físicos propios de arquitecturas para robots. De hecho, se observa claramente un implicación directa de las características de los paradigmas existentes en robótica móvil con las características de los agentes móviles. Esto es debido a la autonomía que caracteriza a estos agentes y permite estudiarlos como si se tratara de verdaderos agentes físicos. En este sentido, existen implementaciones de sistemas donde se asocia cada agente físico o robot a un agente software formando una sola entidad, de manera que el agente software proporciona la inteligencia y el robot la capacidad de interacción con el entorno real. Sin embargo, se puede realizar una abstracción mayor donde varios agentes móviles a través de la red pueden utilizar diferentes agentes físicos para la consecución de sus tareas como si se trataran de nuevos recursos disponibles en el entorno software distribuido. Desde este punto de vista, el diseño de una arquitectura general para la implementación de este tipo de sistemas, requiere de algún criterio que permita la movilidad, entre los nodos de la arquitectura, de los agentes software que además tendrán que poder acceder a la información distribuida de los sensores e indicar acciones a los actuadores. Si además se necesita reacción en tiempo real, como por ejemplo PARA PODER EVITAR OBSTÁCULOS, tendrán que coexistir diferentes tipos temporales, las cuales deberán contemplarse en el establecimiento de los criterios de movilidad.
AGENTES EN ARQUITECTURAS DE CONTROL DE ROBOTS MÓVILES.
Los agentes nos ofrecen en un amplio dominio de aplicaciones tanto la habilidad de resolver problemas que hasta entonces no habían podido resolverse, como la habilidad de resolver problemas de una forma significativamente mejor (costo, sencillez, eficiencia, rapidez) que la forma utilizada hasta el momento.
JUSTIFICACIÓN DEL USO DE AGENTES.
Existen una serie de características que cuando forman parte de la especificación de un sistema se suelen citar para justificar la adopción de una tecnología basada en agentes. Dichas características son:
SISTEMAS REACTIVOS.
Cuando el sistema es reactivo existiendo una continua interacción con el entorno. A este tipo de sistemas pertenecen los denominados sistemas complejos y los sistemas abiertos.
SISTEMAS COMPLEJOS.
Son sistemas donde, debido a su complejidad, la modularidad y la abstracción constituyen las herramientas mas adecuadas para el desarrollo natural de su diseño e implementación.
Los agentes representan una poderosa herramienta para realizar sistemas modulares. Un sistema basado en múltiples agentes facilita la tarea de descomponer un problema en un determinado numero de componentes mas pequeños y sencillos, los cuales son mas fáciles de desarrollar, especializados en resolver subpartes de dicho problema. Esta descomposición permite a cada agente utilizar la técnica mas apropiada para resolver su problema particular, en lugar de tener que adoptarse forzosamente una técnica global para todo el sistema que podría no ser la optima en la resolución de cada uno de los casos particulares. Desde este punto de vista, se aprecia la idoneidad del empleo de los agentes para la descomposición de subtareas de las tareas u objetivos asignados a un robot con arquitectura de control híbrida.
El concepto de agente también proporciona una útil abstracción del sistema. De forma que el programador puede concebir el sistema complejo como una sociedad cooperativa de elementos autónomos especializados en la resolución de problemas concretos y sencillos. Mediante la cooperación de estos elementos autónomos se abordan y se resuelven objetivos y problemas cada vez mas complejos. Las arquitecturas híbridas para el control de robots móviles suelen organizarse en independientes niveles formados por componentes independientes que tienen que cooperar entre ellos. En este sentido, los agentes también resultan idóneos para especificar e implementar dichos componentes.
SISTEMAS ABIERTOS.
Son sistemas cuya estructura cambia de forma dinámica. Se caracterizan porque los componentes que lo forman no son conocidos a priori, pueden cambiar a lo largo del tiempo y pueden ser heterogéneos. Las características de los sistemas abiertos se relacionan directamente con las arquitecturas híbridas para el control de robots móviles donde o hubiera que especificarse a priori ni todos los componentes software ni su ubicación física, si no que estos se adaptaran dinámicamente a un entorno también dinámico.
SISTEMAS DISTRIBUIDOS.
Cuando la información, el control o los recursos se encuentran distribuidos. En este caso, el uso de agentes permiten su distribución en función de la ubicación de los datos o recursos. Una arquitectura adecuada para el control de robots móviles debería ser híbrida acorde con la propia naturaleza distribuida de la información sensorial y comportamientos.
SISTEMAS INTEROPERATIVOS.
Cuando el sistema posee elementos que deben interactuar con otros elementos de otros sistemas. Los agentes pueden facilitar la interacción entre sistemas mediante el uso de lenguajes comunes de comunicación entre agentes. En una arquitectura híbrida multinivel tiene que existir una interacción entre los componentes de los distintos niveles que la forman.
EN TODOS ESTOS CASOS, LA UTILIZACIÓN DE AGENTES SUELE PROPORCIONAR UNA FORMA NATURAL DE MODELA EL SISTEMA E IMPLEMENTARLO, RESULTANDO POR LO TANTO, IDÓNEOS EN LA ESPECIFICACIÓN E IMPLEMENTACIÓN DE ARQUITECTURAS HÍBRIDAS PARA EL CONTROL DE ROBOT MÓVILES. LOS AGENTES CONSTITUIRÁN LOS COMPONENTES DE TALES ARQUITECTURAS Y DEPENDIENDO DE LA FUNCIÓN A REALIZAR O UBICACIÓN DE LA ARQUITECTURA (NIVEL) TENDRÁN QUE POSEER DETERMINADAS CARACTERÍSTICAS. DICHAS CARACTERÍSTICAS PERMITEN REALIZAR UNA CLASIFICACIÓN DE LOS DISTINTOS TIPOS DE AGENTES EXISTENTES.
CLASIFICACIÓN DE LOS AGENTES.
Los agentes se pueden clasificar atendiendo a diversos factores.
Según su MOVILIDAD.
ESTÁTICOS: Permanecen donde son creados.
MÓVILES: pueden moverse a través de la red.
Según su forma de actuar.:
DELIBERATIVOS: derivan del paradigma de pensamiento deliberativo. Los agentes procesan un modelo de razonamiento simbólico interno que les permite planificar sus actuaciones y negociar con otros agentes para alcanzar sus objetivos.
REACTIVOS: tienen su origen en las investigaciones llevadas a cabo por Brooks 1986 y Agre y Chapman 1987 . Estos agentes no tienen ningún modelo simbólico interno de razonamiento, sin o que actúan según el modelo de comportamiento estimulo-respuesta.
En general un agente puede clasificarse por la característica que mas destaque e influya en su comportamiento e implementación.
AGENTES MÓVILES.
Los agentes móviles son objetos móviles con autonomía flexible que pueden tomar decisiones en cuanto a su movilidad (donde y cuando viajar, etc.)
En base al modelo de movimiento empleado, pueden distinguirse dos tipos de agentes móviles:
1) AGENTES CON SOLO MOVIMIENTO DE CÓDIGO: en el transporte de los agentes móviles solo se realiza el transporte del código necesario para su ejecución en otro lugar, no se transportan los datos correspondientes al contexto o estado de ejecución.
2) AGENTES CON MOVIMIENTO DE CÓDIGO Y CONTEXTO DE EJECUCIÓN: En este caso puede interrumpirse la ejecución de un agente en un punto concreto y proseguir, tras realizarse el movimiento a otro ordenador, con la ejecución de dicho objeto desde el punto en el que se interrumpió.
El agente móvil también se diferencian por el modelo de comunicación utilizado para interactuar entre ellos:
1) Agentes con solo comunicación local. Para que un agente se comunique con otro agente en otra maquina tiene que viajar a esa maquina.
2) Agentes con comunicación por red. No es necesario que un agente se desplace al lugar donde se encuentra el agente con el que tiene que comunicarse. En este caso el transporte de un agente implica, además del movimiento de código y contexto, el movimiento de las conexiones.
VENTAJAS DE LOS AGENTES MÓVILES.
Algunas de las ventajas que pueden obtenerse con los sistemas de agentes móviles se describen a continuación.
Reducir la carga de la red. Permiten que los agentes se comuniquen en el mismo nodo y no a través de la red, reduciendo se esta forma las transferencias de datos por la red. También, cuando hay que procesar una gran cantidad de información ubicada en nodos remotos, puede transferirse el código necesario allí donde se encuentran los datos y procesar de forma local. La idea es mover el código en lugar de los datos si estos ocupan un mayor volumen.
Vencer la latencia de la red. Sistemas de tiempo real estricto, tales como robots, necesitan responder cambios en su entorno en un tiempo determinado. Realizar un control de los robots a través de la red puede no ser aceptable por las latencias introducidas por esta. Los sistemas móviles ofrecen una solución al permitir la transmisión al robot, desde un nodo central, del código necesario para controlarlo de forma local.
Adaptación dinámica al entorno. Los agentes móviles pueden percibir su entorno de ejecución y reaccionar autónomamente a cambios. De esta forma, múltiples agentes móviles tienen la habilidad de distribuirse a través de los nodos de la red manteniendo siempre la configuración optima para la resolución de un determinado problema. Cada agente puede moverse al nodo donde las condiciones del entorno le sean mas favorables para su ejecución.
Estas características son adecuadas en una arquitectura híbrida cuyos componentes puedan, por un lado, incorporarse al sistema de forma dinámica y, por otro lado, moverse a través de los diferentes nodos con el objetivo de acceder a la información del sistema reduciendo el coste temporal de las comunicaciones. Además , el uso de agentes móviles permiten emplear técnicas de delegación de código para controlar los robots mediante el envió, en primer lugar, del código necesario a los nodos distribuidos y, posteriormente, la ejecución del mismo de forma local, evitando así los problemas de latencia de la red en el ejecución del código de control, y pudiéndose acotar su tiempo de ejecución para el estudio y cumplimiento de las restricciones temporales del sistema.