JACK Intelligent Agents es un marco en Java para el desarrollo de sistemas de múltiples agentes. JACK Intelligent Agents fue creado por Agent Oriented Software Pty. Ltd. (AOS) y es una plataforma de agentes de tercera generación que se basa en las experiencias del Sistema de razonamiento procedimental (PRS) y el Sistema de razonamiento de agentes múltiples distribuidos (dMARS). JACK es uno de los pocos sistemas de agentes múltiples que utiliza el modelo de software BDI y proporciona su propio lenguaje de planes basado en Java y herramientas de planificación gráfica.
Lanzamiento estable | 5.6 / 1 de julio de 2015 |
---|---|
Escrito en | Java |
Sistema operativo | Multiplataforma |
Tipo | Sistema multiagente marco |
Licencia | Propiedad |
Sitio web | www |
Historia
JACK Intelligent Agents fue desarrollado inicialmente en 1997 por ex miembros del Instituto Australiano de Inteligencia Artificial (AAII o A 2 I 2 ) que participaron en el diseño, implementación y aplicación de PRS en SRI International y / o dMARS en AAII. La plataforma JACK fue escrita para la aplicación comercial del paradigma de múltiples agentes (un producto COTS ) a la resolución de problemas complejos y fue la base para iniciar la empresa Agent Oriented Software (AOS), donde sigue siendo el producto estrella.
Características
JACK Intelligent Agents es una plataforma comercial madura de múltiples agentes que ha estado bajo investigación activa, desarrollo y aplicación específica de dominio durante más de 10 años. A continuación, se proporciona una lista de las características diferenciadoras clave de la plataforma.
- Tiempo de ejecución del agente : el núcleo de la plataforma es un tiempo de ejecución de varios agentes extensible. Una vez que se especifican los agentes, planes, eventos, capacidades, etc. específicos del dominio, el kernel JACK administra la ejecución del sistema, incluido el paso de mensajes, el razonamiento y el meta-razonamiento.
- Lenguaje del plan JACK (JPL) : JACK proporciona un lenguaje del plan específico del agente para escribir planes JACK (el razonamiento discreto ejecutado por los agentes). El lenguaje del plan es una extensión de Java y ofrece comandos como @send y @post para mensajería entre agentes, así como la gestión de acciones, subtareas y mantenimiento de condiciones. Los planes se compilan en clases de Java para su ejecución en el tiempo de ejecución de JACK, lo que ofrece velocidad y corrección de ejecución.
- Modelo Creencia-Deseo-Intención : además de un modelo de agente clásico (no BDI), la plataforma realiza el modelo de software BDI , donde las creencias son administradas por conjuntos de creencias encapsulados dentro de los agentes, los deseos son los estados de meta que un agente aspira a lograr, y las intenciones son el meta-razonamiento y el razonamiento basado en planes que utilizan los agentes de JACK para lograr el objetivo actual.
- Capacidades : la plataforma proporciona capacidades que son abstracciones de comportamientos comunes que se manifiestan como un complejo de planes y eventos. Las capacidades proporcionan una forma de agrupar conceptualmente comportamientos y acciones comunes y reutilizarlos entre agentes. [1]
- Entorno de desarrollo JACK (JDE) : los sistemas de agentes múltiples se pueden escribir en código Java y el lenguaje del plan JACK en un IDE estándar , aunque la plataforma proporciona un IDE centrado en el agente llamado Entorno de desarrollo JACK o JDE. El JDE proporciona herramientas gráficas para escribir planes, conectar planes a agentes, administrar 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 de JDE es la facilidad para escribir y administrar planes gráficos. Estos son el razonamiento discreto realizado por un agente representado gráficamente como un diagrama de flujo, lo que permite a un programador administrar el código realizado en cada paso del gráfico de razonamiento y al experto en la materia administrar el flujo lógico del razonamiento basado en el análisis humano. documentación legible en cada nodo. [3]
- Modelizador de objetos JACK (JACOB) : Una tecnología de serialización de objetos utilizada por el tiempo de ejecución JACK para la inicialización de objetos y la comunicación entre procesos. Los objetos Java se serializan en texto ASCII legible por humanos , no muy diferente a YAML y XML . [4]
- Independencia de la plataforma : la plataforma JACK está escrita en Java , lo que permite la implementación de sistemas JACK de múltiples agentes en la amplia gama de plataformas que admiten la máquina virtual Java . Actualmente, JACK se puede instalar en sistemas operativos Microsoft Windows solo utilizando una máquina virtual Java de 32 bits, pero también funciona en una máquina virtual Java de 64 bits . En las versiones más recientes de Mac OS X sistemas operativos (a partir de Mac OS X Lion ) JACK sólo se puede instalar utilizando un instalador de la consola .
Extensiones
La plataforma JACK se ha ampliado varias veces desde su inicio. La mayoría de las extensiones, como JACK Teams y CoJACK, fueron desarrolladas por o en colaboración con AOS.
- JACK Teams : una extensión del modelo de software BDI que facilita que los agentes colaboren en equipos para lograr un objetivo. [5] Al igual que JACK, JACK Teams admite su propio lenguaje de planes 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 agrega una arquitectura cognitiva a los agentes para provocar 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 del agente FIPA . [8]
- Prometheus : una metodología de ingeniería de software centrada en agentes para administrar el SDLC de un sistema basado en múltiples agentes. JACK se utilizó como base para la investigación, comparación y prueba de la metodología. Prometheus implicó el desarrollo de Prometheus Design Tool (PDT), que era una herramienta basada en GUI para gestionar los problemas de diseño en el proceso. [9]
- Complemento JACK Eclipse : complemento que facilita el desarrollo de sistemas basados en JACK en el IDE de Eclipse . Específicamente, el complemento agrega capacidades a Eclipse para admitir los tipos de archivos JACK (como .plan, .agent, etc.), así como para el lenguaje del plan JACK.
- JACK WebBot : una extensión que integra el kernel de 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 de Java Servlet ). [10]
Ver también
- Modelo basado en agentes
- Idioma de comunicaciones del agente
- Agente autónomo
- Modelo de software de creencia-deseo-intención
- Arquitectura cognitiva
- Sistema de razonamiento distribuido de múltiples agentes
- Agente inteligente
- Marco de desarrollo de agentes Java
- Sistema de agentes múltiples
- 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. Arquitecturas de teorías de agentes y lenguajes . Apuntes de conferencias en informática. Saltador. 1757 : 277-289. doi : 10.1007 / 10719619_21 . ISBN 978-3-540-67200-5.
- ^ [1] [ enlace muerto ]
- ^ [2] [ enlace muerto ]
- ^ [3] [ enlace muerto ]
- ^ Jarvis, Bevan; Jarvis, Dennis; Jain, Lakhmi (2007). "Equipos en sistemas multiagente" . Procesamiento inteligente de información III . Federación Internacional IFIP para el Tratamiento de la Información. Saltador. 228 : 1-10. doi : 10.1007 / 978-0-387-44641-7_1 . ISBN 978-0-387-44639-4.
- ^ [4] [ enlace muerto ]
- ^ Evertsz, R .; Busetta, P .; Pedrotti, M .; Ritter, FE; Bittner, JL (2008). "CoJACK: lograr una variación de comportamiento basada en principios en una arquitectura cognitiva moderada" (PDF) . Actas de la 17ª Conferencia sobre Representación de Comportamientos en Modelado y Simulación (08-BRIMS-025) .
- ^ de Silva, Lavindra (2001). Incorporación de la conformidad con FIPA en JACK (PDF) . Informe técnico / Proyecto de investigación (RMIT) . RMIT. Archivado desde el original (PDF) el 2009-10-03 . Consultado el 4 de junio de 2009 .
- ^ Padgham, Lin; Winikoff, Michael (2002). "Prometheus: una metodología pragmática para la ingeniería de agentes inteligentes" (PDF) . Actas del taller sobre metodologías orientadas a agentes (en OOPSLA) .[ enlace muerto permanente ]
- ^ [5] [ enlace muerto ]
Referencias
- Paolo Busetta, Ralph Ronnquist, Andrew Hodgson y Andrew Lucas (1999) Agentes inteligentes JACK: componentes para agentes inteligentes en Java , AgentLink News, número 2.
- Nick Howden, Ralph Rönnquist, Andrew Hodgson, Andrew Lucas (2001) Agentes inteligentes JACK - Resumen de una infraestructura de agentes . Actas de la V Conferencia Internacional sobre Agentes Autónomos
- P. Busetta, Ralph Rönnquist, Andrew Hodgson, Andrew Lucas (1999) Light-Weight Intelligent Software Agents in Simulation , en Proceedings of the Simulation Technology and Training (SimTecT 99), Melbourne, Australia
- M. Winikoff (2005) Agentes inteligentes JACK: una plataforma de fuerza industrial . En Programación de agentes múltiples. Saltador.
- J. Tweedale, N. Ichalkaranje, C. Sioutis, B. Jarvis, A. Consoli, G. Phillips-Wren, " Innovations in multi-agent systems " ( 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 industriales de múltiples agentes con JACK . en Programación de sistemas multiagente (PROMAS) 2003: 18–48
- Øystein Spillum, A Comparison between JACK Intelligent Agents and JACK Teams Applied in Teamwork , Master Thesis, Norwegian University of Science and Technology, noviembre de 2008
enlaces externos
- Página de inicio de Agent Oriented Software Pty. Ltd. (AOS)
- Página web del producto JACK
- Documentación oficial de JACK [ enlace muerto ] , incluidos manuales de usuario y tutoriales
- JSF australiano Historia de suministro para AOS