4th IEEE International Conference on Digital Ecosystems and Technologies (IEEE DEST 2010) © 2010 IEEE.
Selecting a multi-agent system development tool for industrial applications: a case study of self-serving aircraft assets Tomás Sánchez López, Alexandra Brintrup, Duncan McFarlane, Douglas Dwyer
Abstract— Industrialists have few example processes they can benchmark against in order to choose a multi-agent development kit. In this paper we present a review of commercial and academic agent tools with the aim of selecting one for developing an intelligent, self-serving asset architecture. In doing so, we map and enhance relevant assessment criteria found in literature. After a preliminary review of 20 multiagent platforms, we examine in further detail those of JADE, JACK and Cougaar. Our findings indicate that Cougaar is well suited for our requirements, showing excellent support for criteria such as scalability, persistence, mobility and lightweightness.
I
I. INTRODUCTION
NTELLIGENT agents are software programs that continuously perceive changing conditions in their environment, reason to interpret those perceptions, and determine the next actions [16]. The term multi-agent systems (MAS) refers to systems that contain many agents communicating in a given environment. Single agents have partial views of the environment, and act asynchronously resulting in an emergent system of decentralized data and distributed control. Developing MAS requires tools that provide several layers of functionality. Message transportation to facilitate intraagent communication, environmental data gathering and storage, and graphical tools are some of the enablers required. There is no universal agent development architecture, although standards from the Foundation for Intelligent Physical Agents (FIPA) and other bodies exist for tasks such as message transport or interaction. The abundance of MAS development tools, each offering their blend of agent formulation, security and communication features, makes it difficult to choose the right one for development. Existing comparative studies use ad hoc, simplistic cases (see section IV), and there is no commonly accepted criteria for evaluation. In addition, the slow adoption by industry has made it difficult for industrialists to use case studies to choose relevant development tools. In this paper we present our experience in choosing a MAS development tool for an industrial implementation at the Boeing Company: self-serving assets on aircraft, where A. B., T.S.L and D.M are with the University of Cambridge, Institute for Manufacturing, 16 Mill Lane, CB2 1RX, Cambridge, UK;, phone: +44-(0)1223764621 (e-mail: ab702@ cam.ac.uk;
[email protected];
[email protected]). D. D is with the The Boeing Company, P.O. Box 516 MC 270-3800, St. Louis, MO 63166- (e-mail:
[email protected]).
each serviceable part is represented with its agent counterpart, who monitors the asset, selects and procures service, negotiating and cooperating with other assets. The paper is structured as follows: after a short introduction to the project, we present a review of popular agent development languages, platforms and frameworks. This is then followed by a summary of literature comparing agent tools, and the comparison criteria used. Based on these, in section IV we draw our industrial selection criteria and review in more detail three tools: JACK, JADE and Cougaar. II. INTELLIGENT ASSETS IN SERVICE In recent years, the aerospace industry has been facing increased demand, cost of fuel, market competition, and tightened environmental regulations. To stay ahead of competition, airlines look to re-engineer their internal processes and outsource their suppliers globally. Global outsourcing results in a complex supply network, the efficient management of which is vital to gain the leverage towards those outsourcing aims. These conditions naturally affect the aerospace service operations, with an increased pressure to deliver better service at lower cost, within a complex service supply network. Unpredictable service requests, dynamically changing availability and location of parts, bringing resources from multiple partners together, the need to monitor suppliers‟ reliability, and giving consistent and optimal decisions form some of the challenges faced in service operations. To help address the challenges of the service supply chain, the notion of a self-serving asset has been put to test [22]. Using a combination of multi-agent systems, wireless communications and sensors, the selfserving asset on an aircraft shall be autonomous in a) monitoring its usage and trigger time and health based expiry events, b) liaising with other assets for bulk orders, and the search for available suppliers, c) collecting proposals and decide on suppliers based on multiple criteria, d) negotiating or competing when there is a scarcity of parts, e) monitoring and sharing information on suppliers‟ reliability, f) scheduling service and e) updating itself and relevant aircraft configuration data when service arrives. The result is an automated, simplified service operation with traceable, consistent decisions (Figure 1). Multi-agent software plays a crucial role in achieving the above functionality. Given the industrial scale of the application, important factors to design the agent architecture include 400
4th IEEE International Conference on Digital Ecosystems and Technologies (IEEE DEST 2010) © 2010 IEEE.
lightweightness in terms of communication and internal data, reusability of functionality, persistence and consistency. A software platform to support this development shall assist in achieving the above factors with the design patterns it offers. In the next section we review various commercial and academic tools presented in the literature. III. A REVIEW OF MULTI-AGENT SOFTWARE DEVELOPMENT TOOLS
The aim of this review is three-fold: 1) present an overview of key multi-agent development tools, 2) explore what comparative studies have been done and 3) investigate what criteria is used to compare MAS tools. The search strategy was developed by identifying the relevant data sources, time frame and key words. Initially, a broad selection of databases was identified, covering journals, conference proceedings, books, and technical reports. The time frame for this study was chosen initially to include only literature published between 1995 and 2009. However, as research progressed, this was naturally extended as a consequence of cross checking citations. This survey is not intended to be exhaustive, as numerous languages, platforms and frameworks exist and the market is continuously evolving. The AgentLink website lists more than 100 toolkits. The tools described here are popular, regularly maintained, and with readily existing available information about them. Table I shows an overview of the surveyed agent tools. The first column uses the tool classification, proposed by Bordini et al. [8]: Declarative languages are formal, and logic based. Imperative languages are non-agent oriented, conventional languages such as Java. A hybrid language combines conventional languages but provides agentoriented constructs. Integrated Development Environment (IDE) is a more complete tool that automates low level coding. Some agent frameworks exist that are not bound to specific programming languages but provide support for aspects such as agent communication and coordination. The next column shows the cognitive agent architecture that the tool advocates. The majority of tools employ the popular Belief-Desire-Intention (BDI) cognitive architecture [12]. Where this is not explicitly stated, tools use close paradigms that deploy agents with beliefs, goals and plans, together with reasoning mechanisms to generate and revise their plans to achieve their goals. Other forms of cognitive architecture include the Cougaar Cognitive Architecture, which simulates humans performing planning tasks and actions with real impacts in real time. We then look into the experience base of the tool, including use cases and industrial credentials, where possible. This is followed by the programming language that the tools use for implementation. The following columns show licensing status of the tool, followed by compliance to agent based technology standards. The Foundation for Intelligent Physical Agents (FIPA) is an IEEE Computer
Society standards organisation that promotes interoperability of its standards with other technologies and provides specifications for the construction of highly interoperable MAS. The Autonomic Communication Forum (ACF) is the standards body for autonomic computing and communications founded by Motorola, IBM, Intel, Hitachi, and other leading technology companies. Mobile Agent System Interoperability Facility (MASIF) provides standards from the object management group. However there are various discussions on „if‟ and „how‟ compliance to certain agent standards such as agent communication affects performance of the software. The tool might give the option to use compliant protocols (as in the case of Cougaar and JACK) through plugin software, and the decision remains with the application owner. Other important aspects of an agent development tool from an industrial point of view include the existence of security protocols such that intrusions over the network can be prevented, deployment facilities, and how the tool aids agent communication, all presented in Table II. IV. SELECTION OF MAS SOFTWARE TOOLS FOR THE INTELLIGENT ASSET IN SERVICE
In order to make a reliable comparison among the software tool features described in section III, we shall draw selection criteria relevant to our application. Comparative literature found include: Nguyen et al. [5], who compared JACK, JADE, Zeus and other agent tools in terms of supported platforms, implemented standards, communication, mobility, security policy and practical uses. Jun and Shakshuki [6] compared Zeus, JACK, and JADE in terms of their message transport system performance, and found that JADE scales best with increased agent numbers, followed closely by JACK. Camacho et al. [3] designed a simple meta search engine to compare the performance of Zeus, Jade and Skeleton-agent, based on response time, finding the performance to be differently correlated to agent numbers in different tools. Ricordel and Demazaeu [9] looked into AgentBuilder, JACK and Zeus in terms of their offerings for problem analysis, the agent architecture design process, and complexity and completeness of their development and deployment tools, finding JACK to have the most complete offering. The EvalAgents project aimed at evaluating the agent building toolkits in terms of Java support, mobility, security and development [2]. Tagni and Jovanovic [7] compared JACK to 3APL in terms of user friendliness, compliance to standards, precision of the semantics used by the agent language, and efficiency of the language interpreter. They found JACK to be faster, more user–friendly, and more flexible in implementing reactive agents. Although the authors note otherwise, JACK appears now to comply with the FIPA standards, according to the FIPA website1.
1
http://www.fipa.org/resources/livesystems.html 401
4th IEEE International Conference on Digital Ecosystems and Technologies (IEEE DEST 2010) © 2010 IEEE.
As it is evident, there is not universally agreed set of criteria for evaluating MAS development tools. This is somewhat understandable as work in this area is relatively recent, and industrial adoption has been slow [21]. Furthermore current literature does not mention industrial use cases whilst evaluating agent tools, despite the fact that evaluation criteria might be application dependant. The MAS to be developed to support the self-serving asset architecture will contain thousands of agents, representing serviceable aircraft parts. Different types of parts belonging to different airlines need to be represented through an agent-society based architecture. Part agents may need to be created dynamically. Over geographically distributed servers, part agents will communicate with supplier agents, with agents that handle competition, and with yellow page agents that direct them to supplier agents. This perspective gives us the following evaluation criteria: – Confidence on scalability: This criterion examines the evidence for the scalability of the tool, using performance tests or evidence from literature. Scalability could be measured by examining response time and message transport behaviour when agent numbers are increased. – Deployment support: Offering of a suitable, easy-to-use deployment method over a network. – Lightweightness: What minimum internal data weight does the agent need to carry? Are there reusability mechanisms for sharing common functionality? – Survivability: are there mechanisms that allow the persistence of unhandled tasks? – Flexibility for implementing different agent models: Our architecture will deploy different types of agents, either only reactive or with BDI style characteristics. Can the tool allow us to create different agent types? – Dynamicity: Can agents be created and terminated dynamically? – Credentials: Has the tool been used in relevant industrial applications? – Help and support: Can development efforts be supported through helpdesks, documentation and user communities? – Ease of use: This criterion is a qualitative ease of use assessment based on preliminary experimentation with the tool, heavily influenced by the availability of IDE and debugging tools. – Compliance to standards: Does the platform use standard interfaces by default or offers their use through extension? Other criteria that industrialists may use include: – Support for mobility: Support of mobile agents. – Security: Do mechanisms exist to ensure a secure deployment? – Completeness: Existence of requirements analysis and implementation guidelines and tools. – User interaction: Does the tool allow the building of user interfaces for changing the parameters at run time? Based on the above we pre-select JACK, JADE and Cougaar for applying our evaluation criteria from the
abundance of available tools reviewed in Table I. The remaining systems either offer incomplete development and deployment, do not offer security measures, have only been applied to small scale academic projects, or there simply is not enough public information to make a sound judgment about them. JACK provides an environment for building, running and integrating multi-agent systems using a component-based approach, and offers graphical tools for design and plan generation. It extends Java to provide agent oriented programming constructs. It allows the building of BDI style agents as well as simpler, reactive agents. Agents other than the BDI types can be implemented. On the other hand no deployment tools are provided and deployment consists of launching the agent‟s classes. Academic studies have shown JACK to be faster than 3APL [7]. It allows the integration of platform-independent user interfaces and third party libraries. Ricordel and Demazaeu [9] note that JACK is an agent language as opposed to a BDI editor such as AgentBuilder and Zeus, which means it is more flexible but involves more code writing. As JACK and Cougaar are commercial packages, support is readily available. With JACK, development consists of configuring the agent BDI framework using a set of graphical tools or Java coding. The developer codes events that agents may face from other agents, and plans the need to handle those events, along with a deliberation mechanism to choose the most suitable plan. JACK does not make use of any standard for agent communication JADE (Java Agent DEvelopment Framework) is a development framework implemented in Java, similar to JACK and Cougaar. It allows deployment through a FIPA compliant middleware and provides graphical tools to support debugging. The platform can be used in distributed applications like Cougaar. Configuration can be controlled via a remote graphical user interface. The configuration can be changed at run-time by moving agents from one machine to another. JADE has been very popular in both academic and industrial experiments as the most complete and popular open-source tool available to develop BDI agents. JADE has been also popular in implementing holonic manufacturing platforms [14][13], resulting in applications coupling agent software with physical parts – a case that has similarities to ours. Cougaar on the other hand, is the result of an eight-year US Defense Advanced Research Projects Agency (DARPA) funded project to explore the potential of distributed multiagent systems for military logistics [10]. This birth record resulted in the cognitive agent architecture inspired by human task planning mentioned earlier. It has been successfully tested with over 1000 medium weight agents across nearly 100 machines [15]. The fact that Cougaar has been developed with unreliable infrastructures in mind, and its industrially scaled experience, makes Cougaar a strong contender for our application. Like JACK and JADE, Cougaar allows the distribution of agents over a network. Deployment consists of running XML nodes defining agent communities and functionality on different serves. While in 402
4th IEEE International Conference on Digital Ecosystems and Technologies (IEEE DEST 2010) © 2010 IEEE.
JADE each agent has its own thread, Cougaar uses a thread pool with a resource monitoring and allocation interface. Unlike other platforms that extend Java with agent classes, Cougaar developers need to create “plugins” that run within a template agent and communicate through a private blackboard. This makes initial designs more complex but provides more flexibility and re-usability. The blackboard is used for intra-agent communication with Message Transport Server. Gorton et al. [4] noted that the shared blackboard architecture results in 50% better performance than Aglets and the Adaptive Agent Architecture. Cougaar allows reusability of plugins across agents, ticking the lightweightness box. In a performance test comparing JADE and Cougaar, Helsinger et al. [11] concluded that Cougaar is suited to complex, large scale applications. Persistency is emphasized in Cougaar, as agents continuously update their plans. Due to scalability concerns Cougaar opted out of standards compliance. Both commercial and open source (OS) versions of Cougaar are available. Based on hands on experience, we found JACK and JADE to be more user friendly development environments than the open source version of Cougaar. This particular aspect is heavily based on the availability of graphical user interfaces for development. Although all tools claim to provide some form of measure for security, security features of JACK are not well defined. Cougar and JADE support mobility whereas JACK does not. In terms of dynamic agent creation and termination, Pirvanescu et al. [1] used JADE to allow dynamic creation of client agents in their e-commerce application, and Cougaar developers mention a solution using XML templates, which we have implemented with success. In terms of persistence, Cougaar is a clear winner as JADE only supports limited features (message buffers and Yellow Pages catalogue) and JACK has no built-in persistence capabilities. TABLE III shows an overview of our scores for the three tools. All criteria being equal, Cougaar is the winner for our application case followed by equal scores of JACK and JADE.
application. Although this evaluation is specifically tailored for the requirements identified for the self-serving assets in aerospace, many of those requirements could also fit other applications and industries. We hope that our tool selection process may be a first step towards establishing common methodology to analyze agent tools for a great variety of application scenarios. REFERENCES [1] [2] [3]
[4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14]
V. CONCLUSION In this paper, we have followed a funnel approach, first reviewing existing agent tools in terms of cognitive architectures used, credentials, base languages, deployment methods, security features, agent communication methods, compliance to standards and licensing. We then looked at existing MAS tool comparison literature finding comparative literature to be scarce, non-exhaustive and based on widely varying criteria. Based on this observation we brought various criteria together from literature and our experience, to analyze and select a particular development tool. Our list of criteria inevitably includes qualitative assessments, such as confidence on scalability and user interaction, as well as factual information. Depending on the application some of the criteria may carry more weight than others. In our case lightweightness, support for dynamicity and persistence is more significant than support for mobility or user friendliness due to the nature of the self-serving asset
[15] [16] [17] [18] [19] [20]
[21] [22]
Pirvanescu A., Badica C., Paprzyck M., “Developing a jade-based multi-agent e-commerce environment”, Proceedings IADIS AC‟05, pp. 425-432, IADIS Press 2005 Grabner, M.,Gruber,F., Klug,L.,Stockner,W., Altmann,J. and Essmayr,W., “EvalAgents: Evaluation Report”, Technical Report: SCCH-TR-00-64-1, 2000. Camacho, D., Aler,R., Castro,C. and Molina.M.J, “Performance Evaluation of Zeus, Jade,and Skeletonagent Frameworks”, IEEE International Conference on Systems, Man and Cybernetics, v.. 4, 2002. Gorton I., “Evaluating Agent Architectures: Cougaar, Aglets and AAA”, LNCS, v. 2940, pp. 33-35, Springer 2004. Nguyen G., “Agent platform evaluation and comparison”, Technical Report, Pellucid 5FP, IST-2001-34519, 2002 Jun Y. and Shakshuki E., “Performance Evaluation of Agent Toolkits” LNCS, v. 3060, pp. 556–558, Springer 2004. Tagni G., Jovanovic D., “Comparison of Multi-Agent Systems JACK vs 3APL”, UNL workshop, 2006 Rafael H. Bordini et al., “A survey of programming languages and platforms for multi-agent systems”, Informatica 30, pp.33-40, 2006. Ricordel P., Demazeau Y., “From analysis to development: a multiagent platform survey”, Engineering Societies in the Agents World, LNCS, pp. 93-105, 2000 Davidsson P., Wernstedt F., “A multi-agent system architecture for coordination of just-in-time production and distribution”, Proc. SAC 2002, Spain. pp. 294-299, 2002 Helsinger A., Thome M., Wright T., “Cougaar: A scalable, distributed multi-agent architecture”, IEEE International Conference on Systems, Man and Cybernetics, v. 2, pp. 1910-1917, 2004 Rao A. S., Georgeff M. P. “BDI agents: From theory to practice”. Proceedings of International Conference on Multi Agent Systems, pp. 312–319. AAAI Press / MIT Press, 1995. Leitao P., Restivo L, “ADACOR: A holonic architecture for agile and adaptive manufacturing control”, Computers in Industry, v.57, pp.121–130, 2006. Kotak D., Shaohong W., Fleetwood M., Tamoto H., “Agent-based holonic design and operations environment for distributed manufacturing”, Computers in Industry, v. 52, pp. 95–108, 2003. Helsinger A., Lazarus R., Wright W., Zinky J., “Tools and techniques for performance measurement of large distributed multiagent systems,” AAMAS 2003, Melbourne, pp. 843-850, 2003. Hayes-Roth B, “Agents on Stage: Advancing the State of the Art of AI”, Invited talk at IJCAI, 1995 Oliva E., Viroli M., Omicini A., “ Minority game: A logic-based approach in TuCSoN”, Proceedings of WOA-2006, Italy, v. 204, pp. 181-186, 2006. Shrdlu E., Halleck G., “ Hydra Intelligent Agent: Instrument for Security” Toorcon Security Expo 2001. Napagao S., Auffarth B., Ramirez N., “ Agent Language Analysis: 3APL”, Technical report, 2007. Koch F., Meyer J. C., Dignum F., Rahwan I., “ Programming Deliberative Agents for Mobile Services: The 3APL-M Platform”, LNCS, Programming Multi-Agent Systems, v. 3862, pp. 222-235, Springer 2006. Marik V, McFarlane D., “ Industrial Adoption of Agent-Based Technologies”, IEEE Intelligent Systems, v. 20, pp.:27-35, 2005. Brintrup A., McFarlane d., Ranasinghe D., Sanchez Lopez T., Owens K., "Will intelligent assets take off? Towards self-serving aircrafts" IEEE Intelligent Systems, 06 Aug. 2009. IEEE computer Society Digital Library. IEEE Computer Society
403
4th IEEE International Conference on Digital Ecosystems and Technologies (IEEE DEST 2010) © 2010 IEEE.
TABLE I OVERVIEW OF AGENT PLATFORMS
Tool
Classification
Cognitive Architecture
Experience
Base Language
License
Standards
JACK
Imperative, IDE
BDI (extendable but with performance drop as agents will still be BDI but lacking data in unused categories)
UK MoD (computer generated forces), Toshiba (intelligent manufacturing), Australian DoD (simulating coordinated team behaviour)
JACK agent language extending Java
Commercial (AOS )
FIPA (extension)
JADE
Framework
BDI
Telecom Italia, eBusiness applications, Motorola
Java
GNU LGPL
FIPA
JADEX
Framework
BDI –extended with explicit goals and goal deliberation mechanisms
Treatment schedules in hospitals
Java/XML
GNU LGPL
FIPA
TUCSON
Framework
Roughly BDI architecture [17]
Workflow management, Logistics, eLearning
ReSpecT/ Java/ Prolog
GNU LGPL
N/A
JAM /UMPRS
Hybrid
BDI
Robotics, Intelligent user interfaces
JAM Java UPRS C++
Academic, downloadable
FIPA compliant
JASON
Interpreter and IDE
BDI
Contract net protocol, Mining agents, Prisoner‟s dilemma, Auctions
Java, AgentSpeak
GNU LGPL
FIPA compliant
3APL
Interpreter and IDE
BDI
Axelrod‟s tournament, English auction, Contract net protocol, SONY AIBO robots
3APL supporting Prolog and Java
Academic, downloadable
FIPA compliant
SPARK
Declarative, IDE
BDI
Academic experimentation (DARPA sponsored)
Java
OS BSD
N/A
SyMPA
Declarative (Plat: Himalaya)
Goal, messages, capabilities, knowledge, allowing reactive and goal-driven behaviour
Web search, Electronic commerce, Network of digital libraries
CLAIM (based on Java)
Academic
MASIF
FLUX
Declarative
BDI using Situation Calculus
Mobile robots
FLUX
GNU GPL
FIPA, ACF
MINERVA
Declarative
BDI using multi-dimensional dynamic logic
Academic experimentation, virtual museums
KABUL
Academic
FIPA
DALI / DALICA
Declarative
BDI using dynamic logic programming
Academic experimentation, cultural-assets-fruition (CAF)
Prolog
Academic
FIPA
Go!
Hybrid
BDI
Academic experimentation – simulated ballroom
April
GNU GPL
None
IMPACT
Declarative Platform
Deontic logic (form of logic where operators are concerned with aspects such as permissions and obligations)
Integrating multiple logistics databases belonging to the US Army's Logistics Integration Agency. BAE Systems for prediction of enemy ground vehicles
Java
Academic
None
Cougaar
Imperative. IDE
Cognitive Agent Architecture
US military autonomic logistics
Java
Commercial / OS BSD
None
LS/TS
IDE
BDI
02 Germany, DHL freight, Swisscom, Daimler, eBay
Java
Commercial (Whitestein)
FIPA, ACF
ZEUS
IDE
BDI
BT (for agent based network management) Intelligent Systems Lab (for agent based work-flow)
Java
OS
FIPA
Agent Factory
IDE
BDI
Academic projects
AF-APL, based on Java
GNU LGPL
FIPA
Cybele
Imperative
Multi-Agent General Infrastructure for Cognition (MAGIC)
Distributed robotics, air traffic management, logistics, behaviour modelling
Java
Various
FIPA
AgentScape
Framework
BDI
Academic projects
Java, C, Python
N/A
FIPA, (partial)
404
4th IEEE International Conference on Digital Ecosystems and Technologies (IEEE DEST 2010) © 2010 IEEE.
TABLE II SECURITY, NETWORKING TECHNOLOGIES AND DEPLOYMENT FACILITIES OF AGENT PLATFORMS
Tool
TABLE III SCORING OF JACK, JADE AND COUGAAR
Security features
Agent communication
Deployment
Builds on the Java security model and JDK. Agent data cannot be accessed in unauthorized ways by other processes.
Routing capabilities through portals between processes, through which agent messages can be directed as needed. Thin layer over UDP which provides reliable peer-to-peer communications. Command line communication facilities provided. CORBA, RMI, etc supported
JVM
JADE/ JADEX
Agents carry identity certificates, use SSL, and messages are encrypted. Connection authentication, user validation and RPC message encryption.
FIPA-defined Message Transport Protocol (MTP), Agent Communication Language (ACL). Internal message transport protocols (IMTPs) for delivery services inside the same platform. CORBA and HTTP based MTPs are available.
JVM
JAM /UMPRS
N/A
MTP
N/A
JASON
JADE features can be plugged in.
Use of Knowledge Query and Manipulation Language (KQML), but can translate from FIPA-ACL (e.g JADE interaction)
3APL
Security features in extensions [20]
FIPA compliant ACL without ontology support, limiting message complexity. No means for processing the message content, so the user has to create action and rules to be able to extract the content [19]
JVM
IMPACT
Agent security toolkit (AgentDE) providing agent approximation, security specification and history logging.
Agents communicate via a message queue. Running agents generate messages for other local and/or remote agents. The message queue consults the yellow-pages server to obtain the actual message routing data (via client Java RMI method call).
JVM
Cougaar
Message and data encryption and authentication. Policy-driven service. Servlets. Blackboard access control system. JAR file verification. Eventbased system auditing and monitoring. Pluggable and highly flexible security (SSL, X.509, etc)
The Cougaar Message Transport Service (MTS) is an adaptive JVM-level service that handles all inter-agent communication in a Cougaar society. Messages are encoded with Java object serialization. Asynchronous transport protocols can be plugged into the MTS as components, where standard protocols include RMI, CORBA, SOAP, HTTP, and UDP.
JVM
LS/TS
Run-time suite provides enforced security and multi-user management through the administrator tool. Hydra extension provides authentication, SSL, intrusion detection, encrypted agent communication [18]. Safe-Tcl e-mail, public/private-key authentication [5].
Web Ontology Language (OWL) and communicative actions such as requests, notifications and queries, RMI, web services gateway and java message services UDP transport protocol. KQML and FIPA-ACL also used.
JVM
Agent Factory
N/A
FIPA-defined Message Transport Protocol (MTP) underlying ACL message communication.
JVM
AgentScape
Signed agent containers, SSL communication channel
FIPA-ACL support. Asynchronous interaction between services. Web service gateway (SOAP/WSDL)
JVM
Cybele
Data encapsulation
FIPA-ACL with XML encoding, support for both synchronous and asynchronous types of messaging.
JVM
JACK
ZEUS
JADE plugins
Scale L (low) -H (high) Confidence on scalability Deployment support Lightweightness Survivability Flexibility Dynamicity Credentials Help and support Ease of use Compliance to standards Support for mobility Security Completeness User interaction
JACK
JADE
Cougaar
M M M L M H H/M H H M L M M H
M M M L M H H/M M M H M H L H
H H H H M H H H/M M L H H M M
JVM
Figure 1: Service Operation with the Self-serving asset
405