Lenguaje SARL


El lenguaje de programación SARL es un lenguaje de programación modular orientado a agentes . Su objetivo es proporcionar las abstracciones fundamentales para lidiar con la concurrencia, la distribución, la interacción, la descentralización, la reactividad, la autonomía y la reconfiguración dinámica. [1]

SARL es independiente de la plataforma y de la arquitectura del agente. Proporciona un conjunto de abstracciones de primera clase orientadas a agentes directamente en el nivel del lenguaje (consulte la sección sobre los conceptos ). No obstante, admite la integración y el mapeo de conceptos proporcionados por otros metamodelos orientados a agentes. La propia SARL explota este mecanismo de extensión para definir sus propias extensiones (organizativas, impulsadas por eventos, etc.).

Una característica importante del lenguaje de programación SARL es su soporte nativo para "sistemas holónicos de agentes múltiples" y "agentes recursivos" (también llamados " holones ").

El metamodelo de SARL se basa en cuatro conceptos principales: Agente, Capacidad, Espacio y Habilidad. [1] El metamodelo central de SARL se presenta en la Figura 1, y los conceptos principales están coloreados en azul claro. Cada uno de ellos se detalla en las siguientes secciones, así como el código SARL correspondiente para ilustrar su uso práctico.

En SARL, un Sistema Multiagente (MAS) es una colección de Agentes que interactúan juntos en Espacios distribuidos compartidos. Cada agente tiene una colección de Capacidades que describen lo que es capaz de realizar, sus competencias personales. [2] [3] Cada Capacidad puede ser realizada / implementada por varias Habilidades. Para comprender la relación entre los conceptos de Capacidad y Habilidad, se puede trazar un paralelo con los conceptos de Interfaz y sus clases de implementación en lenguajes orientados a objetos. Para implementar arquitecturas específicas (como BDI , razonamiento, reactivo, híbrido, etc.), los desarrolladores deben desarrollar sus propias capacidades y habilidades proporcionando a los agentes nuevas características explotables.

A pesar de su carácter abierto, SARL impone unos principios fundamentales a ser respetados por las distintas Máquinas Virtuales (VM) que quieran apoyarlo. En primer lugar, la implementación de Space debe estar completamente distribuida y la capa de ejecución debe abstraerse de los agentes. SARL fomenta una ejecución masivamente paralela de agentes y comportamientos. SARL es totalmente interoperable con Java para reutilizar fácilmente todas las contribuciones proporcionadas por la comunidad Java, pero también para facilitar la integración y evolución de los sistemas heredados. Uno de los principios clave que rigen el SARL consiste en no imponer una forma predefinida para que los Agentes interactúen dentro de un Espacio. Asimismo, la forma de identificar a los agentes depende del tipo de Espacio considerado. Esto permite definir diferentes tipos de mecanismos y modelos de interacción en Espacios.