Marco de Java para el desarrollo de sistemas
JACK Intelligent Agents es un marco de trabajo en Java para el desarrollo de sistemas multiagente. 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 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 de planificación gráfica.
Historia
JACK Intelligent Agents fue desarrollado inicialmente en 1997 por exmiembros 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 el AAII. La plataforma JACK fue escrita para la aplicación comercial del paradigma multiagente (un producto COTS ) para 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 multiagente madura que ha estado en investigación, desarrollo y aplicación específica de dominio durante más de 10 años. A continuación, se incluye 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 multiagente extensible. Una vez que se especifican los agentes, planes, eventos, capacidades, etc. específicos del dominio, el núcleo JACK administra la ejecución del sistema, incluido el paso de mensajes, el razonamiento y el metarrazonamiento.
- Lenguaje de planificación JACK (JPL) : JACK proporciona un lenguaje de planificación específico para el agente para escribir planes JACK (el razonamiento discreto ejecutado por los agentes). El lenguaje de planificación es una extensión de Java y ofrece comandos como @send y @post para la mensajería entre agentes, así como la gestión de acciones, subtareas y mantenimiento de condiciones. Los planes se compilan en clases Java para su ejecución en el entorno de ejecución de JACK, lo que ofrece velocidad y corrección de ejecución.
- Modelo de creencias, deseos e intenciones : además de un modelo de agente clásico (no BDI), la plataforma implementa el modelo de software BDI , donde las creencias son administradas por conjuntos de creencias encapsulados dentro de los agentes, los deseos son los estados objetivo que un agente aspira a lograr y las intenciones son el meta-razonamiento y el razonamiento basado en planes que los agentes JACK usan 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 multiagente se pueden escribir en código Java y en el lenguaje de planificación 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, 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. Se trata de razonamientos discretos realizados por un agente representados gráficamente como un diagrama de flujo, lo que permite a un programador gestionar el código realizado en cada paso del gráfico de razonamiento y al experto en la materia gestionar el flujo lógico del razonamiento basándose en la documentación legible por humanos en cada nodo. [3]
- JACK Object Modeller (JACOB) : 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 en texto ASCII legible por humanos , no muy diferente de YAML y XML . [4]
- Independencia de la plataforma : la plataforma JACK está escrita en Java , lo que permite la implementación de sistemas multiagente JACK en la amplia gama de plataformas que admiten la máquina virtual Java . Actualmente, JACK se puede instalar en sistemas operativos Microsoft Windows utilizando únicamente 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 los sistemas operativos Mac OS X (a partir de Mac OS X Lion ), JACK se puede instalar únicamente utilizando un instalador de consola .
Extensiones
La plataforma JACK se ha ampliado varias veces 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 los 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 agrega 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 soportar el lenguaje de comunicaciones del agente FIPA . [8]
- Prometheus : una metodología de ingeniería de software centrada en agentes para gestionar el ciclo de vida del desarrollo de software 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 la herramienta de diseño Prometheus (PDT), que era una herramienta basada en GUI para gestionar las cuestiones de diseño en el proceso. [9]
- Plug-in 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 capacidades a Eclipse para admitir los tipos de archivos JACK (como .plan, .agent, etc.) y el lenguaje de planificación JACK.
- JACK WebBot : una extensión que integra el kernel 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 Servlet Java ). [10]
Véase también
Notas
- ^ Busetta, Paolosdada; Nicholas Howden; Ralph Ronnquist; Andrew Hodgson (2000). "Estructuración de agentes BDI en clústeres funcionales". Agentes inteligentes VI. Teorías de agentes, arquitecturas y lenguajes . Apuntes de clase en informática. 1757. Springer: 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 . Archivado desde el original el 17 de enero de 2013 . Consultado el 6 de junio de 2022 .
- ^ "Manual del editor de planos gráficos: Manual del editor de planos gráficos de JACK Intelligent Agents®". www.aosgrp.com . Archivado desde el original el 7 de julio de 2011 . Consultado el 6 de junio de 2022 .
- ^ "Manual JACOB: JACK Intelligent Agents® Manual JACOB". www.aosgrp.com . Archivado desde el original el 7 de julio de 2011 . Consultado el 6 de junio de 2022 .
- ^ Jarvis, Bevan; Jarvis, Dennis; Jain, Lakhmi (2007). "Equipos en sistemas multiagente". Procesamiento inteligente de la información III . IFIP Federación Internacional de Procesamiento de la Información. 228. Springer: 1–10. doi : 10.1007/978-0-387-44641-7_1 . ISBN . 978-0-387-44639-4.
- ^ "Manual de equipos: Manual de equipos de JACK Intelligent Agents®". www.aosgrp.com . Archivado desde el original el 7 de julio de 2011 . Consultado el 6 de junio de 2022 .
- ^ Evertsz, R.; Busetta, P.; Pedrotti, M.; Ritter, FE; Bittner, JL (2008). "CoJACK: cómo lograr una variación del comportamiento basada en principios en una arquitectura cognitiva moderada" (PDF) . Actas de la 17.ª Conferencia sobre representación del comportamiento en modelado y simulación (08-BRIMS-025) .
- ^ de Silva, Lavindra (2001). Building FIPA Compliancy into JACK (PDF) . Informe técnico/proyecto de investigación (RMIT) . RMIT. Archivado desde el original (PDF) el 2009-10-03 . Consultado el 2009-06-04 .
- ^ Padgham, Lin; Winikoff, Michael (2002). "Prometheus: A Pragmatic Methodology for Engineering Intelligent Agents" (PDF) . Actas del taller sobre metodologías orientadas a agentes (en OOPSLA) .[ enlace muerto permanente ]
- ^ "Manual de WebBot: Manual de WebBot de JACK Intelligent Agents®". www.aosgrp.com . Archivado desde el original el 18 de enero de 2013 . Consultado el 6 de junio de 2022 .
Referencias
- Paolo Busetta, Ralph Ronnquist, Andrew Hodgson y Andrew Lucas (1999) JACK Intelligent Agents – Componentes para agentes inteligentes en Java Archivado el 5 de marzo de 2022 en Wayback Machine , 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 5.ª Conferencia internacional sobre agentes autónomos
- P. Busetta, Ralph Rönnquist, Andrew Hodgson, Andrew Lucas (1999) Agentes de software inteligentes y livianos en simulación, en Actas de Simulación Tecnología y Capacitación (SimTecT 99), Melbourne, Australia
- M. Winikoff (2005) Agentes inteligentes JACK: una plataforma de gran capacidad 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 utilizando JACK. en Programación de sistemas multiagente (PROMAS) 2003: 18–48
- Øystein Spillum, Una comparación entre los agentes inteligentes JACK y los 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 de inicio de Agent Oriented Software Pty. Ltd. (AOS)
- Página web del producto JACK
- Documentación oficial de JACK, incluidos manuales de usuario y tutoriales
- Historial de suministro de JSF australiano para AOS