<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Multi-Agent Systems in the Industry Three Notable Cases in Italy</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Federico Bergenti</string-name>
          <email>federico.bergenti@unipr.it</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Eloisa Vargiu</string-name>
          <email>vargiu@diee.unica.it</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Dipartimento di Ingegneria Elettrica ed Elettronica, Universita` degli Studi di Cagliari</institution>
          ,
          <addr-line>Cagliari</addr-line>
          ,
          <country country="IT">Italy</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Dipartimento di Matematica, Univesita` degli Studi di Parma</institution>
          ,
          <addr-line>Parma</addr-line>
          ,
          <country country="IT">Italy</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>-This paper reports on three notable examples of the use of multi-agent systems in the Italian Industry. First, we introduce the topic and we outline some examples of real-world agent-based software application. Then, we describe in details the use of multi-agent systems in three software packages for (i) personalized press reviews, (ii) monitoring boats in marine reserves, and (iii) advanced contact centers. Finally, we draw some conclusions and summarize the lesson learnt from described experiences. The discussion focuses on the benefits and problems that the choice of agent technology brought.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>I. INTRODUCTION</title>
      <p>
        From the ’80s the term “agent” has been adopted by a
variety of sub-disciplines of artificial intelligence and
computer science [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. In particular, from the ’90s we can talk
of “Multi-Agent Systems” (MAS) in software engineering,
data communications and concurrent systems research, as
well as robotics, artificial intelligence and distributed artificial
intelligence [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ].
      </p>
      <p>
        In 1996, FIPA1 was established to produce software
standards for heterogeneous, interacting agents and agent-based
systems. Since its conception, FIPA has played a crucial role
in the development of agents standards and has promoted
a number of initiatives and events that contributed to the
development and uptake of agent technology. According to
FIPA reports many MAS and relative platforms have been
developed; among others, let us recall here FIPA-OS [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ],
JACK [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ], ZEUS [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] and JADE [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ].
      </p>
      <p>
        Nowadays, only few MAS solutions have been devised,
deployed, and adopted in industrial applications [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]. As noted
in [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ], agent technologies have been concentrated in a small
number of business sectors:
      </p>
      <sec id="sec-1-1">
        <title>Simulation and training applications in defense domains,</title>
        <p>
          e.g., the system developed by Agent Oriented Software
to aid the Ministry of Defence in military training2 and
the NASA’s OCA Mirroring System [
          <xref ref-type="bibr" rid="ref9">9</xref>
          ];
Network management, e.g., IRIS, a tool for strategic
security allocation in transport networks [
          <xref ref-type="bibr" rid="ref10">10</xref>
          ] and the
system developed by Magenta to help a shipping company
improve oil distribution shipping networks [
          <xref ref-type="bibr" rid="ref11">11</xref>
          ];
1http://www.fipa.org
2http://ats.business.gov.au/Company/CompanyProfile.aspx?ID=22
        </p>
      </sec>
      <sec id="sec-1-2">
        <title>User interface and local interaction management in</title>
        <p>
          telecommunication networks, e.g., the systems developed
by Telecom Italia on WADE to implement a mediation
layer between network elements and OSS and to provide
step-by-step guidance to technicians performing
maintenance operations in the fields [
          <xref ref-type="bibr" rid="ref12">12</xref>
          ];
        </p>
      </sec>
      <sec id="sec-1-3">
        <title>Schedule planning and optimization in logistics and</title>
        <p>
          supply-chain management, e.g., Living Systems Adaptive
Transportation Networks, a system for logistics
management developed by Whitestein Technologies [
          <xref ref-type="bibr" rid="ref13">13</xref>
          ] and the
system for heat and sequence optimization in the supply
chain of steel production proposed in [
          <xref ref-type="bibr" rid="ref14">14</xref>
          ];
        </p>
      </sec>
      <sec id="sec-1-4">
        <title>Control system management in industrial plants, e.g., the</title>
        <p>
          MAS solution applied in mass-production planning of car
engines for Skoda Auto [
          <xref ref-type="bibr" rid="ref15">15</xref>
          ];
        </p>
      </sec>
      <sec id="sec-1-5">
        <title>Simulation modeling to guide decision-makers in public</title>
        <p>
          policy domains, e.g., the one developed by Eurobios
to improve production schedules for a cardboard box
manufacturer [
          <xref ref-type="bibr" rid="ref16">16</xref>
          ].
        </p>
        <p>
          According to [
          <xref ref-type="bibr" rid="ref17">17</xref>
          ], the main bottlenecks that prevent a fast
and massive adoption of agent-based solutions in real world
applications are: (i) limited awareness about the potentials
of agent technology; (ii) limited publicity of successful
industrial projects carried out with the agent technology; (iii)
misunderstandings about the effectiveness of agent-based
solutions, characterized by over-expectations of the early industrial
adopters and subsequent frustration; (iv) risks for adopting a
technology that has not been already proven in large scale
industrial applications; as well as (v) lack of mature enough
design and development tools for industrial deployment.
        </p>
        <p>
          More than ten years after the first FIPA specifications [
          <xref ref-type="bibr" rid="ref18">18</xref>
          ],
we state that time is ripe to adopt MAS in the industry [
          <xref ref-type="bibr" rid="ref19">19</xref>
          ].
In fact, the MAS technology is already effective for deploying
real applications from both a software engineering [
          <xref ref-type="bibr" rid="ref20">20</xref>
          ] and
a technological perspective [
          <xref ref-type="bibr" rid="ref21">21</xref>
          ]. To this end, in this paper,
we present and discuss our experience in using MAS for
developing industrial applications. In particular, we describe
in details the use of MAS in three software packages for (i)
personalized press reviews, (ii) monitoring boats in marine
reserves, and (iii) advanced contact centers.
        </p>
        <p>The rest of the paper is organized as follows: in Section II,
Section III, and Section IV we describe and discuss the system
for creating personalized press reviews, for monitoring boats in
marine reserves, and for managing advanced contact centers,
respectively. In particular, for each system we first illustrate
the corresponding scenario, then, we present the proposed
solution, and, finally, we discuss the underlying motivations
in adopting a MAS-based approach. Section V ends the paper
with some conclusions and a summary of the lesson learnt
from described experiences.</p>
      </sec>
    </sec>
    <sec id="sec-2">
      <title>II. PERSONALIZED PRESS REVIEWS</title>
      <p>
        In this section, we present a MAS explicitly devoted to
generate press reviews by (i) extracting articles from Italian online
newspapers, (ii) classifying them using text categorization
according to user’s preferences, and (iii) providing suitable
feedback mechanisms [
        <xref ref-type="bibr" rid="ref22">22</xref>
        ]. The system has been developed
and deployed together with Arcadia Design3 under the project
DMC (Digital Media Center) ordered by Cosmic Blue Team4.
      </p>
      <sec id="sec-2-1">
        <title>A. The Scenario</title>
        <p>The World Wide Web offers a growing amount of
information and data coming from different and heterogeneous
sources. As a consequence, it becomes more and more difficult
for Web users to select contents according to their interests,
especially if contents are frequently updated (e.g., news,
newspaper articles, reuters, RSS feeds, and blogs). Supporting users
in handling the enormous and widespread amount of Web
information is becoming a primary issue. To this end, several
online services have been proposed (e.g., Google News5 and
PRESSToday6). Unfortunately, they allow users to choose their
interests among macro-areas (e.g. economics, politics, and
sport), which is often inadequate to express what the user
is really interested in. Moreover, existing systems typically
do not provide a feedback mechanism able to allow the user
to specify non-relevant items—with the goal of progressively
adapting the system to her/his actual interests.</p>
        <p>To generate press reviews, the system is organized in
three layers, each aimed at performing a specific
informationretrieval step:</p>
        <p>Information Extraction. To perform information
extraction, we use several wrapper agents, each associated with
a specific information source: the Reuters portal7, The
Times8, The New York Times9, the Reuters document
collection, and the taxonomy adopted during the
classification phase. Once extracted, all the information is
suitably encoded to facilitate the text categorization task.
To this end, all non-informative words, e.g.,
prepositions, conjunctions, pronouns and very common verbs
are removed using a stop-word list. After that, a
standard stemming algorithm removes the most common
morphological and inflectional suffixes. Then, for each
category of the taxonomy, feature selection, based on the
information-gain heuristics, has been adopted to reduce
the dimensionality of the feature space.</p>
        <p>
          Hierarchical Text Categorization. To perform hierarchical
text categorization, we adopt the Progressive Filtering
approach proposed in [
          <xref ref-type="bibr" rid="ref23">23</xref>
          ]. Each node of a given taxonomy
is a classifier entrusted with recognizing all corresponding
relevant inputs. Any given input traverses the taxonomy
as a token, starting from the root. If the current classifier
recognizes the token as relevant, it passes it on to all its
children (if any). The typical result consists of activating
one or more pipelines of classifiers within the taxonomy.
User’s Feedback. When an irrelevant article is evidenced
by the user, it is immediately embedded in the training
set of a k-NN classifier that implements the user
feedback. A suitable check performed on this training set
after inserting the negative example allows to trigger a
procedure entrusted with keeping the number of negative
and positive examples balanced. In particular, when the
ratio between negative and positive examples exceeds a
given threshold (by default set to 1.1), some examples
are randomly extracted from the set of truely positive
examples and embedded in the above training set.
        </p>
        <p>
          The prototype of the system has been devised through
X.MAS [
          <xref ref-type="bibr" rid="ref24">24</xref>
          ]—a generic multi-agent architecture, built upon
JADE [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ], devised to make it easier the implementation of
information retrieval and information filtering applications.
Through the user interface, the user can set (i) the source
from which news will be extracted, and (ii) the topics s/he
is interested in. As for the newspaper headlines, the user can
choose among the Reuters portal, The Times, and The New
York Times. As for the topics of interest, the user can select
one or more categories in accordance with the given RCV1
taxonomy. First, information agents able to handle the selected
newspaper headlines extract the news. Then, all agents that
embody a classifiers trained on the selected topics are involved
7http://www.reuters.com
8http://www.the-times.co.uk/
9http://www.nytimes.com/
to perform text categorization. Finally, the system supplies the
user with the selected news through suitable interface agents
(see Figure 1). The user can provide a feedback to the system
by selecting all non-relevant news (i.e., false positives). This
feedback is important to let the system adapting to the actual
interests of the corresponding user.
        </p>
        <p>
          The motivation for adopting a MAS lies in the fact that
a centralized classification system might be quickly
overwhelmed by a large and dynamic document stream, such
as daily-updated online news [
          <xref ref-type="bibr" rid="ref25">25</xref>
          ]. Furthermore, the Web is
intrinsically a distributed system and offers the opportunity
to take advantage of distributed computing paradigms and
distributed knowledge resources.
        </p>
        <p>Let us also note that an information retrieval system must
take into account several issues, such as: (i) how to deal with
different information sources and to integrate new information
sources without re-writing significant parts of it, (ii) how
to suitably encode data in order to put into evidence the
informative content useful to discriminate among categories,
(iii) how to control the imbalance between relevant and
irrelevant articles, (iv) how to allow the user to specify her/his
preferences, and (v) how to exploit the user’s feedback to
improve the overall performance of the system. The above
problems are typically strongly interdependent in
state-of-theart systems. To better concentrate on these aspects separately,
we adopted a layered multiagent architecture, able to promote
the decoupling among all aspects deemed relevant.</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>III. MONITORING BOATS IN MARINE RESERVES</title>
      <p>Under the project “A Multiagent System for Monitoring
Intrusions in Marine Reserves” (POR Sardegna 2000/2006,
Asse 3 - Misura 3.13) supported by Regione Autonoma della
Sardegna, we experimented a MAS-based solution with the
goal of monitoring and signaling intrusion in marine reserves.
In the corresponding system, developed and deployed together
with the companies SETI S.N.C.10 and ICHNOWARE S.A.S.,
authorized boats are equipped with suitable devices able to
transmit (through GSM technology) their position (through
GPS technology). In this way, the corresponding scenario
encompasses two kinds of boats: authorized, recognizable by
the GPS+GSM devices, and unauthorized. Both kinds of boats
are expected to be identified by a digital radar able to detect
their position in the protected area. Comparing the positions
sent by boats with those detected by the radar allows to
identify unauthorized boats.</p>
      <sec id="sec-3-1">
        <title>A. The Scenario</title>
        <p>In the summertime, in Sardinia and in its small archipelago,
tourists sometimes sail in protected or forbidden areas close
to the coast. Monitoring such areas with the goal of
discriminating between authorized and unauthorized boats is quite
complicated. In fact, along Sardinian coasts, there are
twohundred tourist harbors with about thirteen thousand places
10http://www.setiweb.it
available for boats and several services for boat owners.
Monitoring large areas without suitable resources (such as
radars) can be highly uneconomic, since staff operators would
be (and typically are) compelled to directly patrol them over
time. A typical solution consists of using a radar system
controlled by a central unit located ashore in a strategical
position. Radar signals allow to detect the positions of the
boats that sail in the controlled area.</p>
      </sec>
      <sec id="sec-3-2">
        <title>B. The Implemented MAS</title>
        <p>
          The MAS aimed at monitoring boats in marine reserves has
been called SEA.MAS [
          <xref ref-type="bibr" rid="ref26">26</xref>
          ] to highlight the fact that it stems
from X.MAS. The adoption of X.MAS comes from the fact
that the problem of monitoring and signaling intrusions in
marine reserves can be seen as a particular information retrieval
task: radar and GPS+GSM devices are information sources,
while authorized and unauthorized boats are categories to be
discriminated.
        </p>
        <p>The first step for customizing X.MAS to a specific
application consists of extending each abstract class with the goal of
providing the required features and capabilities:</p>
        <p>Information level. Information sources are the digital
radar and GPS+GSM devices. For each information
source, a suitable information agent has been devised
to embody the information provided therein. GPS- and
radar-signals are retrieved by suitable information agents,
devised to extract the actual position according to GPS
and NMEA standards.</p>
        <p>Filter level. Filter agents are aimed at encoding the
information extracted by the information agents. The encoding
activity consists of creating events containing the position
of the detected boats and their identification code, when
available. Moreover, filter agents are devoted to avoid
two kinds of redundancy: information detected more
than once from the same device (caching) or throughout
different devices (information overloading).</p>
        <p>Task level. A task agent is created for each boat, the
underlying motivation being the need to centralize the
knowledge regarding the position of a boat and its state.
As for the position, events are classified as belonging
either to anonymous sources or to known sources. For
known sources the state reports their identification code
and—when available—further information, i.e., a
description of the boat and/or owner’s data. The main tasks
of the agents belonging to this level are: (i) to follow
a boat position during its navigation, also dealing with
any temporary lack of signal; (ii) to promptly alerting
the interface agents in the event that unauthorized boats
are identified; and (iii) to handle messages coming from
the interface level, e.g. false alarm notification.</p>
        <p>Interface level. Suitable interface agents allow the system
administrator and staff operators to interact with the
system. In both cases, the corresponding interface agent
is aimed at getting a feedback from the user, for instance
to inform relevant agents about changes occurred in the
environment or about faults that might occur in devices
located on the authorized boats. User feedback can also
be used to improve the overall ability of discriminating
among authorized and unauthorized boats. This kind of
user feedback is performed through a simple solution
based on the k-NN technology. When either a false
positive or a false negative is evidenced by the user, it
is immediately embedded in the training set of the k-NN
classifier that implements the feedback.</p>
        <p>SEA.MAS has been experimented in a marine reserve
located in the North of Sardinia. The interface agent (see
Figure 2) represents in different colors different states:
authorized, unauthorized, not-detected, under verification. In case
of intrusion, a sound is generated together with the position
of unauthorized boats; such a signal can be forwarded to
the security patrol, whose primary goal is to catch intruders.
SEA.MAS involves a number of agents that in practice is
proportional to the number of boats being monitored. In
fact, whereas the number of middle-, information-, filter-, and
interface-level agents is fixed (i.e., one agent for each
middlespan level, two agents at the information level, one agent at
the filter level, and typically one agent at the interface level),
a task agent is instantiated for each boat. This fact does not
generate any scalability problem for two main reasons: the
number of boats sealing in marine reserves is typically less
than a hundred at a time and, if needed, agents could be
distributed on several nodes. In practice, the maximum number
of boats in the selected marine reserve was 20.</p>
      </sec>
      <sec id="sec-3-3">
        <title>C. The Role of Agents</title>
        <p>Since monitoring boats requires to involve entities able to
cooperate each other, move in the environment, and adapt to
changes that may occur, an agent solution could help in the
development of such a system.</p>
        <p>As for cooperation, SEA.MAS agents can horizontally and
vertically cooperate. The former kind of cooperation occurs
among agents belonging to a specific level in accordance
with the following schemes: pipeline, centralized composition,
and distributed composition. The latter is performed—across
levels—throughout middle agents, which support
communication among requesters and providers belonging to adjacent
levels of the architecture.</p>
        <p>As for mobility, all involved agents can be mobile, if needed.
In fact, in case of a large number of agents (i.e., boats)
this requirement becomes mandatory in order to handle the
computational complexity. Thus, mobility permits the run-time
deployment of agents in a distributed architecture.</p>
        <p>As for adaptivity, task agents are able to adapt their behavior
in order to avoid losing boats in case of signal absence (i.e.,
areas devoid of GSM signal).</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>IV. ADVANCED CONTACT CENTERS</title>
      <p>Back in 2002 FRAMeTech S.R.L.11 developed the
Mercury Contact Center Suite (Mercury for short) to provide
its customers with a full-featured, cost-effective solution for
inbound/outbound contact centers and automatic telephony
services. The product has been successfully adopted in the
last 8 years from a large number of customers ranging
from SMEs to Large Enterprises to implement automatic and
semi-automatic services up to 60 concurrent users and 1,000
calls/hour. We can say now that Mercury is a mature product
with a solid architecture and no foreseen limitations in the
scalability of functionality and performances.</p>
      <p>From the functional point of view, Mercury is a point of
convergence for common communication media: telephone
(analog, digital and IP-based), faxes and e-mails. From a
technological point of view, Mercury is completely Web-based
and implemented taking advantage of innovative, open-source
technologies like Java.</p>
      <sec id="sec-4-1">
        <title>A. The Scenario</title>
        <p>Mercury is an open platform that is verticalized to meet
the needs of single customers. Just to give an example of
the service scenarios that Mercury addresses, we can mention
the common case of inbound contact centers. The basic
functionality of an inbound contact center are: (i) to answer
telephone calls from multiple lines, (ii) to provide the caller
with an interactive menu, (iii) to hold on music the call if no
user is available, (iv) to dispatch queued calls to the best user
via, e.g., skill based routing, and, (v) to provide the chosen
user with all available details on the caller in order to meet
her/his requests.</p>
        <p>Mercury advocates a similar approach also for outbound
contact centers, which are services that provide, at least,
the functionality (i) to allow interfacing a (possibly external)
database to collect a list of names and numbers to call, (ii) to
place calls to the selected numbers ensuring that, at
answertime, a good user with the right skills and capabilities would
be eventually available, (iii) to provide the chosen user with
all available details on the called party in order to value the
call.</p>
        <p>11http://www.frametech.it</p>
        <p>Mentioned examples are very simple cases of
semiautomatic scenarios, because a user is always involved in
the so-called workflow of the service. It is worth mentioning
that Mercury supports also fully automatic services, e.g., for
automatic calls to personnel on duty in quality processes, and
for self-serve banking services.</p>
      </sec>
      <sec id="sec-4-2">
        <title>B. The Implemented MAS</title>
        <p>
          Even if the analysis and specification of requirements of
Mercury were done using a use-case driven approach, the
design of the whole system was centered around
agentoriented concepts. Unfortunately, the concrete implementation
of the product could not exploit the available agent-oriented
technologies, e.g., JADE [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ], because of the initial tight
nonfunctional requirements. Actually, the product still ships
embedded onboard of a low-end PBX (Private Branch Exchange).
        </p>
        <p>In order to discuss the role of agents in the design of
Mercury, we first need to outline the architecture of the
product. The main modules of the architecture are:
1) Contact Manager module, in charge of providing a
converged interface for sending commands to and
processing events from available communication channels12.
2) User Manager module, that manages the lifecycle of
users in the system and that provides access to user
profiles.</p>
      </sec>
      <sec id="sec-4-3">
        <title>3) ACD (Automatic Contact Dispatcher) module, that man</title>
        <p>ages the allocation and dynamic rerouting of contacts to
