Multi-Agent Programming

course image

This tutorial provides an integrated view of the four complementary dimensions of an approach to Multi-Agent Oriented Programming (MAOP): agent, interaction, environment, and organization. We illustrate the approach by using the JaCaMo framework, which provides the means to seamlessly integrate all these dimensions. JaCaMo has already been developed for a certain number of years and is fairly robust and fully-fledged. The tutorial introduces the relevant MAOP’s concepts and techniques through an illustrative scenario that simultaneously uses all four dimensions. Hands-on activities are proposed for each dimension to endow participants with the practical skills on programming MAS.

Introduction to Multi-Agent Oriented Programming

We present a comprehensive view of Multi-Agent Oriented Programming (MAOP) models issued from existing platforms, languages and applications of multi-agent systems (MAS). We discuss an integrated view of the four MAOP dimensions, the abstractions, and first class entities that can be used as candidates for programming MAS. We briefly explains the difference between MAOP and other approaches for MAS programming (i.e., agent-oriented programming, interaction-oriented programming, and team-oriented programming). We introduce a case study that is used in hands-on activities throughout the tutorial. In this part, the hands-on activities guide participants in installing the JaCaMo framework and running applications on their devices.

Agent and Interaction Dimensions

We detail the concepts and abstractions of the agent and interaction dimensions in MAOP. We describe the agents’ behavior at runtime through the detailing of the main steps of an agent reasoning cycle, and how agents can interact among themselves through simple messaging. We then turn to the hands-on activities in which participants implement the agent and interaction dimensions in the case study using JaCaMo.

Environment Dimension

We discuss the different approaches related to environment-oriented programming in MAS to provide a map of existing languages and platforms. Next, we present the concepts and abstractions of the environment dimension in MAOP. We then propose hands-on activities in which participants implement the environment dimension in the case study using JaCaMo, emphasizing its integration with the agent and interaction dimensions.

Organization Dimension

We present the concepts and abstractions of the organization dimension in MAOP (e.g., roles, groups, missions, and norms). We then propose hands-on activities in which participants implement the organization dimension in the case study using JaCaMo to grasp how organizational goals are related, decomposed and distributed to agents, and how they can be integrated into the agents. The hands-on activities also emphasize the integration of the organization dimension with the agent and interaction dimensions.

JOMI

About Jomi

Jomi F. Hübner is a Professor at University of Santa Catarina (Brazil). He received his PhD degree from University of São Paulo in 2003. His research interests include multi-agent programming and tools to develop such systems. The main projects he is co-developing are Moise (an organisational model and infrastructure), Jason (an interpreter of a language for belief-desire-intention agents), and JaCaMo (a multi-dimensional programming platform for MAS). For Jason and JaCaMo, Jomi has co-authored books published by Wiley and MIT press. Jomi F. Hübner has more than 20 years of experience teaching various subjects in computer science (e.g., artificial intelligence, computer programming, and multi-agent systems). This experience also includes previous tutorials: Organisation Oriented Programming of Multi-Agent Systems at AAMAS 2009, Multi-Agent Programming at EASSS 2010 and AAMAS 2015, Multi-Agent Oriented Programming at Summer School on AI for Industry 4.0 and WESSAC 2021, and Multi-Agent Oriented Programming at 23rd European Agent Systems Summer School (2023).