JACK Intelligent Agents es un framework en Java para el desarrollo de sistemas multiagente. Desarrollado por Agent Oriented Software Pty. Ltd. (AOS), JACK es una plataforma de agentes de tercera generación que se basa en la experiencia del Sistema de Razonamiento Procedimental (PRS) y el Sistema de Razonamiento Multiagente Distribuido (dMARS). JACK es uno de los pocos sistemas multiagente que utiliza el modelo de software BDI y proporciona su propio lenguaje de planificación basado en Java y herramientas gráficas de planificación.
Historia
JACK Intelligent Agents fue desarrollado inicialmente en 1997 por exmiembros del Instituto Australiano de Inteligencia Artificial ( AAII o A2I2 ) que participaron en el diseño, la implementación y la aplicación de PRS en SRI International y/o dMARS en el AAII. La plataforma JACK fue escrita para la aplicación comercial del paradigma multiagente (un producto COTS ) a la resolución de problemas complejos y fue la base para la creación de la empresa Agent Oriented Software, donde sigue siendo su producto estrella.
Características
JACK Intelligent Agents es una plataforma multiagente comercial consolidada que lleva más de 10 años en fase de investigación, desarrollo y aplicación específica en diversos dominios. A continuación, se detallan las principales características que la diferencian.
- Entorno de ejecución de agentes : El núcleo de la plataforma es un entorno de ejecución multiagente extensible. Una vez especificados los agentes, planes, eventos, capacidades, etc., específicos del dominio, el núcleo JACK gestiona la ejecución del sistema, incluyendo el paso de mensajes, el razonamiento y el metarrazonamiento.
- Lenguaje de planes de JACK : JACK proporciona un lenguaje de planes específico para cada agente, que permite escribir planes JACK (el razonamiento discreto ejecutado por los agentes). Este lenguaje es una extensión de Java y ofrece comandos como `@send` y `@post` para la comunicación entre agentes, así como la gestión de acciones, subtareas y el mantenimiento de condiciones. Los planes se compilan en clases Java para su ejecución en el entorno de ejecución de JACK, lo que garantiza velocidad y precisión.
- Modelo de Creencia-Deseo-Intención : Además de un modelo de agente clásico (no BDI), la plataforma implementa el modelo de software BDI , donde las creencias son gestionadas por conjuntos de creencias encapsulados dentro de los agentes, los deseos son los estados objetivo a los que un agente aspira, y las intenciones son el metarrazonamiento y el razonamiento basado en planes que los agentes JACK utilizan para lograr el objetivo actual.
- Capacidades : La plataforma proporciona capacidades que son abstracciones de comportamientos comunes manifestados como un conjunto complejo de planes y eventos. Las capacidades ofrecen una forma de agrupar conceptualmente comportamientos y acciones comunes y reutilizarlos entre agentes. [ 1 ]
- Entorno de desarrollo JACK : Los sistemas multiagente se pueden escribir en código Java y en el lenguaje de planes JACK en un IDE estándar, aunque la plataforma proporciona un IDE centrado en agentes llamado Entorno de Desarrollo JACK o JDE. El JDE proporciona herramientas gráficas para escribir planes, conectar planes a agentes, gestionar la comunicación entre agentes, así como compilar y ejecutar. El JDE también proporciona herramientas gráficas para depurar y rastrear la ejecución de planes y el paso de mensajes entre agentes. [ 2 ]
- Planes gráficos : Una característica clave del JDE es la facilidad para escribir y gestionar planes gráficos. Estos son el razonamiento discreto realizado por un agente representado gráficamente como un diagrama de flujo, lo que permite al programador gestionar el código ejecutado en cada paso del grafo de razonamiento y al experto en la materia gestionar el flujo lógico del razonamiento basándose en la documentación legible para humanos en cada nodo. [ 3 ]
- JACK Object Modeller : Una tecnología de serialización de objetos utilizada por el entorno de ejecución de JACK para la inicialización de objetos y la comunicación entre procesos. Los objetos Java se serializan a texto ASCII legible para humanos, no muy diferente de YAML y XML . [ 4 ]
- Independencia de plataforma : La plataforma JACK está escrita en Java , lo que permite la implementación de sistemas multiagente JACK en una amplia gama de plataformas compatibles con la Máquina Virtual Java . Actualmente, JACK solo se puede instalar en sistemas operativos Microsoft Windows mediante una Máquina Virtual Java de 32 bits , pero también funciona en una de 64 bits . En las versiones más recientes de los sistemas operativos Mac OS X (a partir de Mac OS X Lion ), JACK solo se puede instalar mediante un instalador de consola .
Extensiones
La plataforma JACK se ha ampliado en varias ocasiones desde su creación. La mayoría de las extensiones, como JACK Teams y CoJACK, fueron desarrolladas por AOS o en colaboración con ella.
- JACK Teams : Una extensión del modelo de software BDI que facilita la colaboración de agentes en equipos para lograr un objetivo. [ 5 ] Al igual que JACK, JACK Teams admite su propio lenguaje de planificación en lo que AOS denomina programación orientada a equipos . JACK Teams está integrado y disponible como parte de la plataforma JACK Intelligent Agents. [ 6 ]
- CoJACK : Una extensión de la plataforma JACK que añade una arquitectura cognitiva a los agentes para generar comportamientos más realistas (similares a los humanos) en entornos virtuales. [ 7 ]
- FIPA JACK : Una extensión de la plataforma JACK para admitir el lenguaje de comunicaciones de agentes FIPA . [ 8 ]
- Prometheus : Una metodología de ingeniería de software centrada en agentes para gestionar el ciclo de vida del desarrollo de software ( SDLC) de un sistema multiagente. JACK se utilizó como base para la investigación, comparación y prueba de la metodología. Prometheus implicó el desarrollo de la Herramienta de Diseño de Prometheus (PDT), una herramienta con interfaz gráfica de usuario (GUI ) para gestionar los aspectos de diseño durante el proceso. [ 9 ]
- Complemento JACK para Eclipse : Un complemento que facilita el desarrollo de sistemas basados en JACK en el IDE de Eclipse . En concreto, el complemento añade funcionalidades a Eclipse para admitir los tipos de archivo JACK (como .plan, .agent, etc.), así como el lenguaje de planes de JACK.
- JACK WebBot : Una extensión que integra el núcleo JACK en el servidor web Apache Tomcat, lo que permite interactuar con agentes inteligentes y formular respuestas a solicitudes HTTP (a través de la API Java Servlet ). [ 10 ]
Véase también
- Modelo basado en agentes
- Lenguaje de comunicación del agente
- agente autónomo
- Modelo de software de creencia-deseo-intención
- Arquitectura cognitiva
- Sistema de razonamiento multiagente distribuido
- Agente inteligente
- Marco de desarrollo de agentes Java
- Sistema multiagente
- Sistema de razonamiento procedimental
- Agente de software
Notas
- ↑ Busetta, Paolosdada; Nicholas Howden; Ralph Ronnquist; Andrew Hodgson (2000). "Estructuración de agentes BDI en clústeres funcionales". Agentes inteligentes VI. Teorías, arquitecturas y lenguajes de agentes . Notas de clase en informática. Vol. 1757. Springer. págs. 277–289 . doi : 10.1007/10719619_21 . ISBN 978-3-540-67200-5.
- ↑ "Manual del entorno de desarrollo: Manual del entorno de desarrollo de JACK Intelligent Agents®" . www.aosgrp.com . Consultado el 6 de junio de 2022 .
{{cite web}}: CS1 maint: deprecated archival service (link) - ↑"Graphical Plan Editor Manual: JACK Intelligent Agents® Graphical Plan Editor Manual". www.aosgrp.com. Archived from the original on 7 July 2011. Retrieved 6 June 2022.
- ↑"JACOB Manual: JACK Intelligent Agents® JACOB Manual". www.aosgrp.com. Archived from the original on 7 July 2011. Retrieved 6 June 2022.
- ↑Jarvis, Bevan; Jarvis, Dennis; Jain, Lakhmi (2007). "Teams in Multi-Agent Systems". Intelligent Information Processing III. IFIP International Federation for Information Processing. Vol. 228. Springer. pp. 1–10. doi:10.1007/978-0-387-44641-7_1. ISBN 978-0-387-44639-4.
- ↑"Teams Manual: JACK Intelligent Agents® Teams Manual". www.aosgrp.com. Archived from the original on 7 July 2011. Retrieved 6 June 2022.
- ↑Evertsz, R.; Busetta, P.; Pedrotti, M.; Ritter, F. E.; Bittner, J. L. (2008). "CoJACK—Achieving principled behaviour variation in a moderated cognitive architecture"(PDF). Proceedings of the 17th Conference on Behavior Representation in Modeling and Simulation (08-BRIMS-025).
- ↑de Silva, Lavindra (2001). Building FIPA Compliancy into JACK(PDF). Technical Report / Research Project (RMIT). RMIT. Archived from the original(PDF) on 2009-10-03. Retrieved 2009-06-04.
- ↑Padgham, Lin; Winikoff, Michael (2002). "Prometheus: A Pragmatic Methodology for Engineering Intelligent Agents"(PDF). Proceedings of the workshop on Agent-oriented methodologies (at OOPSLA).
- ↑"WebBot Manual: JACK Intelligent Agents® WebBot Manual". www.aosgrp.com. Retrieved 6 June 2022.
{{cite web}}: CS1 maint: deprecated archival service (link)
References
- Paolo Busetta, Ralph Ronnquist, Andrew Hodgson, and Andrew Lucas (1999) JACK Intelligent Agents – Components for Intelligent Agents in JavaArchived 2022-03-05 at the Wayback Machine, AgentLink News, Issue 2.
- Nick Howden, Ralph Rönnquist, Andrew Hodgson, Andrew Lucas (2001) Agentes inteligentes JACK: Resumen de una infraestructura de agentes . Actas de la 5ª Conferencia Internacional sobre Agentes Autónomos.
- P. Busetta, Ralph Rönnquist, Andrew Hodgson, Andrew Lucas (1999) Agentes de software inteligentes y ligeros en simulación , en Actas de la Conferencia sobre Tecnología y Formación en Simulación (SimTecT 99), Melbourne, Australia.
- M. Winikoff (2005) Agentes inteligentes JACK: Una plataforma de nivel industrial . En Programación multiagente. Springer.
- J. Tweedale, N. Ichalkaranje, C. Sioutis, B. Jarvis, A. Consoli, G. Phillips-Wren, " Innovaciones en sistemas multiagente " ( PDF ), Journal of Network and Computer Applications, Volumen 30, Número 3, agosto de 2007, Páginas 1089–1115
- Rick Evertsz, Martyn Fletcher, Richard Jones, Jacquie Jarvis, James Brusey, Sandy Dance: Implementación de sistemas multiagente industriales mediante JACK . En Programación de sistemas multiagente (PROMAS) 2003: 18–48
- Øystein Spillum, Comparación entre agentes inteligentes JACK y equipos JACK aplicados al trabajo en equipo , Tesis de maestría, Universidad Noruega de Ciencia y Tecnología, noviembre de 2008.
Enlaces externos
- Página principal de Agent Oriented Software Pty. Ltd. (AOS)
- Página web del producto JACK
- Documentación oficial de JACK , incluyendo manuales de usuario y tutoriales.
- Historial de suministro del JSF australiano para AOS
- Software de plataforma Java
- Software basado en agentes