available users via customizable skill-based policies.
4) Workflow Manager module, in charge of coordinating
the execution of scripts that control the behavior of
services.</p>
        <p>Agents are used to implement all such modules, as follows.</p>
        <p>The Contact Manager module is made of a group of agents,
one for each inbound/outbound communication channel, that
are in charge of the supervision of the physical state of
12Mercury adheres to the common nomenclature that names “contact” the
actual event of communication, e.g., a telephone call, and not the person
involved in the communication.
channels and of their relative expected behaviors. Such agents
realize (i) functionality that are common to all channels, e.g.,
activation/deactivation and notification of state change, and
(ii) channel-specific functionality, e.g., agents in charge of
managing a telephone line can send commands to dial a
number or to answer a call, and they can also inform interested
parties of changes in the state of the line, e.g., when the line
is ringing or when line is put on hold.</p>
        <p>The User Manager module associates an agent to each
and every active user in the system and such agents are in
charge of (i) managing negotiations on behalf of users, and
(ii) maintaining users’ skill and capability profiles. Moreover,
User Manager agents are also meant to implement groups of
users with similar skills and capabilities in order to provide a
means for dynamic allocation of inbound/outbound contacts.</p>
        <p>The ACD module is a standard component of contact center
systems that manages a set of queues and that is in charge
of the dynamic allocation of contacts to users. Mercury uses
such a standard approach and it provides an agent for each
ACD queue. Dynamic dispatching of, e.g., incoming calls, is
therefore a matter of negotiation between the relative Contact
Manager line agent and available ACD agent in order to
maximize the overall quality of the service. Mercury has
sophisticated dynamic policies meant to maximize the Quality
of Service (QoS) in terms of, e.g., the amount of time spent
in queue, the length of the queue, the workload of personnel
and the skills and capabilities of personnel.</p>
        <p>
          The Workflow Manager module provides an agent for each
