Advanced Software Engineering Support for Intelligent Agent Systems

Linkage grant LP0453486

Project Aims

"Software Agents are an important technology for developing the complex software systems that are increasingly required to meet the needs of society. A crucial obstacle to the widespread adoption of agent technology is the lack of an appropriate software engineering methodology. This project proposes to explore support for design processes addressing advanced issues in agent systems, such as goal-based requirements, debugging using design artefacts, component-based design, and reuse. We will also extend the methodology to support teamwork and open systems. We will be building on successful work we have already done in establishing a basic agent oriented software design methodology."

Organisations and People

This project is funded by the Australian Research Council (ARC) under the Linkage-Projects program and by Agent Oriented Software (AOS). RMIT University is the administering institution.

People

Project Outputs

Publications

Presentations

Software


Questions and Answers

What is an Agent?
An intelligent software agent is an autonomous entity, existing over time in an environment, that is able to rationally balance pro-active (i.e. goal-driven) and reactive behaviour. The environment is often unpredictable and the agent needs to be flexible and robust in order to deal with failure and with the unexpected. The environment will often contain other agents and the agent should be social - that is interact in a meaningful way with others.

Some terms:

  • pro-active: pursues goals over time; goal directed behaviour
  • autonomous: does not require continuous external control (for example, a remote control car is not autonomous)
  • flexible: has multiple ways of doing things
  • robust: detects and responds appropriately to the failure of actions or plans

What is the "BDI" Model?
BDI stands for "Belief Desire Intention". This is a set of concepts for thinking about and building agents. There are three facets to the BDI model:
  1. The Philosophical: Based on folk-psychology viewing humans as planning agents this uses beliefs (what an agent knows about the world), desires (what the agent wants - these can be contradictory) and intentions (what the agent has decided to do).
  2. The Logical: Modal logics with possible world semantics. These give precise logical meaning to beliefs, goals (which, unlike desires, are required to be consistent) and intentions.
  3. The implementation: Here beliefs are usually limited to databases (which excludes, for example, meta-beliefs: beliefs about beliefs). Goals are modelled as events. Intentions are merely the currently running plans.
Note that a fourth crucial concept is plans - the acronym should really be "BDIP".

What is JACK?
See Agent Oriented Software's website.

Object-oriented programming is best done using a language which supports the appropriate concepts (such as Java) rather than one which doesn't (such as C). Similarly, agent-oriented programming is best done with a language which supports the appropriate concepts rather than one which doesn't (such as Java). JACK is an agent-oriented programming language (which is built as an extension of Java).

Link Pages

Conferences