IC Online
//begin sidebar
on the Web//
More Online:
**ACL**-Based Agent systems
JATLite is <<TBA: statement that describes it and refers to the full article, as well as resources at CDR>>.
**JATLite is an Java-based agent infrastructure that provides for the buffering and forwarding of ACL messages, which in turn allows migrating agents (such as Java applets), robust distributed communications, unique agent identity, and facilitation of debugging as described in the main paper. This novel functionality addresses problems approached in various ways by other systems in the last 10 years of development of ACL-based agent tools.**
One of the earliest tools for agent development was the KQML application programming interface, KAPI, developed as part of the DARPA Shade project.1,2 Like many other agent wrapper tools, KAPI assumes KQML as the agent communication language (ACL). Agent identity is established by an agent name server (ANS) via HTTP. KAPI is written in C and works with agents developed in C or any language that has a C interface. KAPI also provides a set of Lisp foreign function calls so that Lisp agents may be developed. KATS3 is another tool of this kind for diverse platforms and various languages including C, Lisp, and Java. These systems assumed that each agent made a socket connection with every other agent with which it communicated.
The Java Agent Template was the first agent development tool written in Java.4 JAT provided templates for newly developed Java agents, but it incorporated specific research theories that were not necessary in a general agent infrastructure. It was a traditional socket-to-socket agent communication model and did not support Java applet agent communication. This provided the motivation for the design and development of JATLite .
A store-and-forward paradigm similar to that of JATLite’s Agent Message Router was previously used in April,5 a process exchange system that could support mobile agents. However, unlike JATLite, April required installation of a mechanism on each participating host (as is necessary with all multihop mobile agent systems) and was not a complete agent infrastructure.
**"S" omitted** Warren is a type of system that provides agents with enough individual intelligence and robustness in its coordination scheme to support uninterrupted distributed computation when individual agents fail.6 The essential difference in JATLite is that it does not require this level of intelligence from the individual agents. JATLite is thus more suitable for the integration of legacy software tools, especially relatively simple engineering software packages such as finite element analysis.
**More** recent tools focus on the coordination mechanism. Magenta implements a coordination technology called Anonymous Agent Interaction.7 Each agent uses a KIF-based ontology for query and notification together with a set of faciliators and brokers that manage interactions. JATLite and Magenta both make provision for the persistence of some objects in case of agent failure; but Magenta does this by providing functions that an individual agent may use to save to a file or database, while JATLite builds in message recovery with the AMR.
The agent development shell for Coordination Language (Cool) facilitates the design and simulation of protocols and the acquisition of cooperation knowledge through the domain-independent, high-level language.8 As with Magneta, individual agents are programmed to handle error recovery.
The Kaos9 agent development architecture similarly focuses on facilitating the development of agent conversations. Neither Cool nor Kaos have anything similar to JATLite's registration and reconnection schemes with agent names and passwords, much less the message buffering of the router. Kaos is notable though as an example of a ORB-based system with the CORBA standard object directory service.
There have been attempts to integrate KQML with agent mobility. TKQML10 integrates the highly portable script language Tcl with KQML, attempting to bridge the gaps between low-level mobile agent communication and a higher level language. **AFTERBBURNER references deleted. In the length of time it has taken to get this paper to pub, it has gone away. The reference below was deleted.**
Jafmas**11** is a Java-based system that does not depend on any centralized server. It therefore does not include centralized message communication services. There is no message buffering or AMR-like support for message delivery failures. Jafmas is intended to be more robust and scalable because it is distributed, but networks of centralized servers have proved to be very robust and scalable: consider Internet e-mail servers.
FIPA Specifications
Starting in 1997, FIPA began developing the specifications for a new ACL,**12** similar to KQML, and an agent infrastructure, using the CORBA Internet inter-ORB protocol (IIOP) for communication with foreign agent systems. There are now some implementations such as JADE. //Needs a ref.// **LINDA - You cut this reference out of the paper. Here it is again: [Bellifernine et al 99] Bellifernine, F., Rimassa, G., and Poggi, A., "JADE - A FIPA-compliant Agent Framwork," Proc. of PAAM99, 1999. ** JATLite is not in theory inconsistent with the FIPA specifications, but it may require significant implementation effort to reach compliance, such as providing CORBA IIOP transport between AMRs. ** NEW - JATLite open source developers have generated FIPA ACL parsers (see paper) and it is possible that the IIOP requirement will be eased.** FIPA specifications do not offer JATLite’s novel message routing and buffering services, nor the resultant functionality.
FIPA has treated administrative functions, including agent registration, as high-level objects on a par with other language primitives. There is some movement in this direction in the KQML community. JACKAL is a relatively new Java-based system published only in workshop working notes,**13** but seems to include a new ANS, called KNS.**14** //Please define acronym.// ** Unfortunately the authors never define this as an acronym. ** This design emphasizes distributed name management across different agent directories. It differs from the JATLite scheme of identification by password as well as name. Like most other directory schemes, including FIPA’s, KNS requires an update protocol to change an agent’s IP address. In JATLite , the current IP address is simply noted whenever the agent reconnects to get its messages, so there is no need for an update protocol.
**JATLite is GNU free software available at http://java.stanford.edu, where there is also a jatlite-users email list, FAW, and hypermail archive. The agent community is encouraged to join in the development of this open source software.**
References
1. J. McGuire et al., "SHADE:
Technology for Knowledge-Based Collaborative Engineering," J. Concurrent Engineering:
Applications and Research (CERA), Vol. 1, No. 2, Sept. 1993;
also available online at http://www-ksl.stanford.edu/knowledge-sharing/papers/shade-cera.ps.
See also http://ksl-web.stanford.edu/knowledge-sharing/papers/shade-overview.html.
2. D. Kuokka L. and Harada, "A Communication Infrastructure for Concurrent Engineering," J. Artificial Intelligence for Engineering Design, Analysis and Manufacturing (AIEDAM), Vol. 9, No. X, 1995, pp. xx-yy.
3. //Need an author and title.// **LINDA - the document doesn't really list authors but says to contact Tim - so - T. Finin et al., "KQML Software Design Document",** available online at http://www.cs.umbc.edu/kqml/software/kats/kqml-sdd_ToC.html
4. H.R. Frost and M.R. Cutkosky, "Design for Manufacturability via Agent Interaction," paper no. 96-DETC/DFM-1302, Proc. 1996 ASME Computers in Engineering Conf., ASME, New York? **LINDA - the paper says "Irvine, CA" if you download it.**, 1996, pp. 1-8; also available online at http://cdr.stanford.edu/ABE/pubs/Frost-Cutkosky.ps.
**Linda - these references are messed up. What should be {5} is [McCabe 95] McCabe, F. G., Clark, K. L., "April-Agent Process Interaction Language", Intelligent Agents, Lecture Notes in Artificial Intelligence, 890, Wooldridge, M. J. and Jennings, N. R., Eds., Springer-Verlag, 1995, pp. 324-340. See also ftp://www.nar.fla.com/pub/papers/aprilsummary.html**6**, K. Decker et al., "Designing Behaviors for Information Agents," Proc. First Int'l Conf. on Autonomous Agents (AGENTS-97), //Publisher and City of Publication (not conference)// **LINDA - a web search on the conference name indicates "Information Sciences Institute, University of Southern California, 676 Admiralty Way Marina del Rey, CA 90292-6695" **; 1997, pp. xx-yy; also available online at http://www.cs.cmu.edu/~softagents/papers/autoag96.ps.gz.
**7**. M. Genesereth, N. Singh, and
M. Syed, "A Distributed and Anonymous Knowledge Sharing Approach
to Software Interoperation", Int'l J. Cooperative Information
Systems, Vol. 4, No. 4, Dec. 1995, pp. 339-367.
See also http://logic.stanford.edu/software/magenta/.
**8**. M. Barbuceanu and M.S. Fox, "COOL: A Language for Describing Coordination in Multi-agent Systems", Proc. 1st Int'l Conf. on Multiagent Systems (ICMAS-95), //Proceedings Publisher and City of Publication (not conference)//, **LINDA - a web search on this conference indicates it was held in San Francisco and that the proceedings are published for AAAI Press by MIT PRess, Cambridge. **1995, p. 17-24.
**9**. //Need an author and title.//; **LINDA - web page says J. Bradshaw, "KAoS: An Open Agent Architecture Supporting Reuse, Interoperability, and Extensibility" ** available online at http://ksi.cpsc.ucalgary.ca/KAW/KAW96/bradshaw/KAW.html.
**10**. R.S. Cost et al., "Agent Development Support for Tcl," Proc. 5th TCL/TK **Conference**//Please define acronym.// ** Tool Command Language and Tk is the name of the associated graphical i/f - this is a well-known tool.** Workshop, //Publisher and City of Publication (not conference)//, ** USENIX, Berkeley, CA ** 1997 pp. 177-178.
**AFTERBURNER ref deleted.**
11. //Need
an author and title.//; **LINDA - this is the download page.
It says "JAFMAS: A Java-based Agent Framework for Multi-Agent
Systems" and gices as contact, Alan Galan **
available online at
http://www.ececs.uc.edu/~abaker/JAFMAS/.
12, //Need an author and title.//; **LINDA - you just can't make everything fit this model anymore. FIPA is an organization. Check it out.** available online at http://www.fipa.org/.
13. R.S. Cost et al., "Jackal: A Java-based Tool for Agent Development," Working Notes of the Workshop on Tools for Developing Agents, WS-98-10, AAAI TR 73-82, AAAI Press, City of Publication, **MIT Press does this for the AAAI in Cambridge.** 1998.
14, //Need
an author and title.//;
** "KNS", R. Cost and I. Soboroff ** available online at http://jackal.cs.umbc.edu/KNS/.
//end sidebar//
Heecheol Jeon is a principal technologist of Macroscape Inc. His research
interests include Internet-based agent infrastructure, dynamic constraint
management in collaborative design, process modeling, and Internet search. Jeon
has a BS in naval architecture from Seoul National University and an MS and PhD
in mechanical engineering from Stanford University.
Charles Petrie is executive director of the Stanford Networking Research Center.
He was previously a senior research scientist at the Stanford Center for Design
Research (CDR). His research interest is distributed process coordination, with
emphasis on concurrent design, planning, and scheduling. He also works on the
use of XML for open interoperable workflow. Petrie has a BS in mathematics and
an MS and PhD in computer science. He is the editor-in-chief emeritus of IEEE Internet Computing.
Mark R. Cutkosky is the Charles M. Pigott professor and associate chair for design
and manufacturing in the Dept. of Mechanical Engineering at Stanford
University. He is also codirector of the Alliance for Innovative Manufacturing
at Stanford, an industry/academic partnership for manufacturing education and
research. Cutkosky received his BS from the University of Rochester and his MS
and PhD from Carnegie Mellon. He is a former NSF Presidential Young
Investigator and Anderson Faculty Scholar at Stanford, and a member of ASME,
IEEE, and Sigma Xi.
Readers may
contact the Jeon and Cutkosky at {jhc, mrc@cdr.stanford.edu and Petrie at petrie@stanford.edu.