© Copyright JASSS

  JASSS logo ----

Rémy Courdier, François Guerrin, Fenintsoa Hary Andriamasinoro and Jean-Marie Paillat (2002)

Agent-based simulation of complex systems:
application to collective management of animal wastes

Journal of Artificial Societies and Social Simulation vol. 5, no. 3

To cite articles published in the Journal of Artificial Societies and Social Simulation, please reference the above information and include paragraph numbers if necessary

Received: 9-Oct-2001      Accepted: 5-Jun-2002      Published: 30-Jun-2002

* Abstract

This paper presents the utilization of the multi-agent platform Geamas through the Biomas application for the collective management of animal wastes. The complexity of the scenarios under study gives rise to many unpredictable behavioral schemas whose analyses necessitate a simulation approach. In the present article we describe the whole set of concepts in use in multi-agent systems modeling and we demonstrate how these concepts are implemented in the Biomas application. We put the emphasis on the representation of agents, roles and on their operational environment. Simulation outputs of a realistic scenario of negotiation between agents are discussed and we demonstrate the importance of a well-adapted user interface.

Livestock Farming; Logistics; Multi-agent Simulation; Negotiation; Production System Management; Waste Treatment.

* Introduction

Simulation as a Tool for Analyzing Complex Systems

Complex natural and social systems are the subject of many studies aimed at understanding their characteristic dynamics and functioning. These systems are characterized by a great variety of interaction between their components. Often, at different levels, collective phenomena give rise to emergent properties (Costanza R. & al., 1993; Drogoul A. and Ferber J., 1994). Simulation, which creates an abstraction of the system as it evolves through time is a particularly appropriate methodology for studying systems that are inaccessible through direct observation and measurement, either because they cannot be reproduced or because they cannot be directly experimented with (Conte R. and Gilbert N., 1995). Multi-agent simulation offers the possibility of representing the individuals, their behavior and their interactions. It is possible in this way to analyze a phenomenon as the fruit of the interactions of autonomous entities. Thus, multi-agent simulation enables us to construct artificial micro-worlds in which we can control all the parameters (quantitative or qualitative) at all levels, whether relating to individual, group, society or environment. One of the most interesting aspects of multi-agent systems (MAS) relates to the fact that on reduced models of societies we can directly experiment on the theories or alternatives that we wish to study.