active service to ensure that service activities are properly
orchestrated. Mercury provides a graphical editor (see
Figure 3) in the style of the popular WADE editor [
          <xref ref-type="bibr" rid="ref12">12</xref>
          ], to
model the workflow of a service in terms of a flowchart with
asynchronous exceptions. Once a service gets activated, e.g.,
because of an incoming call on a tall free number, a specific
agent for the service is created to ensure that the call would
follow the nominal steps as sketched in the relative flowchart.
Unfortunately, asynchronous events may break the nominal
flow of event, e.g., the caller drops before choosing an entry
in the interactive menu, and the service agent is in charge of
managing the event and performing needed actions to ensure
a proper termination of the contact.
        </p>
      </sec>
      <sec id="sec-4-4">
        <title>C. The Role of Agents</title>
        <p>Common agent-oriented abstractions, e.g., dynamic
capability-based coordination, dynamic contracting and
goal-directed workflows, are ubiquitous in the design of
Mercury, as described previously in this section.</p>
        <p>Basically, we see agents used in the design of Mercury
with two peculiar roles. The first is to provide a set of
uniform abstractions that can effectively model all aspects
of the product with no loss of specific details. This is the
case, e.g., of the unifying view that agents provide to different
types of communication channels in the scope of the Contact
Manager: all media are modeled in terms of agents and the
diverse causes of faults and unexpected behavior, that are very
specific of single types of channels, are all uniformly modeled.</p>
        <p>Then, agents are also used in the design of Mercury to
