=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==
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.