Nevertheless, the construction of a multi-agent system is not a simple task. Conceptual methodologies have been emerging from abstract models developed over the last few years: Cassiopée (Collinot A., Ploix L. and Drogoul A., 1996) puts the accent on conception, Aalaadin (Ferber J. and Gutknecht O., 1998) defines the notions of role and group and Maleva (Lhuillier M., 1998) is implementation oriented. They deal with several aspects of MAS (agent, organization, role, task, environment...) and put forth specific formalisms (languages, graphs, diagrams, ...). The relative immaturity of the domain made it advisable to unify these models and methods by a modeling language similar to what UML (Unified modeling language) is for the object paradigm (Object Management Group UML Resource Page http://www.omg.org/uml). Even if a first approach is outlined in the recent Foundation for Intelligent Physical Agents (FIPA, 2000, http://www.fipa.org/specs/fipa00001), this approach represents only preliminary specifications principally centered on the inter-operability of distributed agent systems.

In our opinion, the construction of a methodology necessitates experimentation with theoretical approaches on real applications. It is such a method that has underpinned our work and this article. Taking a concrete frame of application adapted to the problematic of complex systems (the collective management of livestock farming wastes), in this article we describe the use of modeling concepts developed in the Geamas multi-agent simulation platform (Marcenac P. & al., 1998). Many of them were elicited by the necessities of the Biomas application described below.

The Example of Negotiated Management of Livestock Farming Wastes

Due to environmental risks and governmental regulations that weigh heavily on the livestock industry, the management of wastes has become an urgent necessity, particularly in the Reunion Island (Paillat J.M., 1998). The organization of transfers of these organic materials (OM) between surplus-producing farms (i.e. farms where livestock raising activity dominates) and deficit farms (i.e. predominately crop production) is foreseen. With this in view, our work aims at modeling management on a territorial scale in order to simulate the possible transfers of OM between farms, and thus, to test the alternatives of organization open to the agricultural industry.

The resulting MAS, called Biomas (Guerrin F. & al., 1998), was developed as an application of the development platform Geamas (version 3.5). In Biomas, a territory is viewed in regard to waste management. The territory is composed of several farms possessing livestock farming activities, crops, types of transportation and storage units. Possibly, to this are added collective waste treatment facilities (WTF) that function by means of several processes. These units are positioned in space. Livestock farms create a supply of OM and crop farms create a demand that must be met and that is conditional upon satisfying quality, quantity and availability conditions. The process enabling the matching of the characteristics of supply and demand that leads to a transfer is called a negotiation. Any negotiation can be initiated either by supplier or client-user. The transportation from the place of storage (livestock farming buildings) to the place of use (plots) can be effected if and only if a shipper can be found whose characteristics are compatible with the terms of the contract concluded between supplier and client-user (capability of transporting the OM, availability). The shipment is thus the result of a negotiation between supplier of the OM and shippers.

Since such a system may be conceptually described in terms of (possibly numerous) interacting entities endowed with a certain autonomy, The multi-agent paradigm came naturally to the fore as the most indicated modeling approach. Our aim is thus to simulate the circulation of OM amongst some set of farms in order to perform "What-If" analyses such as: "What would occur if some waste treatment facility is shared by a subset of farms?"; "What if such livestock farmers are assigned some set of management rules?". The principal objective is to provide agronomists with help to explore the effect of various modes of interaction within such a system. Biomas is used, for example, to evaluate the flux of pig slurry produced by fifty or so farms in the region of Grand Ilet, Reunion Island, in anticipation of the possible creation of a collective WTF and to determine management parameters (type of process, supply, product destination) (Renault D. and Paillat J.-M., 1999). We are interested in assessing the risks of pollution according to current or possible practices of farmers. Such simulated scenarios may involve several hundred interacting "cognitive" agents (having reasoning capacities) representing the various entities interacting within the system.

The first section of the paper contains the description of most of generic concepts of agent modeling implemented in Geamas. In this section, we first set forth the generic elements of static entity representation that make up a MAS. Then, we describe the behavioral aspects of the system using the central notions of role and negotiation/action model. Finally, this section outlines the architecture of the Geamas platform and emphasizes the role of an adapted editor/graphic interface which makes it possible to create agents by coupling with a database, localize them in geographic space by association with situated objects, specify the acquaintanceship networks between agents, modify and record simulation parameters, and visualize the results through appropriate text and graphics.

A second section shows how both the structural and behavioral concepts implemented in the Geamas platform are utilized in the Biomas application. It describes also the informatic implementation of the model and then provides a simulation example. From this, we try to clarify the importance of the local and global interpretation of the results of the simulation. Finally, validation issues of both the Geamas platform and the Biomas application are addressed in the third section along with the current limitations and projected development path for both the platform and the application. Some considerations about the need for a methodology for MAS design are also offered.

* The Geamas Multi-Agents Platform

Modeling Structural Aspects in Geamas

Generic agent mode

Abstraction is often used in knowledge representation to reduce complexity. This brought us to conceive the Geamas agent model to utilize an architecture at three levels of abstraction: Micro, Medium and Macro, each which represents a level of abstraction superposed over the preceding one. All MAS created with Geamas are structured into an organization describable by a graph. (see Figure 1). Each agent, regardless of its type, is independent and executes processes asynchronously, thus conforming to the pro-activity principle of the agent paradigm (Guessoum Z. and Briot J.P., 1999).

Figure 1. Geamas agent model

The macro level, sometimes called Society, describes the modeled system in its coarsest granularity. The MAS contain only one macro-agent which represents the whole of the system. It possesses a global knowledge of the system and the sub-systems of which it is made up.

The Micro level corresponds descriptively to the finest granularity. Each micro-agent is an autonomous entity describable by its interactions with the other agents, its behavioral characteristics and its capacities for evolution. These agents communicate by messages asynchronously transmitted throughout their acquaintanceship network. Depending upon its state, an agent can decide to react or not in order to optimize an internal satisfaction function. At this level it is important to apply the principle of omission (detail masking) in order to master the complexity of the model to avoid a multiplication of micro-agents (Fox M.-S., 1988).

The Medium level is descriptive of any eventual intermediary structures, which are considered as sub-systems of the global system. The medium agents exist only in relation to the Micro-level of which they are abstractions. As autonomous structures, they can impose constraints upon the micro-agents through the Composition and Decomposition mechanisms defined in (Marcenac P. & al., 1998). Evolved from our work on geo-physical modeling, this level constitutes a support for behavioral emergence. It makes possible the synthesis of behaviors of different agents through time; this is the manner in which the volcanic eruptions of the Piton de la Fournais (Reunion's active volcano) were described in Lahaie et al., (1996). It also makes it possible to hierarchically conceptualize a model; this is illustrated by the representation of structures of groups of executants (livestock farmers, crop farmers, transporters, WTF managers) defined during the conception of the Biomas application that we describe further (section 3.12).
Society Structure

The society structure describes how agents are organized. It is thus responsible for representing the collectivity of agents and inter-agents connections (as possibilities of interaction). The structure is organized as a dynamic network of acquaintances where agents correspond to nodes and possibilities of interaction to edges. The choice of a network as a data structure for organizing agents is justified by its flexibility to model various real-life situations. In addition, it allows one to describe topologic notions such as distances, connectivity, etc. Indeed, the acquaintance links number of each agent (called agent connectivity) determines the network topology and constitutes an interesting feature to design multi-dimensional aspects of social networks. As connections determine the ability of an agent to communicate, a part of the communication protocol is thus defined by assigning this parameter with a value. It describes the influence an agent can have onto the others.

In addition, some more information may be added to the graph: for example, edges can be strengthened to take the communication intensity between two agents into account. This feature allows the model developer to set some priorities on messages circulating among certain agents. The intensity of a link between two agents is specified by a function specific to each agent. This function thus determines the utility of an agent's exchanges. In our model, agents evolve in a world whose structure is defined by their communication network, and each agent can solely interact with its immediate neighborhood. Agents' behavior and state are therefore influenced by the actions of their neighbors. When an agent acts or changes its state, some of its neighbors may react with more or less priority according to their link intensity. This is graphically represented, in the simulation interface of the Geamas platform, by an arrow whose size is proportional to the communication intensity (Figure 5).
Agents vs. situated objects of the environment

The entities represented in Geamas are modeled in the form of agents and situated objects (Figure2). We speak of an agent when the entity exerts, with a relative autonomy of decision, a power of action over other entities (situated objects or other agents). Otherwise, we speak of a situated object, even if such an object is capable of imposing certain constraints upon the action of real agents. These (static) constraints are of a different nature than those involved in the relations between agents (negotiation, decision, action). They belong to a homogenous relation of type has-a, called in Geamas Resource Relation. Thus, any Geamas agent can be associated with a situated object permitting it to act on the environment. A situated object is therefore considered as an entity that is external to the agent. It possesses a set of attributes that relate to the environment in which it acts.

Figure 2. Links between agents and situated object in Geamas

Modeling Behavioral Aspects in Geamas

The concept of role in Geamas

As in Aalaadin (Ferber J. and Gutknecht O., 1998), a role corresponds in Geamas to a function of an agent. This notion makes it possible to describe the functional aspects that are liable to evolve through time. Thus we can dynamically simulate the evolution of roles held by the agents according to the rules or constraints specified in the model (under certain circumstances, an agent can assume a role and then change).

A role is defined by four elements (Vally J.D. and Courdier R., 1998):

Role = <Aim, Properties, Resources, State>

An Aim is modeled by the function of satisfaction of the agent associated with the role (see 3.1). A Property can correspond to an attribute, a behavior (methods making it possible to react to messages pertaining to the role), or a simpler role. It can be:
  • Preexistent: when the agent must possess the property in order to be considered for the role.
  • Dependant: when the property is temporarily attributed to the agent so that it can execute the role; it is utilizable only in the case of the particular role and disappears when the agent no longer executes the role in question.
  • Persistent: when the property is conferred permanently on an agent while it executes a given role; this type of property was introduced principally as a support for learning mechanisms.
A Resource corresponds to a situated object or a subordinate agent necessary to the execution of a role. As with a Property, the Resource can be Preexistent, Dependent or Persistent. This concept helps to take into account the objects of the environment in the roles executed by the agents. The State of the agent makes it possible to specify the preconditions for which it can execute a given role.

Among the notions specified in Geamas there exists a role hierarchy. It enables us to distinguish between very general roles and specialized sub-roles in the same way as in the hierarchy of objects. Geamas makes the construction of master-slave relationships possible. The master agents can distribute roles to subordinate agents; these subordinates can solicit a master agent to execute a role at a given instant. The agent automatically acquires a role if it possesses the set of Resources and Properties necessary to assume it. In the case of a subordinate agent, it must first solicit the agreement of the master agent upon which it depends. An agent loses its role in the following situations: either it loses the required resources and properties, or the master agent, which conferred the role, decides to annul it. For further details, see (Vally J.D. and Courdier R., 1998).
Communication between agents

The management of communication between Geamas agents is effected through mailboxes. Each agent is given an In and an Out box which it manages by individual strategies (Figure3). The Inbox memorizes the messages to be treated by the agent; the Outbox stocks the messages to be sent throughout the acquaintanceship network. The mailing mechanism is thus quite different from that of the object oriented approach in which the target object is imbued with a method to be executed. The Geamas mechanism makes it possible for each agent to observe the Out mailboxes of the agents belonging to its acquaintanceship network and to add the references of the messages addressed to it to its own Inbox. This mechanism is based on the Observer mechanism in Java. The control of this behavior is effected by a meta-function Behavior that implements agent autonomy. According to its state, its acquaintanceship network, and its roles, Behavior selects and establishes priorities for the messages to be managed. This enables it, for example, to stop processing a running task in order to initiate a better adapted response to the situation under way. Recently, we have enriched the Geamas platform version 4.0 by working on the generalization of this model of communication which is essential for modeling social organizations.

Figure 3. Observers and asynchronous message passing

Geamas Architecture and Simulation Facilities

Geamas architecture

The Geamas platform is constructed by extension/specialization of the Java environment 2.0 thanks to mechanisms of inheritance of the object-programming paradigm (Figure 4). It includes two software modules: a simulation engine and a "virtual laboratory". The core of the system, the simulation engine, is composed of three layers:
  • the Geamas layer, which implements the generic agent model described in section2.1, and in which each component encodes a particular aspect (attributes, roles, method of communication, autonomy meta-function, etc.);
  • the Application layer, making it possible to apply the generic agent model to a particular application domain taking advantage of the object-paradigm faculty (class structuring, inheritance, polymorphism, reusability, etc.);
  • the Simulation layer, which specifies the abstract entities defined in the Geamas and Application layers; each agent or situated object can generate a multitude of instances to be put into play by the simulation.

Figure 4. The Geamas platform: relations between software modules

The core of the Geamas framework automatically manages the entities of the Application layer. This conception frees the developer from a considerable programming effort. The models so generated can represent a large number of real systems: GeOmas for the analysis of geophysical risks (Lahaie & al., 1996) based on reactive agents, Biomas for the management of animal wastes with cognitive agents. The "virtual laboratory" is an interface that furnishes the user with a set of tools for the management and guidance of simulations. To this effect an interface based on Java event management techniques is used. We note that the Geamas simulation engine is independent of the virtual laboratory and can be coupled to any graphic interface.
Generic modeling and simulation interface
Principal functions:

Geamas's "virtual laboratory" makes possible agent creation, consigning of situated objects to agents and their positioning in environmental space, the defining of acquaintanceship relations, and the input of attribute values (Figure 5). For each agent it makes it possible either globally or locally to obtain textual traces of the simulation or graphics that express the evolution of numeric variables. Geamas thus offers two types of written traces:
  1. that of the set of messages exchanged, indispensable in the phase of model revision;
  2. one which offers a final or partial accounting of the simulation, by agent or group of agents.

The utilization of visualization layers makes it possible to filter the individual graphic outputs by the agents or the desired characteristics. It is possible, at any given moment, to create new agents or situated objects and to modify their attributes as well as to save the current simulation's state. Geamas's interface with relational databases works by extracting information from relevant tables that embody inquiry data to be exploited in the Geamas's agent model. We can thus automatically create a large number of agents and situated objects and initialize their attributes from real data.
Simulation global interpretation tools:

When there is a considerable population of simulated agents (several dozens of agents), it is not possible to interpret a simulation by examination of all the graphics or individual traces. Graphics displaying collective simulation results make it possible to visualize the system dynamics at the level of agent population. In order to rapidly process visual interpretations, it seemed important to us to represent qualitatively the state of an agent through an indicator based on a color code: red, orange, green represent the notions of bad, acceptable, good. To this end, the icons representing the agents in the Geamas interface are given a square that, based on the agent's degree of satisfaction (cf. Section 3.4), turns the color corresponding to the state of the agent in question (Figure 5). The numeric-symbolic conversion is based on the degree of satisfaction _ by numerical thresholds. For example: δ < 0.2 ⇒ red, 0.2 < δ < 0.8 ( orange, δ > 0.8 ⇒ green. In addition, black is used to indicate an insignificant state of an agent.

The visualization of acquaintanceship networks between agents, for which the arc thickness is conditioned by the volume of messages exchanged, facilitates the study of the system's organization. We can therefore easily identify the sub-sets of agents involved in considerable interaction.

Figure 5. Interface for the creation and control of simulation scenarios of Geamas applied to Biomas

Representation and management of time:

To interpret the results of a simulation of a dynamic system and the parameters of its actions, it is of utmost importance to have a time base that is adapted to the application. With this in mind, the Geamas core has been enriched by a "system" agent, called TimeUnit, for the management of temporal aspects. This agent is tantamount to a clock that makes it possible to convert a certain number of ticks of the machine clock into astronomic time periods (y, m, d, h, mn). The conversion basis between the processor time and the simulation time, specified by the user, corresponds to the time scale chosen for the model (shortest period under which we ignore any eventual changes). This parameter influences the speed of simulation: for example, a time step of 8 milliseconds signifies that this lapse is equivalent to one minute of real time.

The initial state is specified as a date in astronomic time. During the simulation, a clock tracks the simulated time. The agents communicate with the clock by means of messages. Following on certain actions, they request to be awakened (cf. Figure 9) either at an absolutely determined time (a particular date) or at a relatively determined time (in x minutes, days, months). The messages exchanged by the agents are systematically classified on the basis of simulated time; they appear thus on all the visualization tools: agent inspector, message tracer, etc. (see the trace appearing in Appendix A). This mechanism is often exploited to order actions temporally. For example, the message:

(agent120.0) <02/03/02 12:03:44>agent120 action_type2 in 72 days

was sent by the agent agent120 on 02/03/2002 at 12h 03mn 44 seconds simulated date and time, to the TimeUnit agent which will awaken it 72 days later to perform a "type 2" action.

* The Biomas Application

Modeling Structural Aspects in Biomas

Specialized Biomas agent model
Categories of Biomas agents:

In conformity with the Geamas agent model (section 2.1), Biomas differentiates between three categories of agents (Figure 6):
  • the executants and the physical entities pertaining to the Micro level;
  • the groups of executants pertaining to the Medium level;
  • The Biomas system as a whole as Macro-agent

Figure 6.
  • The executants and the physical entities pertaining to the Micro level;
  • The groups of executants pertaining to the Medium level;
  • The Biomas system as a whole as Macro-agent

At the Micro-level we have differentiated between two types of agents. The first is composed of the Executant agents who possess the capacity of negotiation. Their function is defined by the composition of roles of OM producer (OMP), OM consumer (OMC), and OM shipper (OMS) - (cf. definition of role in 2.8). These agents are potentially linked by acquaintanceship networks, which determine potential networks of OM transfer (Figure 6). The second type consists of the physical entities of which an activity is composed: Crops, Livestock, Type of shipping, Storage facilities, Waste treatment facilities (section 3.12). These agents are subordinated to the Executant agents: they serve essentially to transmit an alarm, respond to inquiries, and to execute the actions of the agents to which they are subordinated. These subordinated agents possess their own behavioral cycles: OM production cycles, crop cycles, and OM delivery cycles. These cycles are independent of the other agents in the system and can be subjected to influences from environmental factors; for example, climatic conditions for crops. The action of external factors and their particular dynamics will alter behavior in the physical agents in a way that escapes, for the most part, the control of the Executant agents. This relative behavioral autonomy justifies their being considered agents.

At the medium level, we have specified the Group agent which represents a collective management structure for animal waste treatment of participating executants. Each executant can belong to one or several groups. A Group can impose constraints upon its members (for example, the delivery of specified quotas of OM to the WTF it manages). It is therefore, a hierarchically superior agent capable, like an auctioneer at an auction (Bousquet F., Bakam I., and Proton H., 1998), of playing a structuring role not limited to the observation of agents situated below it (cf. model Aalaadin, Ferber J. and Gutknecht O., 1998).

The state of an agent is characterized by a set of numeric or symbolic attributes. For example, the duration of shipping, calculated by the shippers as a function of the speed and the distance, enables us to distinguish temporally between an action of OM removal (updating of stock of a livestock farm) and an action of delivery (updating of crop needs). The attributes making it possible to characterize the state of a Livestock Farming agent are given as an example in Figure 7.

Figure 7 Attributes of Livestock farming agents in Biomas

AgentSymbolic attributesNumeric attributesCritical Thresholds
Livestock FarmingName
Livestock size (nb.)
Flux of waste (m3 /day)
OM stock (m3 )
Stock capacity (m3 )
Auto-consumption (%)
Degree of satisfaction (dmnl)

The degrees of satisfaction of the Livestock Farming and Crops agents, which come into play as criteria at the conclusion of a negotiation, warrant differentiation (cf section3.17). The satisfaction of a livestock farm resides in its capacity to export its OM stock at a given threshold, while the satisfaction of a crop is to cover its needs in OM. These degrees of satisfaction, δ, are calculated as follows:

where VO are the quantities of the offer, VD the quantities desired and VT the quantities shipped over time (delivered to a crop farm or unloaded from a livestock farm).

Contrary to the OM production by livestock farms (a monotonically increasing function), the OM requirement of a crop is not a monotonic variable: either we fertilize at the right moment, or else it is too late to fertilize. The requirement is determined by three attributes: the nature of the acceptable OM (a function of the type of crop), the quantity to be applied (product of the dose in m3 /ha for the plot area), and the period of application, which is itself determined by the crop cycle (earliest date + time lapse).

The organic materials constitute the matter that is to circulate between agents of the model. They are characterized by their nature (poultry manure, pig slurry, mud, etc.). Their quality affects their use (compatibility of different types of OM with fertilization of different crops). They are described by their names, their dry matter and nitrogen contents, and their density. The WTF is represented in the form of an input/output mass balance model which, for each type of treatment process (nitrification/denitrification, composting, etc.), describes the outflows of the different products in relation to the inflows of untreated OM and gives their characteristics.

Modeling the environment in Biomas

The Biomas agents whose actions should be circumscribed in geographic space (for example, livestock farms, crops, and transportation) are represented in space by situated objects characterized by their position. For example, the agent Livestock will be represented by an situated object Livestock building, in order to situate the excesses of OM stock or to take into account the distances separating the crops from the site of OM production involved in agent negotiations. In a similar way, each Crop agent will be materialized by a Plot, a WTF by a Localized WTF, a unit of stocking by a Platform, and a Type of Shipping by a Vehicle (Figure 8).

Figure 8. Agent-Situated object links in Biomas

We underscore the fact that certain situated objects do not relate directly to any micro-agent (Road Section, IDZ: Illegal Dumping Zone. Figure8). In conformity with our definition of situated objects (see section2.7) those entities that are incapable of interactions can, nevertheless, serve as supports for the reasoning conducted by the agents. For example, a Road Section, is characterized by type (national, departmental, rural, private path), length and connection points with other situated objects (other sections, vehicles). A graph of elementary sections is thus constructed by the shippers in order to calculate an itinerary that makes it possible to ascertain the position of a vehicle, its loading site and destination, and to determine the time and cost of delivery. An IDZ represents a portion of space in which the dumping of OM is illegal (for example, fallows, ravines, steeply inclined lands, etc.). The rule of decision associated with this type of object is "If the stock of OM of a farm (or unit of storage, or WTF) reaches its maximum capacity and if the farmer finds no takers, then he will dispose of the excess in the IDZ." It is principally this illegal dumping and the satisfying of crop needs that we propose to scrutinize through Biomas.

Modeling Behavioral Aspects in Biomas

The roles in Biomas

The functions of producer, consumer, shipper of OM, designated respectively as OMP, OMC, and OMS, are understood as roles that can be occupied by executants. What goes on in the interior of the executants is not represented in detail in Biomas. Thus, an agent executing the role of:
  • OMP is an exporter of OM (it cannot consume);
  • OMC is an importer of OM (it cannot produce);
  • OMP-OMC is potentially both an net importer and exporter of OM (in general of different types); as in the case of the waste treatment facilities which import raw OM (for example, livestock wastes) and export treated OM (for example, compost)[1];
  • OMS assures the link between an exporter (OMP) and a specific importer (OMC); in Biomas this excludes taking shipping into account within a single farm.
All types of role composition are thus possible: for example, the attribution of the three roles OMP, OMC, OMS defines a multi-activity facility livestock-crop-shipping or a waste treatment facility with its own shipping.

To model the complexity of situations which can exist in reality, this notion of role is particularly useful in Biomas. In effect, each agent Executant can be led to propose, order, or transport OM in function of its state. The possible roles played by these agents depend on the links with the other agents. The calculation of exchanged volumes of OM is the Preexistent Property principally required for the OMP and OMC agents. The one required for the OMS agent is the calculation of an itinerary: i.e. from a roadmap, generate an ordered list of road sections to connect points in spaces determined by their positions (section3.8). The behaviors generated during negotiations between agents are the Dependent Properties that define the roles of OMP, OMC and WTF agents, as indicated in Figure9. For example, the OMSupplyAnalysis() is a property of an OMC that makes it possible to verify the compatibility between an offer emanating from an OMP with particular requirements. The Resources of an OMP are the Livestock Farming agents, of an OMC are the Crop agents, and of an OMS are the Type of Shipping agents. In Biomas, any Executant agent possesses the set of properties required to play the three roles; the effective execution of a role is determined uniquely by the agent's resources. Thus, a farmer having both livestock and crops will be represented by an agent that will perform a livestock farming activity (i.e. OMP role) through the intermediary of several Livestock agents, and a crop farming activity (i.e. OMC role) by the intermediary of several Crop agents. An Executant agent will play the role of an OMS at a given time if and only if it is in relation with a Type of Shipping agent throughout the whole period.
Complex entity representation
The Enterprise:

The set composed of the Executant and its subordinated agents (livestock farms, crops, shipping, etc.) are represented by the notion of Enterprise (e.g., a farm, a shipping enterprise, a WTF). In Biomas, we have favored the level of analysis relating to collective management (inter-farm transfers) to the detriment of processes internal to the individual enterprise - this is taken up by another model, Magma (Guerrin, 2001). Nevertheless, in order to take globally into account the transfers within a farm enterprise that includes both crops and livestock, a percentage of auto-consumption (PAC) is specified at the level of each Executant agent OMP-OMC (and only for them). This is given as a percentage of OM stock reserved for its own crops. Following the same reasoning, the percentage of auto-satisfaction (PAS) is the percentage of requirements of the crops satisfied by the livestock activity of the particular enterprise. The PAC makes it possible to determine the OMP agent's export capacity: ExportStock = GrossStock (1 - PAC/100). The PAS makes it possible to determine the import capacity of an OMC agent: ImportRequirement = GrossRequirement (1 - PAS/100). The PAC is calculated on an annual basis:
  1. verification of OM compatibility with crops;
  2. evaluation of the annual production of the livestock farm;
  3. evaluation of the annual crop requirements;
  4. calculation of quantity auto-consumed.

The negotiation process is invoked for an OMP-OMC activity in the following cases:
  • the PAS consumed by the crops is insufficient to cover the requirements, thus generating a non-local demand;
  • the PAC yielded by the livestock is too low to avoid passing a critical stock threshold, thus generating a supply for the market.
Waste treatment facility:

In the management of the waste treatment facility several hierarchically ordered agents come into play (Figure 6): a set of OMP executant agents, a WTF agent, and a WTF-executive agent subordinated to a WTF management group agent.

The Group is the agent responsible for imposing the management constraints on the Executant agents specified as members. These management constraints may be imperative, applicable to all, or individualized (representative of "contracts" between the group and the particular executant agent). We have also implemented a group membership process for the OMP executants, as well as a penalty system in the case of non-respect of the group regulations. When an agent is named as member of a group it must inform the WTF executive agent, which in turn, automatically induces an acquaintanceship which links it as member. The principal reason for the existence of the Group agent is to make the constraints evolve dynamically during simulation (for example, as a result of external influences). In order to simplify, we limited ourselves at first to a set of given constraints. The principal constraints are:
  • mode of delivery: obligation for total or partial delivery of waste to the WTF;
  • frequency of delivery: determined or by demand;
  • quantity to deliver: all or a part of the OM stock available (in %);
  • mode of supplying: collection effected by the WTF or supplied by individual members;
  • mode of destination of the products generated by treatment: recuperation (total or partial) by members (for example, pro rata of OM delivery) or non recuperation (the products are marketed by the WTF).

Scenarios with any combination of these constraints can be simulated. In the case where an executant cannot meet its delivery quota (lack of available OM), it informs the WTF executive of the situation, which transmits this information to the group. Sanctions can be applied against the executant including possible exclusion from the group, which is represented by the rupture of the acquaintanceship relation with the WTF executive. In the case of the return of treated by-products, all OMP agents acquire the role of an OMC agent (being able to receive OM).
Communication between agents in Biomas: negotiation/action model
Agent communication logic in Biomas:

The aim of a Livestock agent is to distribute its production of OM while keeping to correct agricultural practices. It communicates with its Executant (by means of an alert at a critical threshold of its maximum storage capacity set by default at 80%). The aim of a Crop agent is to satisfy its requirements of fertilizer on a schedule determined by the crop cycle. It communicates with its Executant (expression of requirements). The aim of an Executant agent is to manage as best it can its crops and livestock facilities in respect of their interests: as an OMC role holder the aim will be the valorization of organic wastes and satisfaction of crop needs; as an OMP role holder it will consist of never being overstocked in OM. It communicates internally with its Livestock and Crop agents; it communicates externally with the other Executant agents and, when necessary, the WTF-Executive agent of the group to which it belongs. The motivation of an OMS-Executant agent is to provide a service. It communicates with suppliers and consumers. It acts by shipping OM from the site of production (livestock building) to the site of its use (plot), thus modifying the attributes and the state of the agents upon which these objects depend (stock of livestock facilities and requirements of crops). A WTF has the same status as a set constituted of a crop and a livestock facility. It is managed by a WTF-Executive agent, executing the roles of raw OMC and treated OMP. The negotiation protocol between OMP-Executant and OMC agents in Biomas (see section3.18) applies as well to a WTF-Executive agent and is dependent upon the reconfiguration of the acquaintanceship network so as to take into account the different possible outlets for the treated products.
Message exchange:

Figure 9 describes the sequence of methods initiated and the messages exchanged by the Executant-agents which execute the role of OMP, OMC and OMS, in a simplified case of negotiation. The processes can be initiated either by the generation of:
  • an offer made by an OMP agent (as in Figure 9) following an alert message transmitted by one of its livestockers, in the case of exceeding the critical OM stock threshold; or
  • a demand emitted by an OMC agent following an alert message of one of its crops signaling the crossing of the critical threshold of OM requirements.

Figure 9. Negotiation between producer, consumer, shipper and initiated actions; the simulation time is represented on the axis to the right of the figure

In both cases the offer (or the demand) is addressed to the set of OMCs (or OMPs) belonging to the acquaintanceship network of the supplier (or consumer). The case is slightly different if the Executant agent (with an OMP or OMC role) responds to the demand (or offer) of another Executant agent. For example, the response of an OMC agent to an offer made by an OMP agent is subject to the same treatment as the emission of a spontaneous demand on its part, with the exception of:
  • a response is made to a particular OMP agent offer and not to the set of OMP agents of the acquaintanceship network.
  • it requires an evaluation of the requirements of the crops and not a reaction to their demand.

Note that a double accounting, virtual and real, of stocks of OM and crop requirements is kept by the Livestock (OMP) and Crop (OMC) agents. In the case of an OMP agent, after verification of its capacity to satisfy the demand, the accounting first virtually subtracts from the livestock activity's stocks that which is to be reserved. The real confirmation of this reservation is not made until the shipper picks up the OM to be delivered. Similarly, an OMC agent receiving an offer that it is capable of accepting, virtually subtracts the quantity offered from the requirement of the given crop. The real update is not made until the delivery is effected. This method, which not only avoids problems of suppliers vis-à-vis their clients (and vice-versa) is coherent with the management of deliveries necessitating several round-trips when the available shipping capacity is less than the total OM to be delivered.
Conclusion of a transaction between Executant-agents

The principal factors taken into consideration in the steps of a negotiation are:
  • by the OMPs: compatibility between OM produced and OM ordered (type and quantity), state of running stock of OM from livestock farms, shipping price, ongoing state of OMC (current negotiation or none);
  • by the OMCs: compatibility between OM ordered and OM available (type and quantity), period of crop cycle, state of necessity and ongoing degree of crop satisfaction, shipping price, present state of OMP;
  • by the OMSs: state of shipping (availability) and compatibility with the OM to be shipped (type, quantity), existence of an adequate itinerary between livestock buildings and crop plots, vehicle positions, present state of OMP.

At the end of each negotiation process (Figure 9), the Livestock and Crop agents calculate their degree of satisfaction (see 3.4). When the transaction initiated by an OMC cannot be successfully completed before the end of the period of fertilization, the satisfaction degree of the concerned culture decreases (whereas it increases in case of success). When the transaction initiated by a PMO does not successfully terminate, the excess of OM produced is spilled into the environment (i.e., in an IDZ, section 3.8). The OM stock attribute is recalculated so that the spilled OM is not taken into consideration for future negotiations; the satisfaction degree of the concerned LiveStock decreases as well. The degree of satisfaction thus serves to keep in memory the result of all past transactions, but not to initiate an offer or demand. However, it can constitute a criterion of choice for the Executant; for example, for an OMC, when there is competition between the needs of several crops (the crop with the lowest degree of satisfaction will be favoured).

Biomas Software Architecture and Simulation

Design of the Biomas application

Biomas is made up of two principal Java modules (Figure 10):
  1. biomas.architecture which describes the organization and behavior of agents (notably the roles that they play);
  2. biomas.environment which encodes the situated objects in the environment.

The sub-model biomas.architecture.agent contains the three levels of Geamas: macro-agent Biomas, medium-agent Group, micro-agents WTF, Livestock, Crop, etc. In implementing, at the Micro level, we have distinguished between two categories of agents: NegotiatingAgent and PhysicalAgent, that are abstract classes that make it possible to implement the mechanisms shared by the two agent types that are defined in section 3.1. Each Executant agent is given a protocol enabling it to emit and receive messages that are predefined in the framework of roles with which it is associated. This mechanism utilizes the properties of Java's EventListener. Two important aspects of Geamas are also used in Biomas: the definition of hierarchies and the dynamic association of the agents with roles.

Two complementary modules enrich the structure:
  • biomas.object, wherein are found the objects used as the agents' attributes;
  • biomas.util, for type definition (for example, NitrogenUnit, CubicMeter, MetricTon, etc.).

Figure 10. Biomas application layer design diagram

An example of Biomas simulation
Farm data used as model inputs:

Based on inquiries performed by Cirad agronomists during the past 5 years about more than 200 farms, a database has been made. It incorporates 13 tables relating to information about the farm identification, available equipment, buildings, crops, livestock and corresponding effluent characteristics, etc. Each table includes between 5 and 10 data fields. This database is used as reference information for various works performed by the Cirad in the Reunion Island. From this database, an automatic extraction is made to be used as the Biomas model input.
Simulation Scenarios:

The general objective that we attain with Biomas is twofold:
  • analysis of the impact of scenarios elaborated on the basis of real life situations;
  • testing of alternative scenarios in order to eliminate weaknesses (for example, risks of environmental pollution as depicted by the state of the IDZ agent, insufficient agricultural exploitation of OM as depicted by the degrees of crop satisfaction)

The base scenario that we present here brings 186 agents into play (with their associated situated objects) as follows: 45 Executant agents, 48 Livestock agents (producing two kinds of OM: manure and slurry), 59 Crop agents, and 34 Shipping agents. Two alternatives are analyzed:
  • the base scenario described above, not equipped with a collective WTF;
  • a variation equipped with a unit of slurry composting uniting 5 OMP agents.

Figure 11. Data describing an illegal dumping zone (IDZ) obtained by simulation - Duration 10 months: (A) without WTF; (B) with WTF

This second scenario includes a total of 195 agents: the 186 agents of the base scenario, augmented by one Group agent, 1 WTF Executive agent, 1 WTF agent, 1 Shipper of treated wastes, and 5 Storage Units (1 per OMP group member). The two scenarios differ only in regard to the existence of a WTF and its associated agents. We note that a sole OMP role agent can possess 1, 2, or 3 livestock installations and that only 5 of these agents are affiliated with the WTF. This is initialized at 60 m3 ,the maximal value of the entry reservoir.

Experimentation and interpretation:

The simulations of each 10 month scenario yielded a volume of about 20 000 messages exchanged between agents. The visualization tools of textual traces and the agent inspectors enable us to analyze in detail the playing out of a simulation.

As an example, Figure 11(A) indicates the state of the illegal dumping zone (in m3 of dumped OM) at the end of the simulated base scenario (without WTF). For each type of OM, the inspector that gives the properties of the illegal dumping zone (IDZ) yields the volumes transferred between installations and the volumes dumped illegally. We observe an abundant dumping of manure and slurry into the environment, and very little OM exchange (respectively, less than 10% or 25% of their totals). The absence of OM client-users that these results manifest may be due to different reasons:
  • a too limited OMP acquaintanceship network for OM marketing;
  • too much incompatibility between the OM produced by the OMPs and the crops of the OMCs (for example, slurry is not used for truck farming);
  • unavailable or non-adapted shipping (type, capacity).

In effect, we find very few successful negotiations between executants: approximately 50 for a total of 600 initiated. After analyses of the simulation traces, we remark that the incompatibility between the nature of the OM offered and the possibilities of crop acceptance is responsible for 450 of the negotiation failures, and that a dozen fail due to the lack of appropriate shipping.

Figure 11 (B) gives the results obtained for illegal dumping with the second scenario. The evolution of arriving and departing stocks for the WTF is given in Figure 12. We notice that the appearance of a WTF, although quite insufficient for eliminating all environmental dumping (hardly 10% of OMP agents participate), has a significant effect on the volume of non-utilized OM. The diminution of the volume of lost OM is brought to the fore: 5889 m3 to 3442 m3 for the manure (-46%), and 10900 m3 to 8130 m3 for the slurry (-25%). A fraction of the compost produced is exchanged (92 m3) and no compost is illegally dumped. This is not a tautology, for even if there is compost exchanged, it signifies that certain stocking units were at their maximal capacity; this compost might have been dumped if a taker had not been found. The extract from the written traces of the simulation of this scenario presented in Appendix A, illustrates the functioning of the WTF and the communication between the agents during negotiations.

The second scenario demonstrates the utility of the WTF, even when only a few of the participants are directly involved with it. This signifies that a number of crops that could not be treated with manure or slurry, could utilize compost (all of which was consumed) and that the negotiations between agents for this product were fruitful. In this scenario there were 200 failures of negotiations due to crop/OM incompatibility. An in depth study could be made concerning this. It would be interesting to correctly design the proposed waste treatment facility utilizing a simulation involving increasing the stock volume and the number of farmer members (which will have the effect of enlarging the Group's acquaintanceship network). Other factors could be studied as well, for example, other treatment processes.

Figure 12. Evolution of arriving and departing stocks for the WTF

* Discussion and Outlook

Validation issues

The first requirement was to check the correctness of the Biomas model in terms of simulating what is expected by common sense. For this, toy examples, involving a limited number of agents (4 or 5 executant agents accounting for independent farmers), were simulated by an agronomist who did not take part in the model development. The process of negotiation occurring between each pair of agents was carefully checked for consistency of required and delivered OM quantities. The adequacy of OM types according to the demanding crops, the road quality according to the means of transportation used, correctness of the simulated WTF outputs according to the input parameters, were also shown to be satisfactory. However, this work revealed some dysfunctions such as negotiations taking place for ridiculously small quantities, inconsistencies between inter-farms distances and shipping durations, conflict occurring between agents involved in the same negotiation, etc. All these faults are corrected in the current version.

In addition, simulations were also performed on the basis of the real case of Grand-Ilet (Reunion Island) involving about 50 pig farmers[2]. Model parameterization was done with onfield data collected by Cirad agronomists in the past 5 years (Renault D. and Paillat J.-M., 1999). With these experiments, some situations validated within the framework of toy examples gave wrong results. After careful analysis, we detected that this was due to the inadequacy of the simulation time step and the time required by the system to deal with the total amount of messages received by each agent during the same period. To fix this problem, lengthening the time step duration was sufficient, with the obvious disadvantage of increasing the time required for each simulation. Therefore, we finally introduced a variable time step: from the current time step, the next time step is simulated only when all messages are dealt with.

In terms of system usability for non-developer users, as we described above (section 2.15), interface and interpretation facilities have been introduced according to users' needs.

When aiming for decision-support, it is not conceivable to realize a system perfectly mimicking the reality as, like all hard-to-measure complex systems, it is uncertainly and incompletely known. We thus advocate working on general patterns of real farms excerpted from farm typologies and checking for the plausibility of the simulations performed by the model. This way of model validation by "usage" is obviously dependent upon the knowledge of the experts; this is why it is necessary in such a project to bring together both academic and field scientists from the University and Cirad. This iterative approach based on a permanent exchange between the model development and its use is a central point of our working methodology (Courdier R. Marcenac P. and Giroux S. 1998).

Present Limitations and Projected Evolution

For the Geamas platform

The present Geamas virtual laboratory tools are aimed at simulation (tracers, interpretation). But non-computer scientist oriented tools, enabling the construction and modification of the agent model in the Application layer, do not exist. To ameliorate this situation we have started developing tools that make it possible, for example, to edit by means of a simple script language a specific Java code for each agent. This function will be implemented in a future version of Geamas. The Geamas/database connection needs a generalization of the mechanism of data extraction. The present connection module is still highly centered on the characteristics of the Biomas application. Work is under way to this effect. The automatic generation of acquaintanceship links between agents, based on certain data fields (for example, geographic proximity), should be accomplished in this framework.

To simplify the analysis of individual transactions, a tool making it possible to visualize messages exchanged between agents has just been implemented in Geamas Version 4. It enables the user to filter messages according to certain criteria (object, sender, date, etc.) and to display them in the form of a sequence diagram (as in Figure 9). Technical limitations also appeared in Geamas in experiments carried out in the framework of the Biomas project. They concern the level of simulation performance when dealing with a great number of agents. These limitations have been eliminated recently by putting the system communication activity into a cache (list of messages exchanged), by optimizing the distribution of processor time to agents and by selecting the simulation outputs to be kept in memory (see section 4.1 and Andriamasinoro F. H., Courdier R. and Piquet E., 2001). We are considering interfacing Geamas with a geographical information system in order to feed the models with data relative to specified geographical zones and to visualize the results in a spatial frame. An early effort merits elaboration.
For the Biomas application

The Biomas model that we have described above enables us to evaluate the environmental and agricultural impact of diverse modes of organization of a system of agricultural activities in relation to the problem of waste management. Realistic scenarios can be tested which may possibly constitute a consulting base for farmers in critical conditions, such as those prevailing in Grand-Ilet, Reunion Island, where the ratio between the quantities of OM produced and available fertilizable surface area is excessive. We can test the influence of factors as diverse as the types of crops, the type of management of the WTF and the treatment process utilized, the relationships between executants, etc.

Nevertheless, certain improvements may be introduced in order to make the model more realistic (although the question of the degree of refinement of the model has been raised; see section4.10). We have defined a single illegal dumping zone which serves as a shared virtual outlet for all the executants. Even if this choice is acceptable for yielding an overall synthetic result, it does not enable us to spatially visualize the impact on the illegal dumping zones. We therefore plan to conceive of geographically situated dumping zones, to which the proper farmers will be linked. In order to hone the capacities for OM management, we might confer capacities for anticipation upon Executant agents. For example, in order to take into account the time between negotiation and delivery, the OMC agents, by playing on the earliest fertilization date, might order OM before being alerted by the crop. An OMP agent responding to the demand of an OMC might equally anticipate reaching a critical stock threshold. This improvement would make it possible to take into account the function of planning which is essential in the framework of decision-making.

With respect to Biomas interpretive aides, the colored indicators presently give the instantaneous state of only the Livestock and Crop agents. We envision:
  • combining at Executant agent level, the qualitative states of the subordinate agents (for example, on the basis of a globally calculated degree of satisfaction, on the one hand for the livestock units, and on the other hand for the crops. The combination of these two indexes might be made either numerically, by an average, or qualitatively by the presentation of tables of color combinations);
  • appending an indicator that represents the global state of the agent for any period of the simulation;
  • leaving the user at liberty to determine the criteria and thresholds designating the colors; we can choose criteria other than those that represent a "satisfaction" concerning the transfer of materials since there exist also other satisfaction viewpoints (agricultural, environmental, economical, etc.).

Methodology of Agent Conception

The conception of the Biomas application raised problems relative to the creation of a reliable methodology for the conception of Agent applications. Work aimed at defining a reproducible method of obtaining reliable results is presently being conducted by many Agent environment development research scientists (El-Fallah A.and Haddad S. 1996, Courdier R. Marcenac P. and Giroux S. 1998, Guillemet A. & al. 1999, Mezura A. & al. 1999). Different facets are being approached: How should one model and construct a MAS? How should one manipulate the models while defining well-adapted languages and graphics? What are the rules of conception that should be used?

If Biomas has permitted us to enrich certain aspects of Geamas (role, time management), the fundamental modeling elements were nevertheless already well established (architecture, communication, environment, etc.). For notations (diagrams of inter-agent cooperation, sequences, etc.) we have relied in great part upon the achievements of object approaches (Object Management Group UML Resource Page http://www.omg.org/uml) in defining graphic specialization for agents. On the other hand the "know-how" of model conception has not been clearly formulated which makes it difficult to reproduce.

In the Biomas experience, we were also confronted with a recurring problem: How far must one take the individual level in order to enable a MAS representative of a collective level to function? The risk of error was amplified in Biomas, because even if we have agronomic knowledge on an individual level (agricultural activities), we have very little on a collective level (the set of activities and their interchanges). In parallel, we have developed a dynamic system, Magma (Guerrin F., 2001) that enables us to represent the internal processes of farms. Therefore, Magma is representative of the individual level, modeled in Biomas by a single Executant agent and subordinate agents (see section3.1). This leads us to envision the coupling of the different Magma instances through a multi-agent platform, in order to represent the collective level. Presently, we are putting this into effect using the Cormas multi-agent platform (Bousquet F., Bakam I., and Proton H., 1998; http://cormas.cirad.fr/) in an application that enables us, through a blackboard structure, to join the two levels, individual and collective (Martin M. & al., 2001).

* Acknowledgements

This work has been carried out by the Biomas research group that was initially organized in 1998 as a collaboration between Reunion University's IREMIA Multi-agent Systems group (MAS2) and CIRAD's organic waste management group (Gdor). Our thanks are due to all those research assistants and Ph.D. candidates who participated in this group, and brought their talents to bear on the project: Thierry Bressure, Stéphane Calderoni, Mahmoud Gangat, Manuel Martin, Eric Piquet, Sylvie Schneider, Jean-Christophe Soulié, Jean-Dany Vally. The Geamas platform and the GeOmas application were developed by the MAS2 group. The Magma dynamic system and the farm database were developed by the Gdor group.

* Notes

1 In the case of an activity including both livestock and crop farming, a certain amount of OM auto-consumption will eventually take place (cf section 2.8).

2 The simulation of the totality of the activities of Grand-Ilet encompasses nearly 500 agents if one adds to farmers, subordinate agents such as crops, means of shipping, waste treatment facilities, livestock activities. We note that these are "cognitive" agents with rather elaborate behavioral rules (decision, negotiation, action ...).

* Appendix A. Example of messages exchanges during a negotiation

The WTF agent (WTF_1) alerts its WTF Executive agent (ex_WTF_1):
<07/16/00 06:32:35> WTF_1 orders 60 m3  of slurry to ex_WTF_1

This one contacts the executants of the acquaintanceship network:
<07/16/00 06:35:37> ex_WTF_1 orders 60 m3 of slurry to farmer_1000
<07/16/00 06:36:48> ex_WTF_1 orders 60 m3 of slurry to farmer_2010

These agents confirm reception of the message and answer positively (farmer_1000) or negatively (farmer_1001):
<07/16/00 06:42:39> farmer_1000 receives the order of 60 m3  of slurry from ex_WTF_1
<07/16/00 06:45:33> farmer_1000 proposes 11 m3 of slurry to ex_WTF_1
<07/16/00 06:52:37> farmer_1001 does'nt have slurry
<07/16/00 06:56:45> farmer_1001 sends a refusal to ex_WTF_1

The WTF Executive agent (ex_WTF_1) receives the answers, analyses them and makes its decision: 
<07/16/00 07:07:45> ex_WTF_1 receives the proposal of 11 m3 of slurry from farmer_1000
<07/16/00 07:08:39> ex_WTF_1 receives the proposal of 56 m3 of slurry from farmer_2026
<07/16/00 16:45:40> ex_WTF_1 is interested by 49 m3from farmer_2026

The Executant agent (farmer_2026) confirms and prepares the delivery (because it has a shipping ship_2026_C): 
<07/16/00 16:51:43> farmer_2026 can satisfy the order of 49 m3 of slurry
<07/16/00 16:54:43> farmer_2026 chooses the livestock ls2026_LP
<07/16/00 18:15:48> farmer_2026 sends a delivery order to ship_2026_C

The shipping capacity being less than the desired quantity, the shipping requires 14 round-trips:
<07/16/00 18:20:39> ship_2026_C takes away 3.5 m3  from the stock of ls2026_LP 
<07/16/00 18:20:39> ls2026_LP's stock diminishes by 3.5 m3 after ship_2026_C passes
<07/16/00 19:00:30> ship_2026_C delivers 3.5 m3of slurry to WTF_1
<07/16/00 19:00:30> WTF_1 receives 3.5 m3of slurry from ship_2026_C

* References

ANDRIAMASINORO F.H., Courdier R., and Piquet E. (2001), Enhancing a multi-agent system performance: from implementation to simulation analysis. In CCGrid' 01, IEEE Int. Symp. on Cluster Computing and the Grid, Brisbane, Australia, May 16-18 2001. IEEE Computer Society Press.

BOUSQUET F., Bakam I., and H. Proton (1998), Cormas: Common-pool resources and multi-agent systems. In IEA-AIE-98 Conf., session AI modelling and simulation of ecological/environmental systems, pages 826-837, Castellon, Spain, June 1-4 1998.

COLLINOT A., Ploix L. and Drogoul A. (1996), Application de la méthode Cassiopée á l'organisation d'une équipe de robots. Rapport de recherche 97189, LAFORIA/ IBP/CNRS, Université Paris VI, Paris, France.

CONTE R. and GILBERT N. (1995), Introduction: computer simulation for social theory. In Artificial societies - The computer simulation of social life, pages 1-18. UCL Press, London, UK.

COSTANZA R., Wainger L., Folk C., and Maler K.G. (1993), Modeling complex ecological economic systems: toward an evolutionary dynamic understanding of humans and nature. Bioscience, 43(8), pages 545-555.

COURDIER R. , Marcenac P., and Giroux S. (1998), Un processus de développement en spirale pour la simulation multi-agents. Revue L'Objet, 4(01), pages 73-86.

DROGOUL A. and Ferber J. (1994), Multi-agent simulation as a tool for modeling societies: application to social differentiation in ant colonies. Artificial Social Systems, 830(8), pages 3-23.

EL-FALLAH -SEGHROUCHNI A. and Haddad S. (1996), A recursive model for distributed planning. In ICMAS'96, Int. Conf. on Multi-Agent Systems, Kyoto, Japan, June 1996.

FERBER J. and GUTKNECHT O. (1998), A meta-model for the analysis and design of organizations in multi-agents systems. In ICMAS'98, Int. Conf. on Multi- Agents Systems, pages 128-135, Paris, F, July 1998. IEEE Computer Soc. Press.

FIPA (2000), Fipa abstract architecture specification. Preliminary version, Foundation for Intelligent Physical Agents, November 2000. http://www.fipa.org/specs/fipa00001.

FOX. M.-S. (1988), An organizational view of distributed systems. In Readings in distributed artificial intelligence, pages 140-150. Morgan Kaufmann Publishers, San Mateo, CA.

GUERRIN F., Courdier R., Calderoni S., Paillat J.M., Soulié J.C., and Vally J.-D. (1998), Conception d'un modèle multi-agents pour la gestion des effluents d'élevage á l'échelle d'une localité rurale. In JFIADSMA'98, 6èmes Journées Francophones pour l'Intelligence Artificielle Distribuée et les Systèmes Multi-Agents, pages 25-37, Pont-á-Mousson, France, 18-20 novembre 1998. Hermès.

GUERRIN F. (2001), Magma: a simulation model to help manage animal wastes at the farm level. Computers and Electronics in Agriculture, 33:35-54.

GUESSOUM Z. and Briot J.P. (1999), From active objects to autonomous agents. IEEE Concurrency, 7(3), pages 68-78.

GUILLEMET A., Hak G., Meurisse T., Briot J.-P., and Lhullier M. (1999), Mise en oeuvre d'une approche componentielle pour la conception d'agents. In M.-P. Gleizes and P. Marcenac, editors, JFIADSMA'99, Ingénierie des systèmes multi-agents, pages 53-66, St Gilles, La Réunion, 8-10 novembre 1999. Hermès Science Publ.

LAHAIE F., Grasso J.R., Marcenac P., and Giroux S. (1996), Modélisation de la dynamique auto-organisée des éruptions volcaniques : application au comportement du piton de la fournaise, Réunion. Comptes-rendus de l'Académie des Sciences de Paris, Géophysique interne, France, 830(II.a), pages 569-574.

LHUILLIER M. (1998), Une approche á base de composants logiciels pour la conception d'agents. PhD thesis, Université Paris VI, Paris, France, 1998.

MARCENAC P., Courdier R., Calderoni S., and Soulié J.-C. (1998), Towards an emergence machine for complex systems simulations. In A.-P. Del-Pobil, J. Mira, and M. Ali, editors, Tasks and Methods in Applied Artificial Intelligence, volume 1416 of Lecture Notes in Artificial Intelligence, pages 785-794. Springer- Verlag, 1998.

MARTIN M., Piquet E., Lepage C., Guerrin F. (2001), MagmaS: a multi-agents system based on dynamical models coupling; application to animal wastes management. ESS'01, 13th European Simulation Symposium and Exhibition, Special Workshop on Multi-agent based Modeling and Simulation in Industry and Environment, Marseilles (F), October 18-20.

MEZURA C., Occello M., Demazeau Y., and Baeijs C. (1999), Récursivité dans les systèmes multi-agents : vers un modéle opérationnel. In M.-P. Gleizes and P. Marcenac, editors, JFIADSMA'99, Ingénierie des systèmes multi-agents, pages 41-52, St Gilles, La Réunion, 8-10 novembre 1999. Hermès Science Publ.

PAILLAT. J.-M. (1998), Gestion des effluents d'élevage á la Réunion : transformer la nuisance en fertilité. Rapport final 20/98, Cirad Tera/Ere, La Réunion, 1998. Programme de recherche Cordet 94 DA 51.

RENAULT D. and Paillat J.-M. (1999), Analyse de la production et de l'utilisation des effluents porcins ˆGrand-Ilet, localité de l'”le de la Réunion (cirque de Salazie). Rapport 16/99, Cirad Tera/Ere, La Réunion.

VALLY J.-D. and Courdier R. (1998), A conceptual role-centered model for design of multi-agent systems. In T. Ishida, editor, Multiagent platforms, volume 1599 of Lecture Notes in Artificial Intelligence, pages 33-46. Springer-Verlag.


ButtonReturn to Contents of this issue

© Copyright Journal of Artificial Societies and Social Simulation, [2002]