The design, implementation and testing of Multi Agent Systems is typically a very complex task. While a number of specialist agent programming languages and toolkits have been created to aid in the development of such systems, the provision of associated development tools still lags behind those available for other programming paradigms. This includes tools such as debuggers and profilers to help analyse system behaviour, performance and efficiency. AgentSpotter is a profiling tool designed specifically to operate on the concepts of agent-oriented programming. This paper extends previous work on AgentSpotter by discussing its Call Graph View, which presents system performance information, with reference to the communication between the agents in the system. This is aimed at aiding developers in examining the effect that agent communication has on the processing requirements of the system.
In the JADE agent development framework, a Sniffer Agent is a FIPA-compliant agent that monitors messages created with an Agent Communication Language (ACL) passed between agents and presents these in a simple graphical interface @cite_6 . A more sophisticated tool, called , provides more detailed information on agent communication @cite_4 . Again, the principal aim of this is to aid in debugging errors in MASs that relate to coordination or cooperation.
@cite_4 @cite_6
1904065432 376136620 65045497 2028267160
JADE (Java Agent Development Framework) is a software framework to make easy the development of multi-agent applications in compliance with the FIPA specifications. JADE can then be considered a middle-ware that implements an efficient agent platform and supports the development of multi agent systems. JADE agent platform tries to keep high the performance of a distributed agent system implemented with the Java language. In particular, its communication architecture tries to offer flexible and efficient messaging, transparently choosing the best transport available and leveraging state-of-the-art distributed object technology embedded within Java runtime environment. JADE uses an agent model and Java implementation that allow good runtime efficiency, software reuse, agent mobility and the realization of different agent architectures. The JADE Platform and Experiences with Mobile MAS Applications.- A-globe: Agent Development Platform with Inaccessibility and Mobility Support.- Supporting Agent Development in Erlang through the eXAT Platform.- Living Systems(R) Technology Suite.- Multi Agent System Development Kit.- An Integrated Development Environment for Electronic Institutions.- Jadex: A BDI-Agent System Combining Middleware and Reasoning.- Component Agent Framework for Non-Experts (CAFnE) Toolkit.- The WSDL2Agent Tool.- WS2JADE: A Tool for Run-time Deployment and Control of Web Services as JADE Agent Services.- A System for Analysis of Multi-Issue Negotiation.- FuzzyMAN: An Agent-based E-Marketplace with a Voice and Mobile User Interface.- Efficient Agent Communication in Wireless Environments.- AMETAS - the Asynchronous MEssage Transfer Agent System.- Tracy: An Extensible Plugin-Oriented Software Architecture for Mobile Agent Toolkits.- The Packet-World: A Test Bed for Investigating Situated Multi-Agent Systems.- Decommitment in a Competitive Multi-Agent Transportation Setting.- TeamWorker: An Agent-Based Support System for Mobile Task Execution. Agent interaction takes place at several levels. Current work in the ARPA Knowledge Sharing Effort has addressed the information content level by the KIF language and the intentional level by the KQML language. In this paper we address the coordination level by means of our Coordination Language (COOL) that relies on speech act based communication, but integrates it in a structured conversation framework that captures the coordination mechanisms agents use when working together. We are currently using this language (i) to represent coordination mechanisms for the supply chain of manufacturing enterprises modeled as intelligent agents and (ii) as an environment for designing and validating coordination protocols for multi-agent systems. This paper describes the basic elements of this language: conversation objects, conversation rules, error recovery rules, continuation rules, conversation nesting. The actual COOL source code and a running trace for the n-queens problem are presented in the Appendix. Topic areas: Coordination, Intelligent agents in enterprise integration Jade is a portable, implicitly parallel language designed for exploiting task-level concurrency.Jade programmers start with a program written in a standard serial, imperative language, then use Jade constructs to declare how parts of the program access data. The Jade implementation uses this data access information to automatically extract the concurrency and map the application onto the machine at hand. The resulting parallel execution preserves the semantics of the original serial program. We have implemented Jade as an extension to C, and Jade implementations exist for s hared-memory multiprocessors, homogeneous message-passing machines, and heterogeneous networks of workstations. In this atricle we discuss the design goals and decisions that determined the final form of Jade and present an overview of the Jade implementation. We also present our experience using Jade to implement several complete scientific and engineering applications. We use this experience to evaluate how the different Jade language features were used in practice and how well Jade as a whole supports the process of developing parallel applications. We find that the basic idea of preserving the serial semantics simplifies the program development process, and that the concept of using data access specifications to guide the parallelization offers significant advantages over more traditional control-based approaches. We also find that the Jade data model can interact poorly with concurrency patterns that write disjoint pieces of a single aggregate data structure, although this problem arises in only one of the applications.