• No se han encontrado resultados

METODOLOGIA PARA LA CONSTRUCCIÓN DEL SISTEMA MULTIAGENTE

5. ARQUITECTURA DEL SISTEMA

5.2. METODOLOGIA PARA LA CONSTRUCCIÓN DEL SISTEMA MULTIAGENTE

La arquitectura considera la metodología INGENIAS [122] la cual concibe el sistema multi-agente como la representación computacional de un conjunto de modelos. Cada uno de estos modelos muestra una visión parcial del sistema: los agentes que lo componen, las interacciones que existen entre ellos, cómo se organizan para proporcionar la funcionalidad del sistema, qué información es relevante en el dominio y cómo es el entorno en el que se ubica el sistema a desarrollar.

Para especificar cómo tienen que ser estos modelos se definen meta-modelos. Un meta-modelo es una representación de los tipos de entidades que pueden existir en un modelo, sus relaciones y restricciones de aplicación. Los meta-modelos que describe INGENIAS son: agente, organización, dominio, tareas-objetivos, e interacciones. La figura 16 presenta los modelos de MAS en INGENIAS.

Un meta-modelo define las primitivas y las propiedades sintácticas y semánticas de un modelo. A diferencia de otros enfoques más formales, los meta-modelos están orientados a la generación de representaciones visuales de aspectos concretos del sistema de forma incremental y flexible. Los modelos crecen incorporando más detalle gracias a que no es necesario que se instancien absolutamente todos los elementos del meta-modelo para tener un modelo. Como ha demostrado el lenguaje de modelado unificado (UML) [123] construido también con meta-modelos, este tipo de notación facilita enormemente el desarrollo de sistemas.

Figura 16. Modelos de Sistemas Multi-agente en INGENIAS

Modelo de la Organización: Define cómo se agrupan los agentes, la funcionalidad del sistema y qué restricciones hay que imponer sobre el comportamiento de los agentes. El modelo de organización es el equivalente a la arquitectura del sistema en un MAS. El valor principal de un modelo de organización, como ocurre en las organizaciones humanas, son los flujos de trabajo que define. Del estudio de estos flujos surgen nuevas interacciones que reflejan con detalle cómo se coordinan los participantes del flujo. El modelo de organización también contribuye al modelo de tareas y objetivos identificando las tareas relevantes para la organización así como los objetivos que se persiguen globalmente. También define restricciones en el comportamiento de los agentes mediante relaciones como la de subordinación. Gracias a estas restricciones, el diseñador asegura que unos agentes obedecerán a otros o que se comprometerán a la ejecución bajo demanda de tareas respetando sus prioridades.

Modelo de Objetivos/Tareas: Se usa para asociar el estado mental del agente con las tareas que ejecuta. El meta-modelo de objetivos y tareas tiene como propósito recoger las motivaciones del SMA, definir las acciones identificadas en los modelos de organización, interacciones o de agentes y cómo afectan estas acciones a sus responsables. Esta información constituye parte de la especificación de cómo se quiere que sea el control del agente a alto nivel.

Modelo de Agente: El meta-modelo de agente describe agentes particulares y los estados mentales en que se encontrarán a lo largo de su vida. El meta-modelo de agente se usa para describir agentes particulares excluyendo las interacciones con

otros agentes. Este meta-modelo se centra en la funcionalidad del agente y en el diseño de su control. En este sentido, proporciona información acerca de los siguientes aspectos:

Responsabilidades. Se trata de las tareas que sabe ejecutar y de los objetivos que

se compromete a alcanzar. Generalmente se alude al término rol para agrupar la funcionalidad y las propiedades que aparecen con frecuencia en el diseño. Aunque es similar al concepto interfaz de la programación orientada a objetos, el rol se diferencia principalmente en que se le puede asociar estado. En este caso, es de interés el conjunto de estados mentales asociados a un rol que participa en una interacción.

Comportamiento. Existen diversas formas de expresar el comportamiento del

agente. En las metodologías existentes, el comportamiento se entiende como un conjunto de llamadas a procedimiento (UML), paso de mensajes entre agentes o transiciones en máquinas de estado. La tónica general es definir el comportamiento de los agentes en las interacciones, pero no es el único modo. En este trabajo se habla del control del agente, esto es, mediante qué mecanismos se va a asegurar la ejecución de tareas dentro de los parámetros acordados. Este control toma como entrada un conjunto de datos que se denominará estado mental. Además, se considerará el estado mental como algo dinámico que evoluciona con el tiempo. Esta idea es necesaria para poder incluir el aprendizaje entre las capacidades del agente.

Modelo de Interacciones: En este modelo se detalla el proceso de coordinación y comunicación entre los agentes. Las interacciones determinan el comportamiento de los agentes mostrando cuál es su reacción cuando actúan sobre ellos. Y cómo el comportamiento va a ser función de las objetivos de los agentes y las tareas a ejecutar, se puede concluir que existe un importante vínculo entre interacciones, objetivos y tareas.

Modelo del Entorno:Define qué existe alrededor del nuevo sistema y cómo lo percibe cada agente.

5.2.1. Integración de INGENIAS con el proceso unificado (Rational Unified Process – RUP)

En el RUP [124], el esfuerzo del análisis y diseño se encuentra localizado en tres fases: inicio, elaboración y construcción. Dentro de cada fase se desarrollan las iteraciones (ciclos completos de desarrollo incluyendo análisis, diseño, implementación y pruebas) que construyen gradualmente el sistema.

La generación de modelos a partir de meta-modelos se guía por el conjunto de actividades que no sustituyen las indicadas por el RUP, sino que se integran en el paradigma como complemento de los elementos de especificación ya existentes. De

hecho, en las actividades de generación se mencionan técnicas convencionales

refiriéndose a la utilización de notaciones como UML y modelos de desarrollo como RUP para atacar el diseño de elementos concretos. Para orientar la integración, se plantean una serie de asociaciones entre elementos del RUP y elementos de los meta- modelos (ver Tabla 1).

ENTIDAD MAS (ITS-CBR) Entidad RUP

Agente Clase

Organización Arquitectura

Interacción Escenario

Roles, tareas y flujos de trabajo Funcionalidad

Tabla 1. Asociaciones entre los elementos del RUP y entidades del ITS

El agente, como la clase, define tipos. Lo que aquí se ha denominado agente en ejecución sería un objeto en el RUP. La organización equivale a la arquitectura en el

RUP por su carácter estructurador. La organización da una visión global del sistema

agrupando agentes, roles, recursos y aplicaciones y estableciendo su participación en los flujos de trabajo del MAS. El grupo es la unidad de estructuración utilizada en la

organización. Su similitud con un subsistema se debe a que como éste, se utiliza para

organizar elementos en unidades de abstracción mayores y define un conjunto de interfazs para interaccionar, los roles en este caso. La interacción, se ve como una

generalización de los diagramas de colaboración y secuencia. En el RUP, los

diagramas de secuencia y colaboración se ven como escenarios que describen cada

caso de uso. Por último, roles, tareas y los flujos de trabajo proporcionan el

6. PROTOTIPO DE SISTEMA TUTOR INTELIGENTE PARA