The JACK platform was created by researchers for commercial use of the multi-agent paradigm (a COTS product) to solve complex problems. In 1997, former AAII members who had worked on PRS at SRI International and dMARS at the AAII began working on JACK Intelligent Agents.
Intelligent Agents are used in many distributed applications to model simple, logical behaviours. There are also smart web applications, manufacturing control, call centres, and air traffic management. Agent-Oriented Software's JACK Intelligent Agents framework brings the idea of smart agents to the forefront of commercial software engineering and Java. JACK Intelligent Agents is a third-generation agent framework comprising a group of small, fast, and well-typed components.
Features
JACK Intelligent Agents is a commercial multi-agent platform that has been used for more than ten years in research, development, and domain-specific applications. Here is a list of the main features.
- Agent Run-Time: The platform's core is a multi-agent runtime that can be made bigger or smaller. Once domain-specific agents, plans, events, capabilities, etc., are set, the JACK kernel handles the execution of the system.
- JACK Plan Language (JPL): JACK gives a language for writing JACK plans unique to each agent (the discrete reasoning executed by agents). It has commands like @send and @post to send messages between agents and manage actions, subtasks, and conditions.
- Belief-Desire-Intention Model: The platform implements the BDI software model, in which belief sets manage agents' beliefs, and desires are the goal states an agent wants to reach.
- Capabilities: The platform has capabilities, which are abstractions of common behaviours that show up as a set of plans and events. Capabilities are a way to group and reuse common actions and behaviours across agents.
- JACK Development Environment (JDE): It can be written in Java code. However, the platform also has an agent-centric IDE called the JACK Development Environment (JDE). The JDE also has graphical tools for debugging and tracking how projects and messages are carried out and passed between agents.
- Graphical plans: The graphic plans are one of the essential parts of the JDE. These are the individual steps of reasoning that an agent takes, shown as a flowchart.
- JACK Object Modeller (JACOB): It is a technology for serializing objects used by the JACK runtime to initialize objects and communication between processes. Java objects are turned into ASCII text that people can read, similar to YAML and XML.
- Platform Independence: The JACK platform is written in Java, so JACK multi-agent systems can run on any platform that supports the Java Virtual Machine. Currently, a 32-bit Java Virtual Machine is the only way to install JACK on a Microsoft Windows system, but it also works on a 64-bit Java Virtual Machine.