1. Preamble
In this course on Multi-Agent Programming, the focus is on the practical programming of Multi-Agent Systems. It addresses approaches for developing complex systems and approaches for simulating such systems.
Dealing with the development of complex systems, this course presents two main lines of use of the multi-agent paradigm for developing complex systems: Multi-Agent Based Simulation (MABS) for the simulation of complex systems and Multi-Agent Oriented Programming (MAOP) used for the integration of intelligent systems and development of socio-technical systems. Besides learning foundations and state of the art works done on this topic in the Multi-Agent domain, you will learn how to take a MAOP approach for developing Decentralized and Open AI systems.
2. Multi-Agent Oriented Programming
The Multi-Agent Oriented Programming approach consists in a composition of Agent models, Environment models and Organisation models, interacting all together. Each of these models are built by picking concepts in, respectively, the Agent, Environment or Organisation dimension. Using MAOP by privileging each of these dimensions may respectively lead to Agent Oriented Programming (AOP), Environment Oriented Programming (EOP) and Organization Oriented Programming (OOP).
We use the JaCaMo
platform for the practical exercises that are presented in this course. This programming platform results from the integration of the Jason Agent Programming Language supporting the JaCaMo
agent dimension, CArTaGo Environment Programming platform supporting the JaCaMo
environment dimension and MOISE Organization programming platform supporting the JaCaMo
organisation dimension.
2.1. Course Organisation
Lectures |
Practical Work |
Agents in a Simple Working Environment |
|
Working Environment for Multiple Agents |
|
Organized Agents |
|
2.2. Installing and Configuring the JaCaMo
platform
-
Install the JaCaMo Platform and develop applications with
eclipse IDE
by installing the jacamo eclipse plugin, or withAtom IDE
using syntax highlighting and shell commands scripts. -
Without installing the JaCaMo platform, you can use it with gradle or with docker.
-
More documentation:
-
JaCaMo Project where you can find documentations on the
JaCaMo
platform composed of the Agent Programming Language (Jason
), the Environment Programming Framework (Cartago
) , the Organisation Specification Language (Moise
) -
Some help on MAOP
-
APIs of:
-
2.3. Resources
2.3.1. Autonomous Agent and Multi-Agent System
-
Installing and Configuring the Multi-Agent Oriented Programming
JaCaMo
Platform -
More documentation:
-
JaCaMo Project where you can find documentations on the
JaCaMo
platform composed of the Agent Programming Language (Jason
), the Environment Programming Framework (Cartago
) , the Organisation Specification Language (Moise
), including: -
Some help on MAOP
-
2.3.2. Further readings
Engineering Intelligent Systems |
|
Introduction to Multi-Agent Systems (MAS) and to Multi-Agent Oriented Programming (MAOP) |
Programming Agents |
Programming Agent Working Environment |
Programming Organization and norms |
3. Multi-Agent based simulation
-
Introduction to Multi-Agent Based Simulation
-
Simulation coupling
-
REPAST