Hacia un ADL para diseñar sistemas basados en agentes

Anuncio
Hacia un ADL para diseñar sistemas basados en
agentes
Marie -Pierre Gervais (*+) and Florin Muscutariu(*)
*Laboratoire d’Informatique de Paris 6, 8 rue du Capitaine Scott-F 75015 Paris
+University Paris 10
Resumen
En este artículo, se describe el Architecture Description Lenguaje (ADL) definido para
el diseño de sistemas basados en agentes. Se busca llenar el vacío entre las etapas de
análisis y diseño de las metodologías orientadas a agentes. La etapa de análisis permite
hacer una descripción de la arquitectura del software sin ninguna consideración del
ambiente de ejecución mientras que la etapa de diseño suplementa la salida del análisis
con descripciones acerca del ambiente distribuido en el que los agentes se pondrán en
funcionamiento. El ambiente distribuido que se considera aquí es una plataforma de
agentes móviles acomodable a OMG MASIF. Esta aproximación provee un perfil
concerniente a los aspectos de distribución relacionados al ambiente de ejecución para
los diseñadores de sistemas basados en agentes. Este trabajo es una parte del proyecto
ODAC que maneja el desarrollo de una metodología para la creación de sistemas
orientados a agentes. Esta basado en los estándares ISO Open Distributed Processing
que definen una estructura arquitectural para la construcción de sistemas distribuidos.
Introducción
Un Sistema Multiagentes es comúnmente considerado un sistema distribuido en el cual
las entidades son agentes. Esta característica requiere que los agentes sean desplegados
en un ambiente que soporte su ejecución. Construir un sistema basado en agentes debe
abarcar todos los pasos desde el análisis y diseño hasta la implementación del sistema.
El análisis se relaciona con el desarrollo de una solución detallada que no depende de la
elección de logros. Incluye la descripción de todos los procesos que componen la
operación del sistema, la definición de información y la especificación de tareas. El
propósito del diseño es conducir a la implementación del sistema y llevar a cabo
elecciones para hacer el modelo operacional para el logro del sistema. Se relaciona con
las especificaciones operacionales que se necesitan para asegurar el logro del sistema.
Incluye tener en cuenta los medios escogidos para la solución adoptada, particularmente
un ambiente objetivo que apoyará la ejecución del sistema.
De acuerdo a estas definiciones, se debe reconocer que la mayoría de las metodologías
se enfocan en la fase de análisis en el sentido de que definen la organización, la
arquitectura y la descripción de los elementos del sistema, particularmente los agentes y
sus relaciones. Esto corresponde a la definición funcional del sistema. Por otro lado,
otros trabajos manejan el desarrollo de plataformas para la ejecución de agentes, sea
siguiendo o no los estándares como MASIF o FIPA. Sin embargo no existe una
correlación entre la arquitectura resultante de la etapa de análisis y su mapeo al
ambiente operacional. Hay un punto de ruptura entre estos dos aspectos.
Aquí se apoya que la construcción de un sistema basado en agentes es un proceso que
debe tener en cuenta la definición del sistema tanto como la implementación del mismo
en un ambiente objetivo en el cual se pondrá en funcionamiento. Este proceso debe ser
logrado de acuerdo con una metodología orientada a agentes que abarque todos los
pasos incluyendo el análisis, diseño e implementación. La metodología debe reflejar la
especificidad de la tecnología de agentes. Una de las características que diferencia la
tecnología orientada a agentes de otras tecnologías de software es el requerimiento de
un protocolo par a par. La distribución de datos y control es una de las razones para que
se considere a los sistemas Multiagentes como una nueva dirección importante en la
ingeniería de software. El protocolo par a par y la distribución de datos y control
asumen la existencia de una infraestructura distribuida que provee mecanismos de
comunicación transparentes (Ej. Un servicio de nombramiento de agentes), o un
eventual soporte para movilidad.
Basándose en estas consideraciones, LIP6 inició un proyecto para desarrollar una
metodología, llamada ODAC (Open Distributed Applications Construction). Para ello
hace uso de un estándar ISO relacionado con el procesamiento distribuido que es el
Open Distributed Processing (ODP). Este define un conjunto de conceptos rigurosos
para modelar sistemas distribuidos. Hace uso del paradigma de objetos en una manera
general que hace posible manejar objetos ODP de la misma manera que si fueran
agentes. Por ejemplo, los objetos ODP son entidades autónomas capaces de actuar por si
mismas. En este enfoque un agente es un objeto ODP y los sistemas basados en agentes
son distribuidos en los términos de OPD, dado que obedecen en un contexto técnico y
organizacional. Estos sistemas consisten de entidades interactuantes, que pueden ser
agentes y/u objetos. El modelo de referencia de ODP (RM-ODP) puede ser útil cuando
se están construyendo sistemas orientados a agentes porque provee una infraestructura
arquitectural que abarca todos los aspectos necesarios, por ejemplo las descripciones
tanto técnica como funcional de del sistema mientras provee algunas reglas de
correspondencia entre ellos. ODP no provee sin embargo ninguna metodología
prescriptita que pueda ser utilizada en el desarrollo de un sistema. Tampoco da un
soporte para este desarrollo. Por ejemplo, define conceptos y reglas, pero no se
proponen notaciones ni formalismos para utilizar en forma concreta para la
especificación del sistema. En ODAC se propone el uso de una notación UML
estandarizada para especificar el sistema basado en agentes de acuerdo a la semántica de
ODP. Así, se está definiendo un Lenguaje de Descripción de Arquitectura (ADL) para
modelar el sistema en las fases de análisis y diseño.
En el artículo se hace énfasis en la fase de diseño de la metodología ODAC. Más
precisamente ilustra los requerimientos para llenar el vacío existente entre las fases de
análisis y diseño y para lograr que de esta fase de diseño se obtenga una descripción
operacional del sistema basado en agentes a ser implementado.
Esta aproximación define un perfil de UML para habilitar la descripción del ambiente
de ejecución distribuido y la ubicación de los agentes en este ambiente. Se enfoca en la
etapa de diseño de esta manera.
Descargar