Next: Coordination Models Up: Distributed Implementation Previous: Distributed Implementation

The Model's Prerequisites

Our multi-agent model is aimed at addressing problems which are naturally distributed (both in space and time). In our model, agents coexist (in space and time) and share a common environment. Moreover, agents can move, act in parallel in the environment, each one having its own freedom for deciding. This implies a certain independence between agents in the system and between areas of the environment. Moreover, it is assumed that each agent has its own time or temporality, which is peculiar to its identity. To express our autonomy-based multi-agent model on a distributed architecture in the most natural way, we need an appropriate software platform in which the implementation would be the image of the model (the concepts) with the highest fidelity. We need some tools allowing us to coordinate our autonomous agents (since they interact in their environment) while preserving their structure and their behavior, like for instance their degree of autonomy.

If the problem of spatially coexisting agents is straightforward to be implemented on a distributed system (computation units are already spatially distributed), the problem of coexisting in time (temporality for each agent in the system) should be given a great consideration. In distributed systems, time is usually subordinated to space. Generally, distributed applications capitalize on the property of spatial distribution of services, e.g. two independent processes that can be executed in parallel on two nodes in order to improve the performance. Distributed applications are most of the time made up of processes which can run simultaneously on different nodes, and which have to be synchronized somehow (e.g. by message exchanges) in order to collect some (intermediate) results. Such applications do not fully convey the notion of proper time for each process, and moreover they do not aim at: thus, processes are embedded in a static coordination structure, where the slower process imposes its time (temporality) to the system (faster processes have indeed to wait for the slower process when synchronizing each others). Our concern is rather different. As previously stated, temporality features identity and autonomy: an entity is not anymore autonomous when its temporality is subsumed to an external time scale.

We have therefore to identify some flexible coordination patterns that will not alter every agent's temporality and behavior, and we have to develop corresponding tools and primitives. Our platform must be able to render to some extent the independence in space and time, without being interfered by coordination mechanisms exclusively embedded for a purpose of implementation.


Next: Coordination Models Up: Distributed Implementation Previous: Distributed Implementation

Chantemargue Fabrice
Thu Mar 12 11:42:01 MET 1998