Description
Book SynopsisJason is an Open Source interpreter for an extended version of AgentSpeak a logic-based agent-oriented programming language written in Java. It enables users to build complex multi-agent systems that are capable of operating in environments previously considered too unpredictable for computers to handle.
Jason is easily customisable and is suitable for the implementation of reactive planning systems according to the Belief-Desire-Intention (BDI) architecture.
Programming Multi-Agent Systems in AgentSpeak using Jasonprovides a brief introduction to multi-agent systems and the BDI agent architecture on which AgentSpeak is based. The authors explain Jason's AgentSpeak variant and provide a comprehensive, practical guide to using Jason to program multi-agent systems. Some of the examples include diagrams generated using an agent-oriented software engineering methodology particularly suited for implementation using BDI-based programming languages. Th
Trade Review
"This essential guide to ArgentSpeak and Jason will be invaluable to senior undergraduate and post-graduate students." (Zentralblatt Math 1132, August 2008)
Table of Contents
Preface.
1 Introduction.
1.1 Autonomous Agents.
1.2 Characteristics of Agents.
1.3 Multi-Agent Systems.
1.4 Hello World!
2 The BDI Agent Model.
2.1 Agent-Oriented Programming.
2.2 Practical Reasoning.
2.3 A Computational Model of BDI Practical Reasoning.
2.4 The Procedural Reasoning System.
2.5 Agent Communication.
3 The Jason Agent Programming Language.
3.1 Beliefs.
3.2 Goals.
3.3 Plans.
3.4 Example: A Complete Agent Program.
3.5 Exercises.
4 Jason Interpreter.
4.1 The Reasoning Cycle.
4.2 Plan Failure.
4.3 Interpreter Configuration and Execution Modes.
4.4 Pre-Defined Plan Annotations.
4.5 Exercises.
5 Environments.
5.1 Support for Defining Simulated Environments.
5.2 Example: Running a System of Multiple Situated Agents.
5.3 Exercises.
6 Communication and Interaction.
6.1 Available Performatives.
6.2 Informal Semantics of Receiving Messages.
6.3 Example: Contract Net Protocol.
6.4 Exercises.
7 User-Defined Components.
7.1 Defining New Internal Actions.
7.2 Customising the Agent Class.
7.3 Customising the Overall Architecture.
7.4 Customising the Belief Base.
7.5 Pre-Processing Directives.
7.6 Exercises.
8 Advanced Goal-Based Programming.
8.1 BDI Programming.
8.2 Declarative (Achievement) Goal Patterns.
8.3 Commitment Strategy Patterns.
8.4 Other Useful Patterns.
8.5 Pre-Processing Directives for Plan Patterns.
9 Case Studies.
9.1 Case Study I: Gold Miners.
9.2 Case Study II: Electronic Bookstore.
10 Formal Semantics.
10.1 Semantic Rules.
10.2 Semantics of Message Exchange in a Multi-Agent System.
10.3 Semantic Rules for Receiving Messages.
10.4 Semantics of the BDI Modalities for AgentSpeak.
11 Conclusions.
11.1 Jason and Agent-Oriented Programming.
11.2 Ongoing Work and Related Research.
11.3 General Advice on Programming Style and Practice.
A Reference Guide.
A.1 EBNF for the Agent Language.
A.2 EBNF for the Multi-Agent Systems Language.
A.3 Standard Internal Actions.
A.4 Pre-Defined Annotations.
A.5 Pre-Processing Directives.
A.6 Interpreter Configuration.
Bibliography.