Multi-Agent Oriented Programming

Programming Multi-Agent Systems Using JaCaMo

by Boissier, Bordini, Hübner, Ricci

ISBN: 9780262360678 | Copyright 2020

Click here to preview

Instructor Requests

Digital Exam/Desk Copy Ancillaries

The main concepts and techniques of multi-agent oriented programming, which supports the multi-agent systems paradigm at the programming level.

A multi-agent system is an organized ensemble of autonomous, intelligent, goal-oriented entities called agents, communicating with each other and interacting within an environment. This book introduces the main concepts and techniques of multi-agent oriented programming, (MAOP) which supports the multi-agent systems paradigm at the programming level. MAOP provides a structured approach based on three integrated dimensions, which the book examines in detail: the agent dimension, used to design the individual (interacting) entities; the environment dimension, which allows the development of shared resources and connections to the real world; and the organization dimension, which structures the interactions among the autonomous agents and the shared environment.

The book puts the approach into practice using the JaCaMo programming model and platform. It employs an easy-to-follow, step-by-step style, showing solutions to increasingly complex scenarios. The book also discusses the integration of MAOP into existing technologies and application domains, including mobile computing, web-based computing, and robotics. Finally, it considers artificial intelligence (AI)–related classical problems from an MAOP perspective and discusses an agent-oriented approach to software engineering.

Expand/Collapse All
Contents (pg. vii)
List of Figures (pg. xi)
List of Research Corners (pg. xiv)
List of Technology Corners (pg. xiv)
Acknowledgments (pg. xv)
1: Introduction (pg. 1)
1.1 Objectives (pg. 2)
1.2 Challenges (pg. 2)
1.3 Approach (pg. 4)
1.4 Intended Readership (pg. 5)
1.5 Book Structure and Reading Guide (pg. 5)
2: An Overview of Multi-Agent Oriented Programming (pg. 9)
2.1 Multi-Agent Systems (pg. 9)
2.2 Multi-Agent Oriented Programming (pg. 12)
2.3 Main Abstractions (pg. 14)
2.4 Integrated View (pg. 16)
2.5 Overcoming Challenges (pg. 18)
2.6 Wrap-Up (pg. 22)
2.7 Bibliographical Notes (pg. 23)
3: Getting Started (pg. 25)
3.1 Single-Agent Hello-World (pg. 26)
3.2 Multi-Agent Hello-World (pg. 27)
3.3 Hello-World Environment (pg. 28)
3.4 Hello-World Organization (pg. 30)
3.5 Bibliographical Notes (pg. 34)
Exercises (pg. 36)
4: The Agent Dimension (pg. 37)
4.1 Overview (pg. 37)
4.2 Agent Abstractions (pg. 39)
4.3 Agent Execution (pg. 45)
4.4 Bibliographical Notes (pg. 49)
Exercises (pg. 50)
5: The Environment Dimension (pg. 51)
5.1 Overview (pg. 51)
5.2 Environment Abstractions (pg. 53)
5.3 Environment Execution (pg. 66)
5.4 Bibliographical Notes (pg. 68)
Exercises (pg. 69)
6: Programming an Agent and Its Environment (pg. 71)
6.1 Programming a Proactive Smart Room (pg. 71)
6.2 Adding Reactivity to the Smart Room (pg. 81)
6.3 Adding Fault Tolerance to the Smart Room (pg. 84)
6.4 Making the Smart Room Adaptive (pg. 85)
6.5 What We Have Learned (pg. 89)
Exercises (pg. 89)
7: Programming Multiple Agents Interacting in an Environment (pg. 91)
7.1 Programming a Smart Room with Multiple Agents (pg. 91)
7.2 Decentralizing the Coordination with Interaction Protocols (pg. 98)
7.3 Environment-Mediated Coordination (pg. 103)
7.4 From Decentralization to Distribution (pg. 110)
7.5 What We Have Learned (pg. 116)
Exercises (pg. 117)
8: The Organization Dimension (pg. 119)
8.1 Overview (pg. 119)
8.2 Organization Abstractions (pg. 125)
8.3 Organization Execution (pg. 133)
8.4 Bibliographical Notes (pg. 141)
Exercises (pg. 142)
9: Programming Organizations of Situated Agents (pg. 143)
9.1 Programming an Organized Smart Room (pg. 143)
9.2 Changing the Organization (pg. 156)
9.3 Agents Deploying Their Organization (pg. 158)
9.4 Agents Reasoning about Their Organization (pg. 160)
9.5 What We Have Learned (pg. 163)
Exercises (pg. 163)
10: Integration with Other Technologies (pg. 165)
10.1 Libraries, Frameworks, and Platforms (pg. 165)
10.2 Mainstream Application Domains and Technologies (pg. 174)
10.3 Integration with Other Multi-Agent System Platforms (pg. 185)
11: Wrap-Up and Perspectives (pg. 189)
11.1 The MAOP Viewpoint—Wrap-Up (pg. 189)
11.2 MAOP and Artificial Intelligence (pg. 191)
11.3 MAOP and Software Engineering (pg. 197)
11.4 The Road Ahead (pg. 203)
Solutions to Exercises (pg. 205)
References (pg. 219)
Index (pg. 235)
Olivier Boissier

Olivier Boissier

Olivier Boissier is Full Professor of Computer Science at Mines Saint-Etienne, France.

Rafael H. Bordini

Rafael H. Bordini

Rafael H. Bordini is Associate Professor in the School of Technology at Pontificia Universidade Cató lica de Rio Grande do Sul, Brazil.

Jomi Hübner

Jomi Hübner

Jomi F. Hü bner is Associate Professor at University of Santa Catarina, Brazil, in the Department of Automation and Systems Engineering.

Alessandro Ricci

Alessandro Ricci

Alessandro Ricci is Associate Professor of Computer Science and Engineering at the University of Bologna.

Go paperless today! Available online anytime, nothing to download or install.


  • Bookmarking
  • Note taking
  • Highlighting