Jason is an Open Source interpreter for an extended version
of Agent Speak – a logic-based agent-oriented programming
language – written in Java(TM). 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 Agent Speak using
Jason provides a brief introduction to multi-agent systems
and the BDI agent architecture on which Agent Speak is based. The
authors explain Jason’s Agent Speak 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. The authors also give guidance on good programming style
with Agent Speak.
Programming Multi-Agent Systems in Agent Speak using
Jason
* Describes and explains in detail the Agent Speak extension
interpreted by Jason and shows how to create multi-agent systems
using the Jason platform.
* Reinforces learning with examples, problems, and
illustrations.
* Includes two case studies which demonstrate the use of
Jason in practice.
* Features an accompanying website that provides further learning
resources including sample code, exercises, and slides
This essential guide to Agent Speak and Jason will be
invaluable to senior undergraduate and postgraduate students
studying multi-agent systems. The book will also be of interest to
software engineers, designers, developers, and programmers
interested in multi-agent systems.
Tabela de Conteúdo
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 Agent Speak.
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.
Sobre o autor
Rafael H. Bordini, University of Durham, UK
Jomi Fred Hubner, University of Blumenau,
Brazil
Michael Wooldridge, University of Liverpool, UK