embed value-added functionality into the coherent framework
of agents abstracting away from low-level details, that are
left unspecified in order to support future enhancements. This
is the case, e.g., of the specific contracting mechanism that
ACD agents and Contact Manager agents use: the high-level
design of the product leaves it unspecified in order to ensure a
proper place for future enhancement, e.g., to support predictive
dialing of outbound calls using Markov Decision Processes.</p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>V. CONCLUSION</title>
      <p>In this paper we reported on three Italian industrial use cases
developed by resorting to MAS technology.</p>
      <p>
        The lesson learnt in adopting MAS technology in the
industry is that agent technology is applicable to a wide range of
industry problems. Moreover, an important added value in using
MAS-based solutions is that they highly reduce complexity.
Let us also note that, in principle, designing with agents is
easier for business analysts than using any other mainstream
technologies and that information-technology practitioners
can easily make the transition from, e.g., everyday
objectorientation to agent-orientation [
        <xref ref-type="bibr" rid="ref27">27</xref>
        ].
      </p>
      <p>Summarizing, from our experience we can state that MAS
technology is definitely effective in the design and concrete
realization of industrial-strength software applications.</p>
    </sec>
    <sec id="sec-6">
      <title>ACKNOWLEDGMENT</title>
      <p>The authors would like to thank all researchers and
