ArticleslgStudy

computer science

JACK Intelligent Agents

JACK Intelligent Agents is a computer science topic covered in the lgStudy science library. This page brings together a partial reference excerpt, illustrations, worked examples, real-world applications and a short study plan, so you can understand JACK Intelligent Agents rather than just read about it. In short: JACK Intelligent Agents is a framework in Java for multi-agent system development. JACK Intelligent Agents was built by Agent Oriented Software Pty.

Key takeaways

  • JACK Intelligent Agents belongs to computer science; place it in that map before memorising details.
  • Learn the definition first, then one example that makes the definition concrete.
  • Connect JACK Intelligent Agents to a quantity you can measure, compute or draw — that is where exam questions come from.
  • Reproduce the core statement of JACK Intelligent Agents from memory before moving on to harder problems.

Reference excerpt

JACK Intelligent Agents is a framework in Java for multi-agent system development. JACK Intelligent Agents was built by Agent Oriented Software Pty. Ltd. (AOS) and is a third generation agent platform building on the experiences of the Procedural Reasoning System (PRS) and Distributed Multi-Agent Reasoning System (dMARS). JACK is one of the few multi-agent systems that uses the BDI software model and provides its own Java-based plan language and graphical planning tools.

History JACK Intelligent Agents was initially developed in 1997 by ex-members of the Australian Artificial Intelligence Institute (AAII or A2I2) who were involved in the design, implementation, and application of PRS at SRI International and/or dMARS at the AAII. The JACK platform was written for commercial application of the multi-agent paradigm (a COTS product) to complex problem solving and was the basis for starting the company Agent Oriented Software where it remains the flagship product.

Features

JACK Intelligent Agents is a mature commercial multi-agent platform that has been under active research, development, and domain-specific application for more than 10 years. The following provides a listing of the platform's key differentiating features.

Agent Run-time: The core of the platform is an extensible multi-agent run-time. Once domain specific agents, plans, events, capabilities, etc. are specified the JACK kernel manages the execution the system including message passing, reasoning, and meta-reasoning. JACK Plan Language: JACK provides an agent-specific plan language for writing JACK plans (the discrete reasoning executed by agents). The plan language is an extension to the Java and offers commands such as @send and @post for inter-agent messaging, as well as the management of actions, sub-tasks and maintenance of conditions. Plans are compiled into Java classes for execution in the JACK run-time offering speed and correctness of execution. Belief–Desire–Intention Model: In addition to a classical (non-BDI) agent model, the platform realizes the BDI software model, where beliefs are managed by beliefsets encapsulated within agents, desires are the goal states an agent is aspiring to achieve, and intentions are the meta-reasoning and plan-based reasoning the JACK agents use to achieve the current goal. Capabilities: The platform provides capabilities which are abstractions of common behaviors manifest as a complex of plans and events. Capabilities provide a way of conceptually bundling common behaviors and actions and re-using them between agents. JACK Development Environment: Multi-agent systems can be written in Java code and the JACK plan language in a standard IDE, although the platform provides an agent-centric IDE called the JACK Development Environment or JDE. The JDE provides graphical tools for writing plans, connecting plans to agents, managing inter-agent communication, as well as compiling and running. The JDE also provides graphical tools for debugging and tracing the execution of plans and inter-agent message passing. Graphical plans: A key feature of the JDE is the facility to write and manage graphical plans. These are the discrete reasoning performed by an agent represented graphically as a flow chart, allowing a programmer to manage the code performed in each step of the reasoning graph, and the subject matter expert to manage the logical flow of the reasoning based on the human-readable documentation on each node. JACK Object Modeller: An object serialization technology used by the JACK run-time for object initialization and inter-process communication. Java objects are serialized to human-readable ASCII text, not too dissimilar to YAML and XML. Platform Independence: The JACK platform is written in Java, allowing the deployment of JACK multi-agent systems onto the wide array of platforms that support the Java Virtual Machine. Currently JACK can be installed on Microsoft Windows operating systems only using a 32-bit Java Virtual Machine but works also on a 64-bit Java Virtual Machine. On the most recent versions of Mac OS X operating systems (starting from Mac OS X Lion) JACK can be installed only using a console installer.

Extensions

The JACK platform has been extended a number of times since its inception. Most of the extensions, such as JACK Teams and CoJACK were developed by or in collaboration with AOS.

