The SAC project has completed. For up-to-date information see
the SAC2 project
Simplifying Agent Concepts (SAC)
(Simplifying the Development of Agent-Oriented Systems)
Project Aims
The overall aims of this project are:
- To identify the core concepts needed for large numbers of agent
applications, and to provide a clear intuitive semantics for these;
- To develop a simple methodology which allows relatively inexperienced
programmers to build successful agent applications without outside
technical support;
- To develop a prototype environment and support tools, based on JACK,
which will allow evaluation and further refinement.
Our big picture of agent development (see figure to the right, click for a larger view)
includes a set of concepts and a methodology
(that is a process to be followed and products to be produced along the way).
These are linked by a notation which ties the concepts to a specific executable language.
All three are underpinned by semantics which avoid ambiguity.
Finally, tools to support various activities (designing, cross-checking, programming, debugging)
are important to software engineers.
This project is supported by the
Australian Research Council
(under grant CO0106934)
and
Agent Oriented Software Pty. Ltd.
through the SPIRT programme.
"The aim of this project is to develop a simplified agent development environment based on JACK, which retains the power of the Belief, Desire,
Intention (BDI) model, but is significantly easier to use.
A key element of this process will be the identification of a
core set of agent concepts, which we will then use in the design
of a "next generation" agent system."
If you would like more information on the Prometheus
methodology please email
Lin Padgham or
Michael Winikoff
- 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:
- 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).
- 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.
- 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).
Project Outputs
- Book:
Developing Intelligent Agent Systems: A Practical
Guide,
by Lin Padgham and Michael Winikoff,
John Wiley & Sons. ISBN: 0470861207
- Papers:
- Khanh Hoa Dam, Michael Winikoff,
Comparing Agent-Oriented Methodologies,
to appear in the proceedings of the
Fifth International Bi-Conference Workshop on
Agent-Oriented Information Systems
to be held
in Melbourne in July (at AAMAS03).
(PDF)
- John Thangarajah, Lin Padgham, Michael Winikoff.
Detecting & Avoiding Interference Between Goals in Intelligent
Agents, to appear in the proceedings of the
18th International Joint Conference
Conference on Artificial Intelligence, August, 2003.
- James Harland, Michael Winikoff,
Agents via Mixed-mode Computation in Linear Logic,
to appear in the
Annals of Mathematics and
Artificial Intelligence,
Special Issue on
Computational Logic in Multi-Agent Systems
- John Thangarajah, Lin Padgham, Michael Winikoff,
Detecting and Exploiting Positive Goal Interaction in Intelligent
Agents. To appear in
the Second International Joint Conference on
Autonomous Agents and Multiagent Systems (AAMAS03)
- David Poutakidis, Lin Padgham, Michael Winikoff,
Debugging Multi-agent Systems (poster).
To appear in
the Second International Joint Conference on
Autonomous Agents and Multiagent Systems (AAMAS03)
- Lin Padgham and Michael Winikoff,
Prometheus: A Pragmatic Methodology for Engineering Intelligent Agents
To appear in the proceedings of the
workshop on
Agent-oriented methodologies at
OOPSLA 2002.
November 4, 2002, Seattle.
(PDF)
- James Harland and Michael Winikoff.
Language Design Issues for Agents based on Linear Logic.
Proceedings of the workshop on
Computational
Logic in Multi-Agent Systems (CLIMA'02), August 2002.
(PDF,
postscript)
- Lin Padgham and Michael Winikoff.
Prometheus: A Methodology for Developing Intelligent Agents.
Proceedings of the the Third International Workshop on
Agent-Oriented Software Engineering, at AAMAS'02.
- Joshua Hutchison and Michael Winikoff.
Flexibility and Robustness in Agent Interaction Protocols.
In
Challenges in Open Agent Systems, workshop at AAMAS'02.
(PDF)
- John Thangarajah, Michael Winikoff, Lin Padgham, and Klaus Fischer.
Avoiding Resource Conflicts in Intelligent Agents,
In
F. van Harmelen (ed.): ECAI
2002.
Proceedings of the 15th European
Conference
on Artificial Intelligence, IOS Press, Amsterdam, 2002.
(PDF, Postscript)
- Michael Winikoff, Lin Padgham, James Harland, and John Thangarajah.
Declarative and Procedural Goals in Intelligent Agent Systems.
In proceedings of
the Eighth International Conference on Principles of Knowledge Representation
and Reasoning
(KR2002),
April 22-25, 2002, Toulouse, France.
(PDF, Postscript)
- David Poutakidis, Lin Padgham, and Michael Winikoff.
Debugging Multi-Agent Systems using Design Artifacts:
The case of Interaction Protocols,
in proceedings of the First International Joint Conference on
Autonomous Agents and Multi-Agent Systems
(AAMAS 2002). July 15-19,
2002, Bologna, Italy.
(PDF,
postscript)
- Lin Padgham and Michael Winikoff,
Prometheus: A Methodology for Developing
Intelligent Agents (poster),
in proceedings of the First International Joint Conference on
Autonomous Agents and Multi-Agent Systems
(AAMAS 2002). July 15-19,
2002, Bologna, Italy.
(Postscript)
- James Harland and Michael Winikoff.
Agent Negotiation as Proof Search in Linear Logic (poster).
In proceedings of the First International Joint Conference on
Autonomous Agents and Multi-Agent Systems
(AAMAS 2002). July 15-19,
2002, Bologna, Italy.
(pdf,
postscript)
- Simplifying the Development of Intelligent Agents.
Michael Winikoff, Lin Padgham, and James Harland.
In proceedings of the 14th Australian Joint
Conference on Artificial Intelligence (AI'01), pages 557-568, Adelaide, 2001.
(PDF, postscript).
Also available as RMIT school of computer science and information technology
technical report TR-01-3
(PDF, postscript).
- Agents via Mixed-mode Computation in Linear Logic: A Proposal, James Harland and Michael Winikoff,
Proceedings of the
ICLP'01 Workshop on Computational Logic in Multi-Agent Systems (CLIMA-01),
Paphos, December, 2001.
(hyperref'ed PDF,
PDF,
Postscript).
- Presentations:
- Simplifying the
Development of Intelligent Agents: Concepts,
Methodology, and Tools,
RMIT CS Seminar, 19th September, Michael Winikoff.
-
Agent Design Methodologies: What, How, Tools, and Issues
(pdf,
pdf (6 slides per page)), Michael
Winikoff.
Presented at the workshop on Agent-oriented
methodologies at OOPSLA 2002,
Seattle, 4 November 2002.
- Simplifying the Development of Intelligent Agents: Concepts.
Michael Winikoff. Slides from presentation at the 14th
Australian Joint Conference on Artificial Intelligence (AI'01), Adelaide, 2001.
(pdf, ps)
- Simplifying the Development of Intelligent Agents: Concepts (long version)
Slides from an
RMIT Department of Computer Science Seminar given on the 16th
of November.
(PDF,
ps.gz)
- Simplifying Agent Concepts, Slides from a seminar given at
SRI, AI Seminar, 5 June 2001.
(html,
pdf)
- Software:
- A prototype implementation of AgentSpeak
(called AgentTalk)
- An implementation of the CAN (Conceptual Agent Notation) introduced in the KR'02 paper.
- Agent Oriented
Software's JACK Design Tool is influenced by
our work on the Prometheus methodology.
- A prototype design tool
- The Prometheus
Design Tool (PDT)
- auml:
a prototype tool for converting a textual description of protocols in (a
subset of) AUML-2 to the graphical presentation.
- Design of Multi Agent Systems, a tutorial by Lin Padgham
at the Multi Agent Systems
School,
July 2003. Melbourne, Australia.
- Design of Multi Agent Systems, a
tutorial
by Lin Padgham at
Net.ObjectDays,
October 7-10, 2002,
Erfurt, Germany.
- Materials for a tutorial on Designing
BDI Agents given at AI'01 by
Lin Padgham and Michael Winikoff.
- Slides describing the project
(html,
PDF).
- Survey of Agent Systems which address the internals of intelligent software agents.
People
Link Pages
Conferences
- AAMAS 2004
New York City, 19 July - 23 July, 2004.
- electronic abstracts due: 16 January 2004
- electronic paper submission deadline: 21 January 2004
- notification: 23 March 2004
- camera-ready copy due by: 5 May 2004
- conference dates: Monday 19 July - Friday 23 July 2004
- Second
International Workshop on Agent-Oriented Methodologies at OOPSLA03,
- Submission: August 22
- NOtification: September 12
- ACSC-04
27th Australasian Computer Science Conference-04
The University of Otago,
Dunedin, New Zealand,
18-22 January 2004
- Submission of abstracts: August 29, 2003
- Submission of full papers: September 5, 2003
- Notification of authors: October 17, 2003
- Final version due: November 14, 2003
- IJCAI-03:
Eighteenth International Joint Conference on Artificial Intelligence.
August 9-15, Acapulco, Mexica.
- Submission, papers: January 2003 (14th electronic, 16th hard copy)
- Submission, posters: February 2003 (10th electronic, 12th
hardcopy)
- Notification: March 25
- AAMAS'03:
Second International Joint Conference on
Autonomous Agents and Multi-Agent Systems.
July 14-18, Melbourne, Australia.
- Submission: November 2002, (abstract 4th, paper 7th)
- Notification: 7th January 2003
- Workshop on
Agent-oriented methodologies at
OOPSLA 2002.
November 4-8, 2002, Seattle.
- CLIMA'02
(Copenhagen, August 1, affiliated with ICLP)
- ECAI 2002 (Lyon, France, July 21-26)
- AAMAS 2002:
First International Joint Conference on
Autonomous Agents and Multi-Agent Systems.
July 15-19, 2002, Bologna, Italy;
combines Autonomous Agents, ATAL, and ICMAS.
-
Eighth International Conference on Principles of Knowledge
Representation and Reasoning (KR2002),
April 22-25, 2002; Toulouse, France.
- Twenty-Fifth Australasian Computer Science Conference (ACSC2002)
Monash University, Melbourne, Victoria, 28th January - 1st February, 2002
-
ICLP'01 Workshop on Computational Logic in Multi-Agent Systems
(CLIMA-01)
- The 14th Australian Joint Conference on Artificial Intelligence (AI'01)
10 - 14 December 2001 Adelaide, Australia
- IJCAI-01
August 4th - 10th, 2001 Seattle, Washington, USA
- ATAL-2001 Seattle, USA - August 1-3, 2001
(Immediately before IJCAI-01)
- Autonomous Agents 2001,
May 28 - June 01, 2001, Montreal, Canada.
-
SE Journals