practitioners that were involved in realization of the three case
studies for their precious contributions.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>S.</given-names>
            <surname>Russell</surname>
          </string-name>
          and
          <string-name>
            <given-names>P.</given-names>
            <surname>Norvig</surname>
          </string-name>
          , Artificial Intelligence:
          <string-name>
            <given-names>A Modern</given-names>
            <surname>Approach</surname>
          </string-name>
          , 2nd ed. Prentice-Hall, Englewood Cliffs, NJ,
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>M. J.</given-names>
            <surname>Wooldridge</surname>
          </string-name>
          , “
          <article-title>The logical modelling of computational multi-agent systems</article-title>
          ,
          <source>” Ph.D. dissertation</source>
          ,
          <year>1992</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>P.</given-names>
            <surname>Buckle</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Moore</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Robertshaw</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Treadway</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Tarkoma</surname>
          </string-name>
          , and
          <string-name>
            <given-names>S.</given-names>
            <surname>Poslad</surname>
          </string-name>
          , “
          <article-title>Scalability in multi-agent systems: The fipa-os perspective,” in Selected papers from the UKMAS Workshop on Foundations and Applications of Multi-Agent Systems</article-title>
          . London, UK: Springer-Verlag,
          <year>2002</year>
          , pp.
          <fpage>110</fpage>
          -
          <lpage>130</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>P.</given-names>
            <surname>Busetta</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Ronnquist</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Hodgson</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          <string-name>
            <given-names>A.</given-names>
            <surname>Lucas</surname>
          </string-name>
          , “
          <article-title>Jack intelligent agents - components for intelligent agents in java</article-title>
          ,”
          <source>AgentLink News</source>
          , vol.
          <volume>2</volume>
          ,
          <year>1999</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>H. S.</given-names>
            <surname>Nwana</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D. T.</given-names>
            <surname>Ndumu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L. C.</given-names>
            <surname>Lee</surname>
          </string-name>
          ,
          <string-name>
            <given-names>and J. C.</given-names>
            <surname>Collis</surname>
          </string-name>
          , “
          <article-title>Zeus: A toolkit for building distributed multiagent systems</article-title>
          ,
          <source>” Applied Artificial Intelligence: An International Journal</source>
          , vol.
          <volume>13</volume>
          , pp.
          <fpage>129</fpage>
          -
          <lpage>185</lpage>
          ,
          <year>1999</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>F.</given-names>
            <surname>Bellifemine</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Bergenti</surname>
          </string-name>
          ,
          <string-name>
            <surname>G.</surname>
          </string-name>
          <article-title>Caire, and</article-title>
          <string-name>
            <given-names>A.</given-names>
            <surname>Poggi</surname>
          </string-name>
          , “
          <article-title>JADE - a java agent development framework,” in Multi-Agent Programming</article-title>
          ,
          <year>2005</year>
          , pp.
          <fpage>125</fpage>
          -
          <lpage>147</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>J.</given-names>
            <surname>McKean</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Shorter</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Luck</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>McBurney</surname>
          </string-name>
          , and
          <string-name>
            <given-names>S.</given-names>
            <surname>Willmott</surname>
          </string-name>
          , “
          <article-title>Technology diffusion: analysing the diffusion of agent technologies</article-title>
          ,
          <source>” Journal Autonomous Agents and Multi-Agent Systems</source>
          , vol.
          <volume>17</volume>
          , no.
          <issue>3</issue>
          , pp.
          <fpage>372</fpage>
          -
          <lpage>396</lpage>
          ,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>R. A.</given-names>
            <surname>Belecheanu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Munroe</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Luck</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Payne</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Miller</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>McBurney</surname>
          </string-name>
          , and M. Peˇchoucˇek, “
          <article-title>Commercial applications of agents: lessons, experiences and challenges,” in AAMAS '06: Proceedings of the fifth international joint conference on Autonomous agents and multiagent systems</article-title>
          . New York, NY, USA: ACM,
          <year>2006</year>
          , pp.
          <fpage>1549</fpage>
          -
          <lpage>1555</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>M.</given-names>
            <surname>Sierhuis</surname>
          </string-name>
          and
          <string-name>
            <given-names>W. J.</given-names>
            <surname>Clancey</surname>
          </string-name>
          , “
          <article-title>Nasas oca mirroring system an application of multiagent systems in mission control,”</article-title>
          <source>in AAMAS '09: Proceedings of the 8th international joint conference on Autonomous agents and multiagent systems. Richland, SC: International Foundation for Autonomous Agents and Multiagent Systems</source>
          ,
          <year>2009</year>
          , pp.
          <fpage>85</fpage>
          -
          <lpage>92</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>J.</given-names>
            <surname>Tsai</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Rathi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Kiekintveld</surname>
          </string-name>
          ,
          <string-name>
            <given-names>O.</given-names>
            <surname>Ordez</surname>
          </string-name>
          , and
          <string-name>
            <given-names>M.</given-names>
            <surname>Tambe</surname>
          </string-name>
          , “
          <article-title>Irisatoolforstrategic security allocation in transportation networks,”</article-title>
          <source>in AAMAS '09: Proceedings of the 8th international joint conference on Autonomous agents and multiagent systems. Richland, SC: International Foundation for Autonomous Agents and Multiagent Systems</source>
          ,
          <year>2009</year>
          , pp.
          <fpage>85</fpage>
          -
          <lpage>92</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>J.</given-names>
            <surname>Himoff</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Skobelev</surname>
          </string-name>
          , and
          <string-name>
            <given-names>M.</given-names>
            <surname>Wooldridge</surname>
          </string-name>
          , “
          <article-title>Magenta technology: multiagent systems for industrial logistics,” in AAMAS '05: Proceedings of the fourth international joint conference on Autonomous agents and multiagent systems</article-title>
          . New York, NY, USA: ACM,
          <year>2005</year>
          , pp.
          <fpage>60</fpage>
          -
          <lpage>66</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>G.</given-names>
            <surname>Caire</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Gotta</surname>
          </string-name>
          , and
          <string-name>
            <given-names>M.</given-names>
            <surname>Banzi</surname>
          </string-name>
          , “
          <article-title>Wade: a software platform to develop mission critical applications exploiting agents and workflows</article-title>
          ,”
          <source>in AAMAS '08: Proceedings of the 7th international joint conference on Autonomous agents and multiagent systems. Richland, SC: International Foundation for Autonomous Agents and Multiagent Systems</source>
          ,
          <year>2008</year>
          , pp.
          <fpage>29</fpage>
          -
          <lpage>36</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>K.</given-names>
            <surname>Dorer</surname>
          </string-name>
          and
          <string-name>
            <given-names>M.</given-names>
            <surname>Calisti</surname>
          </string-name>
          , “
          <article-title>An adaptive solution to dynamic transport optimization,” in AAMAS '05: Proceedings of the fourth international joint conference on Autonomous agents and multiagent systems</article-title>
          . New York, NY, USA: ACM,
          <year>2005</year>
          , pp.
          <fpage>45</fpage>
          -
          <lpage>51</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <given-names>S.</given-names>
            <surname>Jacobi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Raber</surname>
          </string-name>
          , and
          <string-name>
            <given-names>K.</given-names>
            <surname>Fischer</surname>
          </string-name>
          , “
          <article-title>Masdispoxt: heat and sequence optimisation based on simulated trading inside the supply chain of steel production,”</article-title>
          <source>in AAMAS '08: Proceedings of the 7th international joint conference on Autonomous agents and multiagent systems. Richland, SC: International Foundation for Autonomous Agents and Multiagent Systems</source>
          ,
          <year>2008</year>
          , pp.
          <fpage>23</fpage>
          -
          <lpage>26</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <surname>M. Peˇchoucˇek</surname>
            , M. Rehak,
            <given-names>P.</given-names>
          </string-name>
          <string-name>
            <surname>Charvat</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          <string-name>
            <surname>Vlcek</surname>
            , and
            <given-names>M.</given-names>
          </string-name>
          <string-name>
            <surname>Kolar</surname>
          </string-name>
          , “
          <article-title>Multiagent planning in mass-oriented production,” IEEE Transactions System</article-title>
          ,
          <source>Man and Cybernetics</source>
          , vol. Part C,
          <volume>37</volume>
          , no.
          <issue>3</issue>
          , pp.
          <fpage>386</fpage>
          -
          <lpage>395</lpage>
          ,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <given-names>V.</given-names>
            <surname>Darley</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P. V.</given-names>
            <surname>Tessin</surname>
          </string-name>
          , and
          <string-name>
            <given-names>D.</given-names>
            <surname>Sanders</surname>
          </string-name>
          , “
          <article-title>An agent-based model of a corrugated box factory: The tradeoff between finished-goods- stock and on-time-in-full delivery</article-title>
          ,”
          <source>in Proceedings of the Fifth Workshop on AgentBased Simulation</source>
          . H. Coelho and
          <string-name>
            <given-names>B.</given-names>
            <surname>Espinasse</surname>
          </string-name>
          ,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <surname>M. Peˇchoucˇek</surname>
          </string-name>
          and V. Marik, “
          <article-title>Industrial deployment of multi-agent technologies: review and selected case studies,” Journal Autonomous Agents and Multi-Agent Systems</article-title>
          , vol.
          <volume>17</volume>
          , no.
          <issue>3</issue>
          , pp.
          <fpage>397</fpage>
          -
          <lpage>431</lpage>
          ,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18]
          <article-title>“Foundation for intelligent physical agents</article-title>
          . specifications,”
          <year>1997</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [19]
          <string-name>
            <given-names>D.</given-names>
            <surname>Weyns</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Helleboogh</surname>
          </string-name>
          , and T. Holvoet, “
          <article-title>How to get multi-agent systems accepted in industry?</article-title>
          ”
          <source>Journal Autonomous Agents and MultiAgent Systems</source>
          , vol.
          <volume>3</volume>
          , no.
          <issue>4</issue>
          , pp.
          <fpage>383</fpage>
          -
          <lpage>390</lpage>
          ,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          [20]
          <string-name>
            <given-names>F.</given-names>
            <surname>Zambonelli</surname>
          </string-name>
          and
          <string-name>
            <given-names>A.</given-names>
            <surname>Omicini</surname>
          </string-name>
          , “
          <article-title>Challenges and research directions in agent-oriented software engineering</article-title>
          ,
          <source>” Journal of Autonomous Agents and Multiagent Systems</source>
          , vol.
          <volume>9</volume>
          , pp.
          <fpage>253</fpage>
          -
          <lpage>283</lpage>
          ,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          [21]
          <string-name>
            <given-names>F.</given-names>
            <surname>Bergenti</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G.</given-names>
            <surname>Rimassa</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Poggi</surname>
          </string-name>
          , and
          <string-name>
            <given-names>P.</given-names>
            <surname>Turci</surname>
          </string-name>
          , “
          <article-title>Middleware and programming support for agent systems</article-title>
          ,”
          <source>in Proceedings of the 2nd International Symposium from Agent Theory to Agent Implementation</source>
          ,
          <year>2002</year>
          , pp.
          <fpage>617</fpage>
          -
          <lpage>622</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          [22]
          <string-name>
            <given-names>A.</given-names>
            <surname>Addis</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G.</given-names>
            <surname>Cherhi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Manconi</surname>
          </string-name>
          , and E. Vargiu, “
          <article-title>A multiagent system for personalized press reviews,” in Distributed Agent-Based Retrieval Tools, A</article-title>
          . Soro, G. Armano, and G. Paddeu, Eds. Polimetrica,
          <year>2006</year>
          , pp.
          <fpage>67</fpage>
          -
          <lpage>86</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          [23]
          <string-name>
            <given-names>A.</given-names>
            <surname>Addis</surname>
          </string-name>
          , G. Armano, and E. Vargiu, “
          <article-title>Using progressive filtering to deal with information overload</article-title>
          ,
          <source>” in 7th International Workshop on Text-based Information Retrieval</source>
          ,
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          [24]
          <string-name>
            <given-names>A.</given-names>
            <surname>Addis</surname>
          </string-name>
          , G. Armano, and E. Vargiu, “
          <article-title>From a generic multiagent architecture to multiagent information retrieval systems,” in AT2AI-6</article-title>
          , Sixth International Workshop, From Agent Theory to Agent Implementation,
          <year>2008</year>
          , pp.
          <fpage>3</fpage>
          -
          <lpage>9</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          [25]
          <string-name>
            <given-names>Y.</given-names>
            <surname>Fu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>W.</given-names>
            <surname>Ke</surname>
          </string-name>
          , and
          <string-name>
            <given-names>J.</given-names>
            <surname>Mostafa</surname>
          </string-name>
          , “
          <article-title>Automated text classification using a multi-agent framework,” in JCDL '05: Proceedings of the 5th ACM/IEEE-CS joint conference on Digital libraries</article-title>
          . New York, NY, USA: ACM Press,
          <year>2005</year>
          , pp.
          <fpage>157</fpage>
          -
          <lpage>158</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref26">
        <mixed-citation>
          [26]
          <string-name>
            <given-names>G.</given-names>
            <surname>Armano</surname>
          </string-name>
          and
          <string-name>
            <given-names>E.</given-names>
            <surname>Vargiu</surname>
          </string-name>
          ,
          <source>Post-proceedings of PROMAS 2009</source>
          . Springer Verlag,
          <year>2010</year>
          ,
          <article-title>ch. A MultiAgent System for Monitoring Boats in Marine Reserves</article-title>
          , p. in press.
        </mixed-citation>
      </ref>
      <ref id="ref27">
        <mixed-citation>
          [27]
          <string-name>
            <given-names>S. S.</given-names>
            <surname>Benfield</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Hendrickson</surname>
          </string-name>
          , and
          <string-name>
            <given-names>D.</given-names>
            <surname>Galanti</surname>
          </string-name>
          , “
          <article-title>Making a strong business case for multiagent technology,” in AAMAS '06: Proceedings of the fifth international joint conference on Autonomous agents and multiagent systems</article-title>
          . New York, NY, USA: ACM,
          <year>2006</year>
          , pp.
          <fpage>10</fpage>
          -
          <lpage>15</lpage>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>