El lenguaje de especificación

El método de desarrollo de SMA propuesto en INGENIAS concibe el SMA como la representación computacional de un conjunto de modelos. Cada uno de estos modelos muestra una visión parcial del SMA: 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 facilitar la representación computacional de los modelos, en este trabajo se asume que la implementación final se realiza parametrizando un armazón software.

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 se describen en este capítulo son una evolución del trabajo realizado en MESSAGE [Caire et al. 02]. En MESSAGE se propusieron meta-modelos para representar agentes, organizaciones, el dominio, interacciones, tareas y objetivos. Como se señaló en la sección anterior, el trabajo de MESSAGE es mejorable en cuatro aspectos: la integración de los meta-modelos con las prácticas de ingeniería, un mayor nivel de detalle en los meta-modelos, una mayor cohesión entre los meta-modelos y representación del entorno del sistema.

Para lograr estas mejoras, ha sido necesario rediseñar todos los meta-modelos para resaltar aspectos comunes entre los diferentes aspectos modelados, incluir el nivel de detalle requerido en la etapa de diseño del sistema y probar los resultados en casos de estudio para determinar cómo debía ser la integración con un proceso de desarrollo. Como ya se mencionó en el prólogo, se ha eliminado el meta-modelo del dominio en favor de un meta-modelo de entorno. El resultado son cinco meta-modelos que giran alrededor de dos entidades la organización y el agente (Ilustración 1). El motivo de este cambio es que, según la experiencia de MESSAGE, la información proporcionada por la vista del meta-modelo del dominio podía ser expresada dentro de otros sin perjuicio aparente. Sin embargo, no era posible expresar cuál era la naturaleza del entorno ni cómo se interactuaba con él.



Ilustración 1. Relaciones entre los diferentes meta-modelos y las dos entidades principales, la organización y el agente.



Los meta-modelos se presentan de forma separada:



Conclusiones

Los meta-modelos presentados sirven como guía para construir modelos durante el desarrollo de un SMA. Por eso los meta-modelos deben comprender toda la información que a tener en cuenta en para especificar un SMA, aunque manteniendo abiertas distintas estrategias de llevar el desarrollo. Es decisión del desarrollador decidir en qué orden se generan los modelos y con qué nivel de detalle. A este respecto, no existe ninguna restricción. De hecho, como se verá en el siguiente capítulo, se espera un desarrollo en paralelo de cada modelo teniendo en cuenta los criterios de integración presentados en cada meta-modelo

Los meta-modelos presentados incluyen resultados de la investigación en tecnología de agentes y áreas relacionadas. En cada uno se ha revisado brevemente qué parcelas de investigación habría que tener en cuenta y cómo influyen éstas en cada meta-modelo. También se han considerado aspectos de consistencia de cada meta-modelo con respecto a otros meta-modelos.

En la aplicación de los meta-modelos a los ejemplos y el caso de estudio final, se ha utilizado una herramienta de meta-modelado (METAEDIT +) en la que se han introducido los meta-modelos vistos a lo largo de este capítulo para poder probar la efectividad de las soluciones propuestas. Esta herramienta, además, asegura que los meta-modelos son seguidos con rigor.

Frente a otras metodologías, la novedad de la propuesta es que se considera el desarrollo de SMA en problemas pequeños que no impliquen un coste elevado y en problemas de naturaleza industrial donde sea necesario aplicar técnicas de ingeniería para abordarlos. El uso de los meta-modelos se ha ilustrado con ejemplos relacionados con temas de investigación actuales, como la planificación de tareas, filtrado colaborativo de información y diseño de agentes de interfaz. En el capítulo cuarto se mostrará un caso de estudio donde la aplicación de los meta-modelos se hace de acuerdo con las prácticas convencionales de ingeniería, más cercanas a la realidad industrial.