JACK Teams: An extension to the BDI software model that facilitates agents collaborating in teams toward achieving a goal. Like JACK, JACK Teams supports its own plan language in what AOS refers to as Team-oriented programming. JACK Teams is integrated into and available as a part of the JACK Intelligent Agents platform. CoJACK: An extension to the JACK platform that adds a cognitive architecture to the agents for eliciting more realistic (human-like) behaviors in virtual environments. FIPA JACK: An extension to the JACK platform to support the FIPA Agent Communications Language. Prometheus: An agent-centric software engineering methodology for managing the SDLC of a multi-agent-based system. JACK was used as the basis for investigation, comparison, and testing the methodology. The Prometheus involved the development of the Prometheus Design Tool (PDT) which was a GUI-based tool for managing design concerns in the process. JACK Eclipse Plug-in: A plug-in that facilitates the development of JACK-based systems in the Eclipse IDE. Specifically, the plug-in adds capabilities to Eclipse to support the JACK file types (such as .plan, .agent, etc.) as well support for JACK plan language. JACK WebBot: An extension that embeds the JACK kernel in the Apache Tomcat web server allowing intelligent agents to be interacted with and formulate responses HTTP requests (via the Java Servlet API).

See also Agent-based model Agent Communications Language Autonomous agent Belief–desire–intention software model Cognitive architecture Distributed multi-agent reasoning system Intelligent agent Java Agent Development Framework Multi-agent system Procedural reasoning system Software agent

Notes

… excerpt ends here. Continue reading the full article.

Worked examples

Example 1 — a first encounter with JACK Intelligent Agents

Start with the simplest possible case. Write down what JACK Intelligent Agents claims or describes in one sentence, then invent the smallest concrete situation in which that sentence is true. In computer science, the smallest case is usually a single object, a single equation or a single measurement. Check that every symbol or term in your sentence has a meaning in that case.

Example 2 — changing one variable

Take the situation from Example 1 and change exactly one quantity: double it, halve it, or set it to zero. Predict what should happen to JACK Intelligent Agents before you calculate. Comparing your prediction with the result is the fastest way to find out whether you understand the idea or only the words.

Example 3 — an exam-style question

Typical questions about JACK Intelligent Agents ask you to (a) state it precisely, (b) apply it to given data, and (c) explain a limitation. Practise writing all three answers in under five minutes; the third part is what separates a full-mark answer from an average one.

Applications of JACK Intelligent Agents

In research
JACK Intelligent Agents appears in computer science research whenever the underlying quantities have to be modelled precisely. Papers usually cite it as a starting assumption and then explore where it breaks down.
In technology and industry
Engineering practice reuses JACK Intelligent Agents in design rules, simulations and safety margins. Knowing the idea lets you read a specification sheet and understand why the numbers look the way they do.
In the classroom
JACK Intelligent Agents is common in secondary-school and first-year university syllabi. It links to neighbouring topics Agent-based software, Java platform software, so understanding it makes those chapters shorter.
In everyday life
Look for JACK Intelligent Agents outside the textbook — in sport, cooking, traffic, electronics or the sky above you. An example you found yourself is remembered far longer than one you were given.
Ask Teacher Smith questions about this articleOpens your AI tutor with a question about “JACK Intelligent Agents” →

Affiliate

Preply — study more efficiently by working with a personal tutor. 50% off.

How to study JACK Intelligent Agents in 20 minutes

  1. Read the reference excerpt below once, without taking notes.
  2. Close the page and write down what JACK Intelligent Agents means in your own words.
  3. Compare your version with the excerpt and mark what you missed.
  4. Work through the three examples above with pen and paper.
  5. Explain JACK Intelligent Agents out loud to somebody else — or to Teacher Smith in the lgStudy chat.

Frequently asked questions

What is JACK Intelligent Agents in simple terms?

JACK Intelligent Agents is a framework in Java for multi-agent system development. JACK Intelligent Agents was built by Agent Oriented Software Pty.

Why does JACK Intelligent Agents matter?

Because it connects several computer science ideas at once: it gives you a definition you can apply, a quantity you can calculate, and a way to check whether a result is plausible.

How should I study JACK Intelligent Agents?

Read the excerpt, restate it from memory, then work through the examples and applications listed on this page. The five-step study plan above takes about twenty minutes.

What does this page cover?

It gives you a compact reference excerpt plus original lgStudy explanations, examples, applications and study material on JACK Intelligent Agents.

Tags

  • Agent-based software
  • Java platform software

Keep exploring