Table of contents
The Cassiopeia method is a way to address a type of problem-solving where collective behaviors are put into operation through a set of agents. It is not targeted at a specific type of application nor does it require a given architecture of agents. However, it is assumed that although the agents can have different aims the goal of the designer is to make them behave cooperatively. Cassiopeia relies on several concepts, namely those of role, agent, dependency, and group. The main idea is that we view an agent as nothing else but a set of roles, among which we distinguish three levels:
- Individual roles, which are the different behaviors that the agents are individually able to perform, regardless of the policy they will choose to perform them with.
- Relational roles, that is how they choose to interact with one another (by enabling/disabling individual roles), with respect to the mutual dependencies of their individual roles.
- Organizational roles, or how the agents can manage their interactions to become or stay organized (by enabling/disabling some relational roles).
Cassiopeia proceeds from the definition of the collective task to the design of the MAS along five steps, depicted in next figure as layers, that reconcile both the local and global views of an MAS :
- The individual roles layer, which contains the definition of the required individual roles in order to define the types of agent.
- The dependencies layer, which contains the definition of the dependencies between these roles (functional, resource-based or goal-based dependencies).
- The relational roles layer, which contains the definition of the way the agents can handle these dependencies, by playing given relational roles that enable them to influence other agents or choose how to be influenced by them.
- The groups layer, which contains the definition of the potential groups that may appear, with respect to the above influences.
- The organizational roles layer, which contains the description of the dynamics of these groups, that is the organizational roles the agents have to play to make them appear, evolve or disappear.
The order in which the five layers must be designed is not prescribed, in order for methodology to accommodate either a top-down or a bottom-up approach (or a mixture of the two). However, the usual way to enter the method is to begin by the individual roles layer and to end by the organizational roles layer, as depicted in next figure. It is a bottom-up approach, but not in the commonly held sense of the term "bottom-up", because the overall organization (in the definition of the roles) is taken into account from the beginning. Moreover, and unlike most approaches to the design of groups of agents, the process is not intended to be sequential, but iterative and incremental.
List of the people who have worked or still work on this project :
- Anne Collinot (1992-..) : one of the initiators of this project, who has developed the notions of roles and supervised most of the students works on this subject (she also invented the name of the methodology, after the W used in the steps).
- Patrice Carle (1992-1995) : another initator, who has insisted on the software engineering side of this project.
- Jean-Daniel Zucker (1996-..) : introduction of Machine Learning techniques as tools for designing multi-agent systems in Cassiopeia.
Some internal projects have used or plan to use Cassiopeia as a design guideline. The most interesting work has been done on the first generation of Microb robots.
Most of the work on Cassiopeia has been conducted with the help of people from the ONERA and Dassault-Aviation.
You might be interested to take a look at these papers for further information :
- A technical paper on combining Machine Learning techniques and Cassiopeia, in a new methodological approach called Andromeda.
- The paper published in the ICMAS'96 proceedings, partly rewritten for the Journal of Autonomous Agents and Multi-Agent Systems.
You might be interested to take a look at these links for further information :
- Aaladin (a framework developed by Jacques Ferber)