Freshly Printed - allow 7 days lead
Couldn't load pickup availability
Programming Multi-Agent Systems in AgentSpeak using Jason
Rafael H. Bordini (Author), Jomi Fred Hübner (Author), Michael Wooldridge (Author)
9780470029008, Wiley
Hardback, published 5 October 2007
304 pages
25.4 x 17.5 x 2.2 cm, 0.68 kg
"This essential guide to ArgentSpeak and Jason will be invaluable to senior undergraduate and post-graduate students." (Zentralblatt Math 1132, August 2008)
Jason 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 Jason provides 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. The authors also give guidance on good programming style with AgentSpeak. Programming Multi-Agent Systems in AgentSpeak using Jason This essential guide to AgentSpeak 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.
Preface xi Acknowledgements xvii 1 Introduction 1 1.1 Autonomous Agents 1 1.2 Characteristics of Agents 2 1.3 Multi-Agent Systems 5 1.4 Hello World! 7 2 The BDI Agent Model 15 2.1 Agent-Oriented Programming 15 2.2 Practical Reasoning 17 2.3 A Computational Model of BDI Practical Reasoning 20 2.4 The Procedural Reasoning System 22 2.5 Agent Communication 25 3 The Jason Agent Programming Language 31 3.1 Beliefs 32 3.2 Goals 40 3.3 Plans 41 3.4 Example: A Complete Agent Program 58 3.5 Exercises 65 4 Jason Interpreter 67 4.1 The Reasoning Cycle 67 4.2 Plan Failure 86 4.3 Interpreter Configuration and Execution Modes 93 4.4 Pre-Defined Plan Annotations 97 4.5 Exercises 98 5 Environments 101 5.1 Support for Defining Simulated Environments 102 5.2 Example: Running a System of Multiple Situated Agents 109 5.3 Exercises 114 6 Communication and Interaction 117 6.1 Available Performatives 118 6.2 Informal Semantics of Receiving Messages 119 6.3 Example: Contract Net Protocol 130 6.4 Exercises 135 7 User-Defined Components 139 7.1 Defining New Internal Actions 140 7.2 Customising the Agent Class 144 7.3 Customising the Overall Architecture 151 7.4 Customising the Belief Base 155 7.5 Pre-Processing Directives 160 7.6 Exercises 162 8 Advanced Goal-Based Programming 165 8.1 BDI Programming 166 8.2 Declarative (Achievement) Goal Patterns 169 8.3 Commitment Strategy Patterns 172 8.4 Other Useful Patterns 175 8.5 Pre-Processing Directives for Plan Patterns 176 9 Case Studies 179 9.1 Case Study I: Gold Miners 180 9.2 Case Study II: Electronic Bookstore 194 10 Formal Semantics 201 10.1 Semantic Rules 207 10.2 Semantics of Message Exchangein a Multi-Agent System 212 10.3 Semantic Rules for Receiving Messages 215 10.4 Semantics of the BDI Modalities for AgentSpeak 221 11 Conclusions 225 11.1 Jason and Agent-Oriented Programming 225 11.2 Ongoing Work and Related Research 227 11.3 General Advice on Programming Style and Practice 230 Appendix: Reference Guide 235 A. 1 EBNF for the Agent Language 235 A. 2 EBNF for the Multi-Agent Systems Language 236 A. 3 Standard Internal Actions 237 A. 4 Pre-Defined Annotations 255 A. 5 Pre-Processing Directives 256 A. 6 Interpreter Configuration 258 References 261 Index 269
Subject Areas: Electronics & communications engineering [TJ]
