Ayuda
Ir al contenido

Dialnet


Ejason: a framework for distributed and fault-tolerant multi-agent systems

  • Autores: Alvaro Fernández Díaz
  • Directores de la Tesis: Lars-Ake Fredlund (dir. tes.), Clara Benac Earle (codir. tes.)
  • Lectura: En la Universidad Politécnica de Madrid ( España ) en 2018
  • Idioma: español
  • Tribunal Calificador de la Tesis: Juan José Moreno Navarro (presid.), Susana Muñoz Hernández (secret.), Rafael Heitor Bordini (voc.), Javier Carbó Rubiera (voc.), Laura M. Castro (voc.)
  • Programa de doctorado: Programa de Doctorado en Software, Sistemas y Computación por la Universidad Politécnica de Madrid
  • Materias:
  • Enlaces
  • Resumen
    • La presente tesis doctoral se fundamenta en el aprovechamiento de las sinergias existentes entre el lenguaje de programación para sistemas de agentes Jason y el lenguaje de programación de propósito general Erlang. El “Entorno de Trabajo para el Desarrollo de Sistemas Multi-Agente Distribuidos y Tolerantes a Fallos” conocido como eJason, y que representa la contribución novedosa principal de este proyecto de tesis doctoral, realiza el máximo aprovechamiento de las mencionadas sinergias.

      El lenguaje de programación Jason incorpora en su sintaxis diversas abstracciones de alto nivel que permiten realizar un uso eficiente, por parte del programador, de los diferentes aspectos que caracterizan a los agentes software en general. De manera más específica, estas abstracciones facilitan el manejo de los componentes esenciales de la arquitectura software conocida como BDI (de sus siglas en inglés Beliefs, Desires, Intentions), es decir, del conjunto de creencias, deseos e intenciones de un agente. La semántica formal de Jason se encuentra disponible y ha sido ampliamente estudiada, lo que proporciona una descripción precisa del comportamiento esperado de los programas desarrollados con Jason. Sin embargo, Jason carece de soporte nativo para la distribución de los distintos agentes en diferentes computadores. Este lenguaje carece, además, de mecanismos nativos para la detección y resolución de aquellos fallos que, aún incapacitando a un único agente, afecten negativamente al conjunto del sistema.

      El lenguaje de programación Erlang proporciona un soporte excelente al desarrollo de software distribuido y altamente concurrente. Erlang le proporciona al programador directivas para la implementación de mecanismos de detección y resolución de fallos que cuentan con el soporte completo del entorno de ejecución. Sin emabargo, Erlang carece de abstracciones de alto nivel para el desarrollo de sistemas multi-agente así como cualquier mecanismo nativo para el manejo de los componentes de la arquitectura BDI.

      El entorno de desarrollo eJason, aprovechando las fortalezas de Jason y Erlang, y eliminando sus debilidades y carencias anteriormente mencionadas, proporciona y se fundamenta en distintas contribuciones relevantes.

      La primera contribución de eJason se encuentra representada por una serie de extensiones al lenguaje de programación Jason cuyo objetivo es la mejora en el control del comportamiento de los agentes por parte del programador. Estas extensiones minimizan o eliminan los efectos adversos de las distintas condiciones de carrera derivadas de la multiplicidad de focos de atención permitida por la semántica de Jason.

      La segunda contribución de eJason es la provisión de un esquema de distribución propio para los agentes Jason que posibilita su distribución en diferentes computadores. Este esquema de distribución es transparente para el programador y su integración en la sintaxis de Jason no es disruptiva.

      La tercera contribución de eJason está representada por dos mecanismos de tolerancia a fallos inspirados por aquéllos de Erlang pero que los superan en diversos aspectos. El mecanismo de monitorización de eJason permite la detección de diferentes fallos, mientras que el mecanismo de supervisión posibilita la corrección automatizada de diversos fallos.

      La cuarta contribución de eJason es una formalización de su semántica. Esta formalización extiende la de Jason proporcionando, a su vez, una perspectiva más amplia que permite especificar no sólo el comportamiento de un único agente, sino aquél del sistema multi-agente en su totalidad.

      Finalmente, la contribución última de eJason es un intérprete gratuito y de código abierto para este lenguaje. Este intérprete permite validar los beneficios introducidos por eJason, como se describe en diversos ejemplos y casos de uso a lolargo del documento de tesis.


Fundación Dialnet

Dialnet Plus

  • Más información sobre Dialnet Plus

Opciones de compartir

Opciones de entorno