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.