=Paper= {{Paper |id=None |storemode=property |title=Multi Agent Resource Allocation: a Comparison of Five Negotiation Protocols |pdfUrl=https://ceur-ws.org/Vol-741/ID9_Briola_Mascardi.pdf |volume=Vol-741 |dblpUrl=https://dblp.org/rec/conf/woa/BriolaM11a }} ==Multi Agent Resource Allocation: a Comparison of Five Negotiation Protocols== https://ceur-ws.org/Vol-741/ID9_Briola_Mascardi.pdf
              Multi Agent Resource Allocation:
          a Comparison of Five Negotiation Protocols
                                             Daniela Briola and Viviana Mascardi
                                 Dipartimento di Informatica e Scienze dell’Informazione (DISI)
                                                Università degli Studi di Genova
                                            Email: {briola, mascardi}@disi.unige.it


   Abstract—This paper describes five systems that exploit negoti-      Due to this large amount of MARA problems and related
ation strategies to solve multiagent resource allocation problems.   solutions described in literature, we limit ourselves to analyze
A deep comparison is drawn among them according to different         those works that are closer to the FYPA one we modeled and
criteria that involve general features of the systems; adherence
to widely accepted agent definitions; domain, purpose, and           implemented in our recent research activities [7], [12].
approach; analysis, design and implementation of the negotiation        In particular, we focus on works where agents interact to
protocol. Considerations on how extending one of the analyzed        coordinate themselves for moving in a well defined physical
systems in order to move a concrete step towards the realization     area or for accessing shared resources during time. For each
of an integrated platform for developing negotiation protocols are   system we discuss, we motivate why we did not select it to
also provided in the conclusions.
                                                                     solve our specific FYPA MARA problem.
                      I. I NTRODUCTION                                  The paper is structured in the following way. After dis-
                                                                     cussing the state of the art in agent-based negotiation (Section
   Allocating resources amongst multiple entities is a central
                                                                     II), in sections III-VII we introduce the five systems and the
matter of concern in both Computer Science and Economics.
                                                                     MARA problems they solve:
It has inter-disciplinary characteristics which make it rel-
evant to disparate application domains including industrial             • FYPA (Find Your Path, Agent!) [7], [11], [12], developed

procurement, manufacturing and scheduling, network routing,                by ourselves for solving a real industrial problem of
airport traffic management, crisis management, logistics, pub-             dynamic (re-)allocation of tracks to trains inside a station
lic transport, and the timely allocation of resources in grid              (Section III);
architectures [14].                                                     • MPCA (Multi-Party Collision Avoidance) [40] for air-

   The abstractions of agents and multiagent systems are very              plane collision avoidance (Section IV);
                                                                        • APR (Airplane rerouting) [3] for airplane collision avoid-
suitable to model and implement distributed problems of
this kind, and the Multiagent Resource Allocation (MARA)                   ance (Section V);
                                                                        • Waypoints [34] for autonomous robots collision avoid-
research sub-field is recently gaining more and more attention.
   A tentative definition of MARA can be found in [14]:                    ance (Section VI); and
                                                                        • SPAM (Scalable Protocol for Anytime Multi-level) [27]
      “Multiagent Resource Allocation is the process of
                                                                           for target tracking with sensors (Section VII).
      distributing a number of items amongst a number of
      agents.”                                                       In Section VIII we provide a systematic comparison among
                                                                     these systems, carried out taking different criteria into account
   However, as the authors of [14] observe, this definition
                                                                     ranging from how much do they stick to the agent definition
needs to be further qualified: What kind of items (resources)
                                                                     given in [24], to their industrial exploitation, to the language
are being distributed? How are they being distributed (in other
                                                                     and platforms used for their implementation. Section IX
words, what kind of allocation procedure or mechanism do
                                                                     concludes the paper and outlines the future directions of our
they employ)? And finally, why are they being distributed (that
                                                                     research.
is, what are the objectives of searching for an allocation and
how are these objectives determined)?                                II. AGENT- BASED NEGOTIATION : THE STATE - OF - THE - ART
   In this paper, we analyze five existing systems that solve
different MARA problems, and whose allocation procedure              A. Trends and research areas
mechanism is based on negotiation.                                     Multiagent research has long been divided into two fields,
   For each of them we answer the questions of what kind             one concerned with cooperative (benevolent) agents and the
of items (resources) are being distributed and why are they          other concerned with self-interested agents [18]. There has
being distributed, we provide some details on the negotiation        been very little cross-fertilization of ideas between these fields.
protocol they adopt, and we answer many other questions              Research on self-interested agents is often based on classical
that, in our opinion, are relevant to gain a deeper insight of       game theory with its assumptions of common knowledge
the system and to understand whether and how it might be             among agents and complete rationality of agent reasoning.
exploited to solve the specific user’s MARA problem.                 This is in contrast with the research on cooperative agents
which makes no such assumptions; rather, it has generally been        In general, multiagent systems provide a framework where
based on heuristic approaches having their roots in knowledge-     both the inherent distribution of processing and information in
based AI search, planning and scheduling mechanisms.               an application and the complexities that come from issues of
   However, perhaps the most fundamental and powerful              scale can be handled in a natural way.
mechanism for managing inter-agent dependencies at run-time           In these areas the word “Negotiation” is rarely expressly and
is negotiation, that is the process by which a group of agents     explicitly used, but nevertheless in these fields agents usually
come to a mutually acceptable agreement on some matter.            need to cooperate to achieve a goal, and cooperation is a type
Negotiation underpins attempts to cooperate and coordinate         of negotiation.
(both between artificial and human agents) and is required            There has also been a long tradition of work dating back to
both when the agents are self interested and when they are         the inception of the field on coordination based on logical
cooperative.                                                       reasoning about the beliefs, desires, intentions (BDI) and
   In the remainder of this section we will concentrate on         commitments of agents [16], [20], [35], [36], and more recent
cooperative agents and on the main areas where they are            work on the use of market mechanisms for solving multiagent
used. Most of our knowledge on this subject comes from the         resource allocation problems [42].
overview on negotiation in MASs made by Lesser [26], whose            The synthesis of ideas from each of these different ap-
research activity, carried out in collaboration with many other    proaches to coordination holds great potential for future de-
scientists, covers a large variety of case studies, domains and    velopments in the field.
applicative projects.
   Examples of application domains that have used a multia-                                   III. FYPA
gent approach for allowing the involved entities to negotiate         The FYPA problem was proposed to us by Ansaldo STS,
in a cooperative way are:                                          the Italian leader in design and construction of signaling and
   • Distributed situation assessment, which emphasizes how        automation systems for conventional and high speed railway
     (diagnostic) agents with different spheres of awareness       lines.
     and control (network segments) should share their local          Ansaldo STS uses a system that computes, few times a
     interpretations to arrive at consistent and comprehensive     year, the global distribution of trains over the Italian railway
     explanations and responses. Examples of applications          network. That system does not compute safe paths of trains
     belonging to this category are:                               inside stations: the system is only able to generate paths for
       – network diagnosis [37];                                   crossing the station that are consistent with the station physical
       – information gathering on the Internet [17], [32];         configuration, but cannot check that each path does not raise
       – distributed sensor networks [13], [29]).                  conflicts with paths of all the other trains crossing the station in
                                                                   the same time period. This check and the final identification of
   • Distributed resource scheduling and planning, which em-
                                                                   safe paths inside the station were indeed performed by human
     phasizes how (scheduling) agents (associated with each
                                                                   operators by hand.
     work cell) should coordinate their schedules to avoid and
                                                                      In order to automatize the train schedule definition process
     resolve conflicts over resources, and to maximize system
                                                                   as much as possible, Ansaldo needed another system that could
     output. Under this category we can find for example:
                                                                   be used off-line to identify a safe and (sub)optimal allocation
       – factory scheduling [31], [33], [38];
                                                                   of tracks inside a station to trains, given the time trains enter
       – network management [1];
                                                                   and exit the stations (times that are decided by the pre-existing
       – intelligent environments [6], [22].
                                                                   system).
   • Distributed expert systems, which emphasize how agents           One of Ansaldo’s requirements was to have a system de-
     share information and negotiate over collective solutions     signed and implemented is such a way that, if its performances
     (designs) given their different expertise and solution cri-   demonstrated to suit the real time constraints, it could be used
     teria. The following applications fall under this category:   on-line as well, in order to face re-allocation problems due
       – concurrent engineering [25];                              to unavailability of the pre-computed path because of tracks
       – network service restoration [15], [23].                   being out of order or already occupied by other trains.
   The need for a multiagent approach can also come from              The FYPA system that we developed is suitable both for
applications where agents represent the interests of different     on-line and off-line usage. It is already used for off-line
organizational entities (e.g., electronic commerce [39] and        computation of paths inside stations, and its on-line application
enterprise integration [4]). Other emerging uses of multiagent     is under way: FYPA is able to compute a complete re-
systems are in layered systems architectures where agents at       allocation of trains in huge stations (tests made by Ansaldo
different layers need to coordinate their decisions (e.g., to      STS engineers with data from Mestre and Pisa) in less than 2
achieve appropriate configurations of resources and computa-       seconds, hence quasi real-time [10].
tional processing [41]), and in the design of survivable systems      In order to solve Ansaldo STS’ problems and implement
where agents dynamically reorganize to respond to changes          the FYPA system, we designed a multiagent system able to
in resources availability, software and hardware malfunctions,     manage the real-time allocation (and re-allocation) of a set of
and intrusions.                                                    limited resources. The resources are railway tracks (or only
“railway” further on) inside a station plus a set of segments         multiagent system must suggest the user possible alternative
of railway where trains are allowed to stop (for example to           reorganizations of the route of many planes.
let the passengers in and out) that we call “stop nodes”: these          Regarding the airspace management, an accurate re-
nodes are connected by one, or usually more, railways. A “stop        search has been made by the “Agent technology center”
node” can be occupied by only one train at a time. Due to the         (http://agents.felk.cvut.cz/) that developed AGENTFLY, “a
physical distribution in the space of “stop nodes”, some of           multi-agent system enabling large-scale simulation of civilian
the railways intersect with each other so it is not possible for      and unmanned air traffic. The system integrates advanced
different trains to use them at the same time, because they           flight path planning, decentralized collision avoidance with
may crash.                                                            highly detailed models of the airplanes and the environ-
   A train can enter or leave the station using only a set of         ment” [2]. The AGENTFLY project is still maintained and
“stop nodes”, that we call “entering” and “exiting nodes”             its authors are continuously improving it in many ways. Its
respectively. Once inside the station, the train can move             license was sold to BAE Systems as a testbed simulation
following the railways to reach some “stop nodes”, can wait           platform. It is used by US Air Force, IHMS at Florida and
there for a period it autonomously determines and then can            several universities. Its authors are working with the Federal
reach an “exiting nodes” and leave the station. FYPA only             Aviation Authority (FAA) using AGENTFLY as a tool on their
manages trains inside the station or entering it. When they           computation grids.
reach an “exiting nodes”, they leave the station and are no              Besides this system, the authors presented many studies on
longer managed by FYPA.                                               protocols to avoid collisions in airspace.
   Every train has a predefined path in the station that it should       In [40] two algorithms to avoid collisions among aerial
follow, that is generated by the pre-existing Ansaldo system          vehicles are presented. The authors kindly accepted to review
but that does not meet the requirements of being conflict-free        our analysis (in this section and in section VIII) of their work,
with respect to the other paths. Each train can hence change          so we are able to provide some details also on the AGENTFLY
some “stop nodes” if needed to reach the conflict-freeness            project in Section VIII, where we add some footnotes to Tables
requirement, but it usually has to deviate as little as possible      to report additional information submitted by the authors.
from its original plan.                                                  In a three dimensions space a group of autonomous air-
   The main aim of our protocol is to dynamically find a              planes with a mission need to coordinate themselves to avoid
solution to conflicts and unavailabilities (that may be dealt         collisions: a mission is made of several points that must be
with in an homogeneous way, since both amount to a resource           reached in a specified time interval. To fulfill the mission, the
needed by a train not being available), or in other words to          airplane will follow a list of steps, each characterized by a
find a new path in the station for every train, respecting all        maneuver, a direction, a velocity, starting from the previous
the safety, minimum-delay and minimal-changes constrains.             step. More, every plane must maintain a minimum distance
   When an allocation problem arises, the system has to change        from all the others, and there are no-flight zones in the
the “station crossing plan” of one, or more, trains: every train      airspace. When two, or more, airplanes have a part of the
has a specific typology (may be a slow passenger train, a fast        plan in common, they need to change it to avoid crashing.
one, a goods carrier and so on) and every typology has a                 Every agent can only interact with the ones within a range R
priority. So if the system has to make a train stop for more          defined at the start of the simulation: these are the other planes
time on a “stop node”, waiting for the next node to become            that it can “see” (on a virtual radar) from its position in the
free (forcing in this way the train to wait), usually it prefers to   space. Every agent sends to the others it sees an update on its
stop the train with lower priority. The aim of the algorithm is       future mission steps so they can check if there are conflicts.
also to find a solution where the delay of the involved trains is        The authors propose two solutions to the above problem: a
as limited as possible, and where the higher priority of a train      local one and a global one.
implies a minor delay. Moreover the protocol has to keep the             In the local one, the two agents involved in a conflict
changes made to the original “station crossing plan” as limited       propose, at first, a list of possible changes to their path and
as possible.                                                          look if they can adopt one of these change to avoid the
                                                                      conflict. If they are not able to find a solution based on the
                           IV. MPCA                                   list of generated maneuvers, they generate more maneuvers
                                                                      (accepting higher values for the parameters, for examples
   An area where multiagent systems are very often used is the        trying to move more to left, speeding up/slowing down more,
one of “collision avoidance”: in this domain the system reflects      making the altitude higher and so on) and add them to the
a situation where unmanned entities (autonomous airplanes)            list: then they try again to solve the conflict. They repeat this
need to move avoiding crashing, respecting constraints on the         procedure until they find a solution. In this way the list can
path they can use, time to make a decision, distance they need        be filled with tens or hundreds maneuvers and the solution is
to maintain between them and so on.                                   always found. A random choice is used when there are several
   Usually, this type of problem is faced in the airspace             solutions with the same utility value (using an utility function
management, where unmanned little planes need a protocol              not described here).
to negotiate the route, or in software applications where the            When the agents have solved their conflict, they will check
if other collisions exist and will start the protocol again to         The MPCA algorithm in particular is very similar to the
solve the first one that arises.                                    FYPA one because it is based on the same idea of “moving
   If an agent is involved in more than one collision, it will      others to get space for you”: for this reason it has been selected
solve the one that is expected to occur first in time.              for our analysis and comparison. The MPCA domain, instead,
   This algorithm is called “Iterative peer-to-peer collision       is quite different from ours because airplanes have much more
avoidance (IPPCA)”.                                                 flexibility in their movements than trains (they must avoid
   In the second algorithm (the one proposing a global solu-        certain zones and avoid other agents, but must neither follow
tion) called Multi-Party Collision Avoidance (MPCA), authors        rigid and limited paths, nor have to reach a fixed point but
enlarge the set of agents involved in the collision to find a       and area) and, above all, they move in a 3D space. For these
better solution: in this case the idea is to give the colliding     reasons MPCA could not be selected for solving our FYPA
agents enough space to make their evasion maneuvers (to avoid       problem.
all the agents around) without changing their plans too much.
The agents that have a colliding path create a group: then                        V. A IRPLANE REROUTING (APR)
they try to change their paths (they create a list with all the
                                                                       Another attempt to apply multiagent system negotiation to
possible modifications to their paths) and add to the group
                                                                    the airplane collision avoidance problem comes from Agogino
those agents that could be interested by these path changes.
                                                                    and Tumer [3]. In their work the authors present a multiagent
So the group is enlarged to involve all the agents that are near
                                                                    structure to control air traffic flow using tree kinds of “change
to the ones that have a conflict. Then, the possible alternative
                                                                    mechanisms”, explained later, and then analyze a learning
plans are analyzed by the group till a solution is found, and
                                                                    algorithm to improve the system efficiency (that we do not
all the agents will modify their path as decided.
                                                                    report here because it is out of our scope). The domain is the
   The group searches the states space of possible plan changes
                                                                    one of US airspace, where the space is divided into regional
(due to all the possible applications of evasion maneuvers
                                                                    centers and again into sectors. The algorithm uses a global
sequences, velocity change and so on) using an A* algorithm
                                                                    evaluation function that considers the congestion in a particular
modified for the situation.
                                                                    set of sectors and the global air traffic delay. Using this
   To simplify the communication and synchronization issues
                                                                    common function agents independently take decisions about
the authors have implemented this protocol creating, for each
                                                                    how changing their plans. In this system agents are ground
group, a coordinator agent that collects all the information it
                                                                    location throughout the airspace and are called “fixes”. Each
needs to solve the problem and than to find a solution. In this
                                                                    agent is responsible for the aircrafts going through its fix.
way the organization of the algorithm is partially centralized.
                                                                    Every airplane has a “flight plan” consisting of a sequence
   If an agent is involved in more multi-party groups, it will
                                                                    of fixes. In this organization agents can change the plan of the
only join the one with the earliest expected collision in the
                                                                    interested airplanes in three ways:
time line.
   As the authors explained to us, MPCA could be used as a            • Miles in trail (MIT): agents control the distance that the
global protocol, but it is not intended to be so. The idea is to        airplane must keep from each other while approaching a
used it as a “local/global” protocol. This means to compute             fix. If the MIT values is high, fewer planes will be able
“globally” a solution for a small group of airplanes, that are          to cross this area because they need to slow down their
involved in a single collision situation, but in the meanwhile          velocity to maintain the distance
another group of agents can solve different collision in their        • Ground delays: an agent can control how long aircrafts

corner of the world. So MPCA was designed to be something               that will eventually go through a fix should wait on the
between local and global: it is used to solve “globally” ad hoc         ground, that is, the airplanes will arrive later at the fix
local problems.                                                       • Rerouting: an agent can divert the foreseen planes of its

   The MPCA has been tested using AGENTFLY and the                      fix making them choosing another path.
comparison has been made using the IPPCA algorithm, im-                The algorithm identifies sets of agents that can influence
plemented as plug-ins in AGENTFLY.                                  themselves rerouting airplanes in their fixes: each agent lists
   The observed differences between IPPCA and MPCA are:             the possible solutions to the congestion problem and then
   • message flow characteristics: IPPCA has quite steady           chooses the best solution using different learning algorithms
      bandwidth of communication flow. MPCA has high peaks          (the authors study some types of learning strategies and
      and then very low communication (as the data are com-         compare them).
      puted by the coordinator);                                       This agent’s organization is quite similar to the one we
   • quality of solution: MPCA provides better solutions be-        adopted, so we included this algorithm in our comparison.
      cause the A* is able to find solutions that are not checked      From the available documentation, it is not clear whether the
      with IPPCA;                                                   agents can use in the same simulation all the three techniques
   • computation demands: as the MPCA goes through much             seen above to change the plan (or if they must use only one
      bigger space, the computation is much longer. This one        type in a run) and furthermore we did not find the strategy
      of the reasons to keep MPCA local by restricted size of       used to choose among these strategies (if they are foreseen
      the group.                                                    simultaneously).
   The algorithm has been developed using FACET (Future            of that research). Upon specification of a desired destination D
ATM Concepts Evaluation Tool) [5], that receives scripts from      the motion primitive will compute a path that takes the agent
the agents, simulates the execution of the algorithm, and          to D with zero final velocity.
returns the overall impact of their changes to the airplane’s         Every agent stores information about itself and the other
plans.                                                             agents and is able to communicate using a wireless network.
   This algorithm is interesting but seems to work only if            The algorithm grants that every agent will always, and only,
the groups are limited to few agents, because it is based on       move inside its reserved area, A. Instead of choosing the
the list of possible choices, that becomes too long if there       reserved area (A) directly, agents are indicating their intentions
are large sets of agents, or too many possibilities of plan        by requesting an area (called B area) first, and exchanging it
changes. More, the agents seem not to negotiate, but only to       with the others. Agents can change B arbitrarily. However,
work independently using the same evaluation strategy and          significant changes to B can cause the negotiation cycle to
only one possible change to the airplane route. All these          start over. The requested area B has to contain the reserved
constraints seem prevent the system from being applicable to       area A at all times, hence, an agent cannot move to a location
very complex scenarios or short term simulations, as FYPA          that is not inside the requested area.
instead does.                                                         Two intersecting B areas indicate a possible conflict. In
                                                                   this case the agents will negotiate to find out which one gets
                       VI. WAYPOINTS
                                                                   priority and how the A areas are being selected. The base for
    Similar problems and solutions as those discussed above can    this negotiation is a scalar cost function: the agents with a
be found in the field of autonomous robots which are able to       conflict exchange their respective costs and choose who has
independently move and need to avoid collisions while trying       the higher priority using this, choosing also who will change
to reach a desired destination. This is a common situation for     its A area. The agent with the lower priority will reduce its A
example in the military area, where robots are entities that       area (stopping and waiting for the other agent to pass over).
must explore territories, or in industrial applications where         With this solution an agent should stop and wait several
little robots could be used in places that are not suitable for    times, getting a huge delay: the algorithm proposes also a
humans (under-water, in mines, and so on).                         second way of acting. Instead of stopping, an agent can decide
    In the area of autonomous robots it is worth mentioning the    to change its path to avoid an obstacle (or simply a point
proposal made by Purwin, D’Andrea and Lee [34]: the authors        of its paths that intersects with many other agents) and to
present a cooperative decentralized path-planning algorithm        move around that. It will choose a “way-point”, that is a new
for a group of autonomous agents that provides guaranteed          intermediate destination, and will try to reach it using the same
collision free trajectories in real-time. The algorithm is based   algorithm shown above. Then it will start again to reach the
on the idea that every agent reserves an exclusive area (called    initial destination.
A area) for itself and always remains inside that area, and no        In the basic algorithm all agents can communicate with all
two reserved areas are allowed to intersect at any time.           the others: this implementation is foreseen for autonomous
    The core of the algorithm is based on pair-wise conflict       robots, with limited battery autonomy and wireless communi-
resolution among two agents. Both agents operate according         cation limitation, so if the total number of agents is huge then
to exactly the same rules, with the only exception being           the robots can limit their communication range to reach only
how priority is assigned. For the algorithm the following          the nearest agents, saving energy. This algorithm’s limitation
assumptions are made:                                              is realistic because probably only the agents that are close to
    • decentralized agents: all computation/control is done on     each other can have intersecting paths, consequently an agent
       board;                                                      must inform only its neighbors of the changes to A and B
    • the total number of agents is known;                         areas.
    • motion primitives are available to move the agents in a         We do not describe the algorithm with more details because
       deterministic fashion;                                      it presents a complex and out-of-our-scope description of the
    • point-to-point communication between agents is sup-          primitives chosen for changing the reserved and requested
       ported;                                                     area, that are managed by a geometrical function and not by
    • agents can localize themselves, but not others.              the negotiation protocol: the A and B areas will be always
    The algorithm is executed considering discrete time (agents    rectangles, chosen to approximate the new path. Moreover, the
work with “frames”, that is, they assume a discrete divisions      paper presents the pseudo-code of the protocol, so reporting it
of time).                                                          here is not interesting, and the code in C++ is also available
    Every agent is trying to reach its task location, which has    on the author’s web site.
been selected by some higher level entity that is not in the          This algorithm is similar to FYPA in the idea of how the
scope of that work. Position and velocity of the agent are         agents collaborate to solve the conflicts and how they can
expressed in a global Cartesian coordinate system. The agent’s     change their strategy: in both protocols agents can stop and
motion is controlled by a deterministic motion primitive MP(),     wait for the other to move, or can change their path. The
which contains trajectory generation and low-level control of      difference is that in our domain the paths are limited to a
the mechanical actuators (also this aspect is out of the scope     predefined set and are divided into fixed parts. Every subpart
is managed by a Resource agent, whereas in that article agents          and specifies how much the agent will concede before skipping
are able to move without limitations and without intermediate           to the second phase.
agents. More, those agents operate in a wireless environment,              The second function of stage 1 is to ensure that some utility
so the number of exchanged messages and the real distance               is obtained while waiting for stage 2 to complete. If the reason
of the agents can make the difference on the behavior of the            the protocol was started was a resource requirement change,
entities: in this case some limitations and heuristics must be          a temporary solution is applied to the problem: this solution,
adopted (not described here), while in our algorithm the only           although not conflicts free, has the ability to obtain at least
limitation is due to the computational time of managing all the         some utility while the mediator tries to get a better solution.
messages. Anyway we tested our system also with complex                 Conflicts that are unresolved are actually left to the individual
configurations and the number of messages does not make the             sensor agents to handle.
performances degrade.                                                      If stage 1 was activated because of a newly discovered
                                                                        conflict, and a conflict-free solution cannot be found, then the
                           VII. SPAM                                    manager just enters stage 2: in this case it does not concede,
   In [27] a “cooperative negotiation protocol that solves a dis-       does not bind a temporary solution, and it does not reset its
tributed resource allocation problem while conforming to soft           objective level, but it only enters stage 2 to find a solution.
real-time constraints in a dynamic environment” called SPAM                Stage 2 attempts to solve all local conflicts that a track
(Scalable Protocol for Anytime Multi-level) is presented by             manager has by elevating the negotiation to the track managers
Mailler, Lesser and Horling. In particular that proposal models         that are in direct conflict over the desired resources. The
the resource allocation problem as a constraint satisfaction            originating track manager takes the role of the negotiation
problem.                                                                mediator and starts collecting all the information it needs to
   As in the other domains described above, in that work we             generate alternative solutions. These solutions are generated
can find a set of limited resources and some agents interested          without a global vision, so they are conflict free only from the
in using them in different moments for different periods: the           point of view of the mediator. What this means is that the view
resources are three sensors platforms, and agents need at least         of the mediating manager is limited to only the constraints that
three sensors to track an entity moving in the environment.             arise from the sharing of a resource with it. If the solution that
More sensors give a more accurate target’s location.                    will be imposed by the mediator will cause other conflicts then
   In the proposed solution each platform is managed by an              other agents will try to solve them, even starting again all the
agent, which is also in charge of localizing and following a            algorithm.
target (this task allocation is made out of the system), deciding          When an agent is the mediator of a conflict, it starts
which sensors (of which platform) it needs to do this and               asking the other agents for meta level information, than it
when. So if two, or more, agents (called also track managers)           elaborates them and generates all the possible alternative
need the same sensor for different tasks then a conflict arises         solutions, including those where one, or more agents, must
and it must be solved. The solution is centralized because the          lower its utility function. Then it will send the list with the
agent that first creates the conflict becomes the “mediator” of it      alternative solutions to the agents involved and will wait for
and must solve it, asking the other involved agents information         their responses: the other agents will reorder the list using their
and then propagating its decision. Every agent has an utility           local information and utility function and will send back this
function U that uses to evaluate the proposed solution (the set         reordered list to the mediator. Last, the mediator chooses a
of sensors and the period of usage), and can change U to solve          solution, possibly a good one for all the agents involved, and
quickly a conflict.                                                     sends it to the agents that must apply it.
   SPAM protocol works in two main phases, trying at first to              At this point, each of the track managers is free to propagate
find a solution which avoids the negotiation. At the end of the         and mediate a new negotiation if it chooses to enter the
first stage there is always a solution, even if it is not the optimal   second stage. At the time when this article was written, SPAM
one or if it generates conflicts. The algorithm foresees also to        allows the agents to enter potential oscillations, maintaining
lose a target, solution that anyway causes a huge penalization          no prior state other than objective levels, from negotiation to
of the social utility.                                                  negotiation and rely on the environment to break oscillations.
   Stage 1 of SPAM serves two primary functions. The first                 To test the SPAM protocol the authors implemented a model
one is to try to find a solution within the context of the              of the domain in a simulation environment called Farm [21],
information that the protocol has when it starts up. However,           a component-based distributed simulation environment written
since the protocol attempts to maximize the social utility, each        in Java. They performed tests to evaluate the performance of
of the agents tries to maximize its local utility without causing       SPAM compared with those of a Greedy Tracking Agent and
new constraint violations. If this can be done, then no further         an Optimal Tracking Agent. To do this, the simulation used
negotiation is necessary, and the protocol terminates at the end        not moving targets.
of stage 1.                                                                In the simulation with moving targets (a not comparing test,
   Moreover, in this stage the agents use a “concession rate”           only a performance test), SPAM gives good results, near to
to decide if they have to activate the second phase, more               the optimal, and shows a linear increase in the time needed to
expensive, or not: this rate is a percentage of the agent’s utility     converge when the problem gets harder, but they do not have
implemented other solutions to compare with.                          In particular, “Limited” referred to sociality underlies a
   Comparing this protocol to FYPA, the main difference that       solution where the agents communicate among each others
emerges seems to be in the possibility for a track manager         but use very simple data structures and, above all, sociality
agent to “loose a track”, namely give up tracking an object, if    amounts to simple exchange of information: the solution to
it becomes too hard to do that: in SPAM this event is allowed,     the problem is partially centralized, so the agents are more
even if it is the last option, whereas in our protocol it is not   “communicative” than “social”. The same value for the “Pro-
possible for a user agent - a train - to give up obtaining         activity”1 parameter underlines that the main behavior of
resources - railway tracks and nodes: the train has to stay        agents is passive, that is, they wait for some changes in the
somewhere in the station!. Furthermore, the representation         environment happen before acting. So these agents are more
of the domain as a constraint problem should be almost             reactive than proactive.
difficult for the FYPA domain, and finally we preferred a real
distributed negotiation, while the solution proposed in [27]       B. Domain, Purpose, Approach of the MAS
is partially centralized. In a way similar to the Contract Net        Table III provides a comparison with respect to the general
protocol, agents do not negotiate, they choose one of them         features of the protocols.
to solve the constraint problem and then apply the solution it
                                                                      • Which is the domain where the protocol is applied?
proposes.
                                                                        The described protocols refer to different applicative do-
                     VIII. C OMPARISON                                  mains, that are summarized in this way: Railway manage-
                                                                        ment (“RAIL”), Air traffic management (“AIR”), Sensors
   A brief comparison among FYPA and these algorithms has
                                                                        management (“SENSOR”) and Autonomous robots’s path
been already presented in the previous sections, with the aim
                                                                        management (“ROBOT”).
of clarifying why they have been chosen for the comparison
                                                                      • Is the protocol used for simulation purposes (for
and why they have been not adopted to solve our resource
                                                                        example, for performing a what-if analysis or for
allocation problem.
                                                                        implementing a decision support system)? For this
   Now, in order to draw a systematic comparison between the            parameter the value will be “YES” if the system/protocol
five systems introduced in the previous sections, we identify a         has been implemented/used in simulations too
set of features relevant for characterizing a negotiation proto-      • Is the protocol used for controlling agents (hence, not
col, besides the general ones proposed in [14] and summarized           for simulation purposes, but for allowing real agents
in Table I.                                                             to negotiate)? In this case, the value will be “YES” if,
A. Accepted agent definition                                            and only if, the system has the real control over physical
                                                                        entities, that is, its decisions are not checked by an human
   We adhere to the definition given by Jennings, Sycara and
                                                                        operator. The value will be “Limited” if a human user will
Wooldridge [24]:
                                                                        accept the proposed solutions before applying them.
     “An agent is a computer system, situated in some                 • Which is the approach underlying the protocol? For
     environment, that is capable of flexible autonomous                this parameter we list the main standard techniques used
     action in order to meet its design objectives. There               in the protocol, for example Game theory, Auctions and
     are thus three key concepts in our definition: situat-             so on.
     edness, autonomy, and flexibility.”                              • Is the system used for a real industrial application?
   Hence, the first characterizing feature we consider in our           Which one?
comparison is what definition of agent is accepted by the
authors, specifying which standard features can be found in        C. Analysis and design of the MAS negotiation protocol
the MAS discussed above.                                             Table IV shows the values for the parameters that we
   • Are agents autonomous?                                        considered for the design features of the protocols.
   • Are agents situated?
                                                                     • Which is the detail level of the MAS design? The
   • Are agents responsive?
                                                                        possible values are: High (Verbal description of the
   • Are agents pro-active?
                                                                        system), Low (Detailed description with use cases or
   • Are agents social?
                                                                        Class Diagram or other languages)
   Table II provides a comparison among the protocols we             • Is the pseudo-code, or a simplified version of the code,
described in this paper, with respect to the accepted definition        of the negotiation protocol available?
of agenthood. For every parameter the possible values are:
                                                                      1 Concerning the MPCA protocol, the value NO for the filed “Pro-activity”
   • YES: the agents show all the typical features associated
                                                                   is correct if we limit our evaluation only to the MPCA protocol, but if we
     with the parameter;                                           consider agents in the whole AGENTFLY project (those called “pilot agent”),
   • NO: the agents show none, or very few, of the typical         they are pro-active as well. At the beginning, every pilot agent receives its
     features associated with the parameter;                       mission (which can be changed by human operator during the simulation)
                                                                   and the agent plans its trajectory to fulfill its mission or to communicate
   • LIMITED: the agents show some of the typical main             with other agents if it is in a group mission (see “tactical-agentfly” at
     features associated with the parameter.                       http://agents.felk.cvut.cz/)
                     What kind of resources are being distributed?       How are they being distributed?            Why are they being distributed?
       MPCA          volumes of air space                                see details in Section IV                  to avoid collisions among airplanes
       APR           volumes of air space                                see details in Section V                   to avoid collisions among airplanes
       Waypoint      rectangular areas                                   see details in Section VI                  to avoid collisions among robots
       SPAM          sensors                                             see details in Section VII                 to track targets
       FYPA          railway tracks and nodes inside a station           see details in Section III                 to avoid collisions among trains

                                                                         Table I
                                                            C OMPARISON : GENERAL FEATURES


                                       Autonomy           Situatedness         Reactivity          Pro-activity        Sociality
                         MPCA          YES                YES                  YES                 NO                  YES
                         APR           YES                YES                  YES                 LIMITED             LIMITED
                         Waypoint      YES                YES                  YES                 NO                  LIMITED
                         SPAM          YES                YES                  YES                 NO                  LIMITED
                         FYPA          LIMITED            YES                  YES                 YES                 YES

                                                                       Table II
                                                      C OMPARISON : ACCEPTED AGENT DEFINITION


                          Domain         Simulation    Real control              Approach                         Industrial
            MPCA          AIR            YES           YES                       A* state search                  YES (BAE Systems and others)
                                                                                                                  LIMITED (foreseen for the Fed-
            APR           AIR            YES           LIMITED                   Learning algorithm
                                                                                                                  eral Flight Administration)
                                                                                 Scalar cost function,
            Waypoint      ROBOT          NO            YES                                                        NO
                                                                                 Computational Geometry
                                                                                 Distributed Constraints
            SPAM          SENSOR         YES           NO                                                         NO
                                                                                 Satisfaction Problem
                                                                                 Distributed resources
            FYPA          RAIL           YES           LIMITED                                                    YES (Ansaldo STS)
                                                                                 allocation

                                                                        Table III
                                                        C OMPARISON : D OMAIN AND SIMULATION




   • How many different agent roles does the MAS in-                             This applies to Table V too.
     clude?
   • How many different kinds of messages do the agents                          D. Implementation of the MAS negotiation protocol
     exchange? The number indicates the type of different
                                                                                   In Table V we summarize the values for the parameters
     ACL messages (if known) or different semantics (request,
                                                                                 regarding the implementation features of the protocols.
     answer, update...)
   • Is the solution computed in a partially centralized way
                                                                                    • Is the MAS implemented?
     (at least, in any iteration step of the negotiation)? The                      • In which programming language?
                                                                                    • Is the MAS based upon an existing agent platform?
     value will be YES if the final solution in calculated by
                                                                                    • Can the strategy of the agent vary during the same
     only one agent2 , NO if the solution emerges from a real
     negotiation among agents.                                                        execution run? With “varying strategy agent”3 we intend
   • Is the algorithm guaranteed to terminate? Under
                                                                                      an agent that is able to act in different ways using
     which conditions? The value will be NO if the algorithm                          different rules. That is, it is able to find many ways to
     is allowed to enter a loop or a situation where it does not                      solve a problem during the execution/simulation
                                                                                    • Is the code implementing the protocol available?
     assure to find a solution within a specified time, while
     the value will be YES if the algorithm will always find a                        Under which license? The possible values are: “FREE”
     solution. In this case, if the solution is partial or it accepts                 if the code is available under an open license, “NO” if
     some constraints violation, this will be specified between                       the code is protected by a Non disclosure agreement or
     round brackets.                                                                  it has been registered for a third private entity or “UNK”
                                                                                      if we do not know how/it the code is available.
   If, from the available documentation, we were not able to
clearly understand the correct value to be assigned to some                        3 Concerning the MPCA protocol, once the MPCA or IPPCA is used for

parameter, we use the value UNK, that stands for “unknown”.                      solving particular problem, the agent will use it until a solution is find
                                                                                 or timeout will pass. Considering the global “AGENTFLY” project, pilots
                                                                                 agent have several different methods to solve collision avoidance (MPCA and
   2 Concerning the MPCA protocol, a decentralized implementation exists but     IPPCA are just some of them) and they select the best method based on
it is not published, so we do not consider it in this paper.                     current situation (time to solution, mission goals, environment and so on).
                             Design      Pseudo-Code        Roles      Messages     Centralized   Termination
               MPCA          HIGH        YES                2          2            YES           YES
               APR           UNK         NO                 1          2            NO            YES
               Waypoint      UNK         YES                1          3            NO            YES
                                                                                                  YES (but with no assurance that
               SPAM          UNK         NO                 2          4            YES
                                                                                                  all tracks have been managed)
                                                                                                  YES (a no-way-out situation is
               FYPA          Low         YES                3          7            NO
                                                                                                  reported to the user)

                                                                 Table IV
                                                   C OMPARISON OVER THE DESIGN FEATURES


                                                                              Var.
                       Impl.          Lang.     Platforms                                  Code available    User               GUI
                                                                              Strategy
                                                                                           YES (for aca-                        ON
           MPCA        YES            Java      AGENTFLY/ AGLOBE              NO                             YES
                                                                                           demic purposes)                      LINE
           APR         YES            UNK       FACET                         NO           UNK               NO                 NO
           Waypoint    YES            C++       2005 Cornell RoboCup          YES          FREE              NO                 PH
           SPAM        YES            Java      FARM                          YES          UNK               NO                 NO
                                                                                                                                OFF
                                                                                                             YES (JADE in-
           FYPA        YES            Java      JADE                          YES          NO                                   LINE,
                                                                                                             terface)
                                                                                                                                [10]

                                                                  Table V
                                               C OMPARISON OVER THE IMPLEMENTATION FEATURES




  • Can the user interact with the MAS on-line during                      to users, instead of many different and not integrated MARA
    the MAS execution? If the value is “YES” it means that                 solutions.
    the user can change the execution of the system while it                  As far as FYPA is concerned, we already made the success-
    is running, using a GUI or other techniques.                           ful effort to generalize the problem that Ansaldo STS posed
  • Which GUI is available? The value can be “ON LINE”                     to our attention, in order to exploit the solution we developed
    if a GUI exists and the user is allowed to modifies the                in situations other than the specific Ansaldo STS one [7]. If
    execution of the system, “OFF LINE” if something exists                we will be able to prove that the FYPA protocol is suited to
    that shows the user the execution of the protocol (during              manage even more MARA problems, we could move another
    the execution or later), “NO” if the system only gives                 step further and design a platform for developing negotiation
    the result but is not able to let the user understand the              protocols, starting from the FYPA one. This platform could
    intermediate steps of the protocol. The value will be “PH”             help users to develop new negotiation protocols step by step,
    if the system is physically implemented so its execution is            starting from the definition of the model (entities, resources
    visible for the user (you can see for example the physical             and their dependencies) and moving on with the definition of
    entities moving) but it can not be considered a GUI.                   the rules regulating the interaction (specifying the time-outs,
                                                                           the priorities of entities...) and, for example, those to calculate
          IX. C ONCLUSIONS AND FUTURE WORK                                 the alternative allocations.
   This paper complements the one presented at WOA 2009                       The next extension would be to integrate this platform
[12] and further refined in [11], where we discussed the                   for developing negotiation protocols into the DCaseLP rapid
preliminary design and implementation of the FYPA system.                  prototyping framework [28], thus resulting into an “Enhanced
   In this paper we propose a systematic comparison among                  DCaseLP”, in order to allow developers to specify rules
five MARA systems, including FYPA. The comparison is                       regulating the agents behavior using a logical language such
detailed enough to help a developer/scientist looking for                  as tuProlog.
implemented MARA solutions, in choosing among them.                           Finally, as proposed in [9], a further extension to our
   From the comparison, a fact emerges: all the analyzed                   work could be to integrate the verification capabilities offered
systems (and many others that we took under consideration                  by Concurrent MetateM [19] into the “Enhanced DCaseLP”
during our research activity but that we did not report here) are          framework.
designed to solve very specific problems, although in principle               Regarding the proposal to integrate ontologies in MASs
they might be easily generalized (with little or much effort               that we presented at WOA 2008 [8], our research group has
depending on the system) to face similar problems in domains               already extended the Ontology Agent, as described in [30].
other than those they were designed for.                                   The “Enhanced DCaseLP” will take advantage of these results
   If this generalization process took place, an integrated plat-          without any further effort since the extended Ontology Agent,
form for developing negotiation protocols could be provided                being developed in JADE, will be able to be integrated into it
for free.                                                                           [21] B. Horling, R. Mailler, and V. Lesser. Farm: A scalable environment
                                                                                         for multi-agent development and evaluation. In A. G. C. Lucena,
                        ACKNOWLEDGEMENTS                                                 J. C. A. Romanovsky, and P. Alencar, editors, Advances in Software
                                                                                         Engineering for Multi-Agent Systems, pages 220–237. Springer-Verlag,
  This paper is based on Chapter 7 of Daniela Briola’s Ph.D.                             Berlin, February 2004.
Thesis, [7].                                                                        [22] B. Hubermanand and S. Clearwater. A multi-agent system for controlling
  We thank Riccardo Caccia from Ansaldo STS for his help                                 building environments. In V. Lesser, editor, Proceedings of the 1st
                                                                                         International Conference on Multiagent Systems, 1995 June 12-14; San
and support during all the stages of FYPA development.                                   Francisco, CA, volume 1, pages 171–176, 1995.
                                                                                    [23] N. R. Jennings. Cooperation in industrial multi-agent systems. World
                               R EFERENCES                                               Scientific Publishing Co., Inc., River Edge, NJ, USA, 1994.
 [1] M. R. Adler, A. B. Davis, R. Weihmayer, and R. W. Worrest. Conflict            [24] N. R. Jennings, K. Sycara, and M. Wooldridge. A roadmap of
     resolution strategies for nonhierarchical distributed agents. In L. Gasser          agent research and development. Autonomous Agents and Multi-Agent
     and M. N. Huhns, editors, Distributed artificial intelligence: vol. 2, pages        Systems, 1(1):7–38, 1998.
     139–161, San Francisco, CA, USA, 1990. Morgan Kaufmann Publishers              [25] S. Lander and V. Lesser. Sharing Meta-Information to Guide Cooperative
     Inc.                                                                                Search Among Heterogeneous Reusable Agents. IEEE Transactions on
 [2] AgentFly: reference homepage.           http://agents.felk.cvut.cz/projects/        Knowledge and Data Engineering, 9(2):193–208, January 1997.
     agentfly/.                                                                     [26] V. R. Lesser. Cooperative multiagent systems: A personal view of the
 [3] A. Agogino and K. Tumer. Regulating air traffic flow with coupled                   state of the art. IEEE Transactions on Knowledge and Data Engineering,
     agents. In AAMAS ’08: Proceedings of the 7th international joint                    11:133–142, 1999.
     conference on Autonomous agents and multiagent systems, pages 535–             [27] R. Mailler, V. Lesser, and B. Horling. Cooperative negotiation for soft
     542, Richland, SC, 2008. International Foundation for Autonomous                    real-time distributed resource allocation. In AAMAS ’03: Proceedings
     Agents and Multiagent Systems.                                                      of the second international joint conference on Autonomous agents and
 [4] M. Barbuceanu and M. S. Fox. Cool: A language for describing                        multiagent systems, pages 576–583, New York, NY, USA, 2003. ACM.
     coordination in multi agent systems, 1995.                                     [28] V. Mascardi, M. Martelli, and I. Gungui. DCaseLP: a prototyping
 [5] K. D. Bilimoria, B. Sridhar, G. B. Chatterji, K. S. Shethand, and S. R.             environment for multi-language agent systems. In M. Dastani, A. E.-
     Grabbe. Future atm concepts evaluation tool. In Air Traffic Control                 F. Seghrouchni, J. Leite, and P. Torroni, editors, In Proceedings of the
     Quarterly , 9(1), 2001.                                                             First Workshop on LAnguages, methodologies and Development tools
 [6] M. Boman, P. Davidsson, N. Skarmeas, K. Clark, and R. Gustavsson.                   for multi-agent systemS, LADS’007 Post-proceedings, volume 5118 of
     Energy saving and added customer value in intelligent buildings. Build-             LNCS, pages 139–155. Springer-Verlag, 2008.
     ing, 1:505–516, 1998.                                                          [29] C. L. Mason and R. R. Johnson. Datms: a framework for distributed
 [7] D. Briola. Negotiation in Multiagent Systems: Protocols, Ontologies and             assumption based reasoning. In L. Gasser and M. N. Huhns, editors,
     Applications. PhD thesis, DISI, University of Genova, Italy, 2011.                  Distributed artificial intelligence: vol. 2, pages 293–317, San Francisco,
 [8] D. Briola, A. Locoro, and V. Mascardi. Ontology agents in fipa-                     CA, USA, 1990. Morgan Kaufmann Publishers Inc.
     compliant platforms: a survey and a new proposal. In From Objects              [30] F. Mulattieri. Progettazione ed implementazione di un ontology agent.
     to Agents Workshop, WOA 2008, Proceedings, 2008.                                    Master’s thesis, DISI, University of Genova, Italy, 2010.
 [9] D. Briola, M. Martelli, and V. Mascardi. Specification, simulation and         [31] D. E. Neiman, D. W. Hildum, V. R. Lesser, and T. W. Sandholm.
     verification of negotiation protocols in a unified agent-based framework            Exploiting meta-level information in a distributed scheduling system. In
     (extended abstract). In ICTCS 2010: 12th Italian Conference on                      Proceedings of the twelfth national conference on Artificial intelligence
     Theoretical Computer Science, 2010.                                                 (vol. 1), AAAI ’94, pages 394–400, Menlo Park, CA, USA, 1994.
[10] D. Briola and V. Mascardi. Design and implementation of a NetLogo                   American Association for Artificial Intelligence.
     interface for the stand-alone FYPA system. In this volume.                     [32] T. Oates, M. V. N. Prasad, and V. R. Lesser. Cooperative information-
[11] D. Briola, V. Mascardi, and M. Martelli. Intelligent agents that monitor,           gathering: a distributed problem-solving approach. IEE Proceedings -
     diagnose and solve problems: Two success stories of industry-university             Software, pages 72–88, 1997.
     collaboration. In Journal of Information Assurance and Security,               [33] H. Parunak. Manufacturing experience with the contract net. Distributed
     volume 4, pages 106–117, 2009.                                                      Artificial Intelligence, pages 285–310, 1987.
[12] D. Briola, V. Mascardi, M. Martelli, R. Caccia, and C. Milani. Dynamic         [34] O. Purwin, R. D’Andrea, and J.-W. Lee. Theory and implementation
     resource allocation in a MAS: A case study from the industry. In From               of path planning by negotiation for decentralized agents. Robot. Auton.
     Objects to Agents Workshop, WOA 2009, Proceedings, 2009.                            Syst., 56(5):422–436, 2008.
[13] N. Carver and V. Lesser. A new framework for sensor interpretation:            [35] A. S. Rao and M. P. Georgeff. Modeling rational agents within a bdi-
     Planning to resolve sources of uncertainty. In In Proceedings of the                architecture. In KR’91, pages 473–484, 1991.
     Ninth National Conference on Artificial Intelligence, pages 724–731,           [36] M. P. Singh. Towards a formal theory of communication for multi-agent
     1991.                                                                               systems. In In Proceedings of the Twelfth International Joint Conference
[14] Y. Chevaleyre, P. E. Dunne, U. Endriss, J. Lang, M. Lemaı̂tre,                      on Artificial Intelligence (IJCAI-91, pages 69–74. Morgan Kaufmann,
     N. Maudet, J. A. Padget, S. Phelps, J. A. Rodrı́guez-Aguilar, and                   1991.
     P. Sousa. Issues in multiagent resource allocation. Informatica (Slove-        [37] T. Sugawara and K. Murakami. A Multiagent Diagnostic System for
     nia), 30(1):3–31, 2006.                                                             Internetwork Problems. Proceedings of INET’92, January 1992.
[15] D. Cockburn and N. R. Jennings. Archon: A distributed artificial               [38] K. Sycara, S. Roth, N. Sadeh, and M. Fox. Distributed constrained
     intelligence system for industrial applications, 1995.                              heuristic search. IEEE Transactions on Systems, Man, and Cybernetics,
[16] P. R. Cohen and H. J. Levesque. Intention is choice with commitment.                21:1446–1461, 1991.
     Artif. Intell., 42:213–261, March 1990.                                        [39] U.S. Congress, Office of Technology Assessment. Electronic Enter-
[17] K. Decker. Designing behaviors for information agents. In In Proceed-               prises: Looking to the Future. U.S. Government Printing Office, 1994.
     ings of the 1st Intl. Conf. on Autonomous Agents, pages 404–412. ACM           [40] D. Šišlák, J. Samek, and M. Pěchouček. Decentralized algorithms for
     Press, 1997.                                                                        collision avoidance in airspace. In AAMAS ’08: Proceedings of the 7th
[18] E. H. Durfee and J. S. Rosenschein. Distributed problem solving and                 international joint conference on Autonomous agents and multiagent
     multi-agent systems: Comparisons and examples. In Proc. 13th Intl                   systems, pages 543–550, Richland, SC, 2008. International Foundation
     Distributed Artificial Intelligence Workshop, pages 94–104, 1994.                   for Autonomous Agents and Multiagent Systems.
[19] M. Fisher. A survey of concurrent metatem - the language and its               [41] R. Weihmayer and R. Brandau. A distributed ai architecture for customer
     applications. In Proceedings of the First International Conference                  network control. In IEEE Global Telecommunications Conference,
     on Temporal Logic, ICTL ’94, pages 480–505, London, UK, 1994.                       Globecom’90, Proceedings, pages 656–662. IEEE, 1990.
     Springer-Verlag.                                                               [42] M. P. Wellman. A market-oriented programming environment and its
[20] B. Grosz and C. Sidner. Plans for discourse. In P. Cohen, J.Morgan, and             application to distributed multicommodity flow problems. Journal of
     M. Pollack, editors, Intentions in Comm., pages 417–444. MIT Press,                 Artificial Intelligence Research, 1:1–23, 1993.
     Cambridge, Mass., 1990.