=Paper= {{Paper |id=None |storemode=property |title=Multi-Agent Systems in the Industry. Three Notable Cases in Italy |pdfUrl=https://ceur-ws.org/Vol-621/paper01.pdf |volume=Vol-621 |dblpUrl=https://dblp.org/rec/conf/woa/BergentiV10 }} ==Multi-Agent Systems in the Industry. Three Notable Cases in Italy== https://ceur-ws.org/Vol-621/paper01.pdf
                          Multi-Agent Systems in the Industry
                             Three Notable Cases in Italy
                          Federico Bergenti                                           Eloisa Vargiu
                   Dipartimento di Matematica                      Dipartimento di Ingegneria Elettrica ed Elettronica
                  Univesità degli Studi di Parma                          Università degli Studi di Cagliari
                            Parma, Italy                                             Cagliari, Italy
                 Email: federico.bergenti@unipr.it                            Email: vargiu@diee.unica.it



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