Title Bar -  Agent Oriented (not Orientated) Software
Home Page Products Solutions Support Resources blank image

JACK Features


JACK is a new concept — an environment for building, running and integrating commercial Java-based multi-agent software using a component-based approach. JACK is a third generation Agent system, incorporating significant advances in Agent Research and Software Engineering. It provides the core architecture and infrastructure for developing and running software agents in distributed applications.


JACK incorporates a new suite of graphical tools targeted at analysts as well as programmers.

bullet point

Provides a design tool that allows components to be laid out in diagrams that represent different aspects of an application's design. These diagrams are automatically converted to code and code outlines. The design tool uses drag-and-drop to manipulate objects, and provides pan and zoom capabilities.

Thumbnail of design tool
Click to see full-size image of Design Tool


bullet point

A plan editing tool allows plan reasoning to be laid out as simple diagrams without having to sacrifice the power of the underlying JACK/Java language. Plan reasoning can be entered in descriptive mode, allowing non-programmers to outline the reasoning in natural language.

As with the design tool, the plan editing tool allows the user to manipulate objects with drag-and-drop, along with pan and zoom capabilities. Graphical plans are compiled directly to JACK code.

Thumbnail of plan editor

Click to see full-size image of Plan Editor


bullet point

At run-time, these same plans can be traced graphically — allowing an analyst or developer to observe their plans as they execute. The values of variables used in these plans can also be examined during execution, along with the plan execution history.

Thumbnail of plan tracing
Click to see full-size image of graphical plan tracing




JACK is entirely written in Java which has several advantages:

bullet point

Flexibility — JACK allows for many of types of software agent to be layered on top of the base kernel, from simple agents (e.g. information retrieval agents) through to more capable agents using sophisticated reasoning models.

bullet point Extensibility — JACK uses a "component" philosophy to facilitate integration with other software environments or existing systems. If required, JACK's functionality can be extended through the use of custom plugins.
bullet point Familiarity — JACK is based on a set of simple extensions to the Java language, relating to agent-specific concepts. JACK's familiarity to Java programmers not only reduces the learning curve but, as with Java, JACK's type-safe and object-oriented approach assists in the development of reliable applications.
bullet point Portability — JACK is capable of running on any system on which Java is available, from personal such as the PSION, through laptop PCs to high-end multi-CPU enterprise servers.
bullet point Light-Weight - JACK is extremely light-weight and is designed to handle thousands of agents running on relatively low-end hardware.
bullet point Java-Based — JACK allows access to all present and future Java capabilities, including multiple threads (possibly running on multiple CPUs), platform-independent GUIs and third party libraries such as JDBC.
bullet point Interoperability — JACK allows easy integration with external packages using standard infrastructure, such as CORBA, RMI, J2EE, EJB, .NET, DCOM or HLA.


Other features

bullet point JACK agents can be into teams for purposes or for performing actual joint tasks.
bullet point

JACK has a language specification and object oriented design targeted to allow easy extension for new agent models, such as recognition of intentions, or transaction-based agents.

bullet point JACK provides a light-weight and flexible communications model. By default JACK uses a fast TCP-based protocol for communicating with other agents, back-end systems and GUIs. Other protocols can be layered on top of this or can replace the default protocol entirely. This can be used to provide secure communication between agents.

JACK Logo

The JACK logos were designed by
Melissa Thew of moomoo design.



JAVA Logo

New in Jack v5.0: The JACK Development Environment (JDE) has been extended to provide the ability to trace execution using JACK Design Diagrams.

After configuring the JDE to trace certain diagrams, it can connect to a running JACK™ application and when any transitions occur that match links in the diagram, they will be highlighted.

Click here to learn more

©2006 Agent Oriented Software Group


Download JACK™

Privacy Policy