Perspectives on Agent Standards Munindar P. Singh, Ebrahim H. Mamdani, Afsaneh Haddadi, Charles J. Petrie, Michael N. Huhns ======================================================================== Agents and multiagent systems are garnering much attention these days, especially for applications in large, open, information-rich environments. Modern applications presuppose the interoperation of agents with each other and with the underlying infrastructure. This leads naturally to the matter of standards. Although most engineers agree on the importance of standards, the nature of those standards and their creation and evolution are often hotly debated. Standards for agents are no exception. The 1998 International Conference on Multiagent Systems included a panel on standards. Much of the debate centered around the Foundation for Intelligent Physical Agents' efforts in standardizing an agent communication language (ACL). FIPA---the only serious standardization effort for agents---is a private but open standards body similar to the ATM forum and MPEG. Such bodies have become important in fast-developing technology areas, where traditional national and international bodies are too slow to respond. ACLs involve high-level communication, which fundamentally differentiates agents from other kinds of software. For example, agents communicate in far more sophisticated ways than objects. For instance, in contrast to objects, agents can say "No!" Accordingly, ACLs are among the most important of the agent technologies to be standardized. Unfortunately, lots of ACLs exist. Until FIPA, the only attempted standard ACL was the knowledge query and manipulation language (KQML), which however diverged into several non-interoperable dialects. ======================================================================== MAMDANI: FIPA makes public all its deliberations and interim results. It welcomes outside comments and allows participation by non-members who comment. In fact, whether standards are de facto or de jure, a committee would be involved. The only difference is whether committees work behind closed doors or in the open. De facto standards are thus imposed on the commercial world. They entail that products become visible before the specifications, whereas with the open process, the specifications are agreed upon before products are created. FIPA is studying potential products (in telecommunication management, multimedia and broadcasting, personal assistance, and manufacturing) before abstracting their common functionalities to standardize. Since it takes years for concepts to lead to mature products, leaving the standardization to when the products are mature can lead to competing standards. By standardizing early, FIPA hopes to catalyze product development by reducing the risks that member companies must bear. FIPA promotes important principles including (a) developing standards well ahead of maturity, (b) on a strict schedule of releases, (c) to specify generic tools, (d) that serve a variety of products, and (e) support verification. ======================================================================== HADDADI: In principle, standards committees are necessary, but it is not clear whether such efforts are worthwhile and at what stage committees should be constituted. To be assured of success in standardizing agents and leading the way towards applying agent technology, FIPA must address two major criticisms. First, the FIPA ACL specifications are inconsistent (e.g., their normative and formal semantics do not agree), unnecessary (e.g., based on extraneous concepts, such as beliefs, desires, and intentions), or incomplete (e.g., no specification of protocols for verification). This is partly because of the immaturity of the technology for which FIPA seeks standardization, and partly because of insufficient effort being dedicated to the standardization. Second, the specifications set out so far have already been considered as standards, permitting no review or modifications. Unfortunately, these specifications are not suitable for practical use. Unless the specifications are thoroughly reviewed and modified, not only will FIPA fail, but there may be damaging consequences to the acceptance of agent technology in industry. ======================================================================== PETRIE: "Premature optimization is the root of all evil." - Donald Knuth This quote fits not only KQML but also the newer FIPA. Both were driven by standards bodies more than grassroots applications, so there is no consensus adherence to a specification. Contrast these with TCP/IP, SMTP, and HTML, which were developed by small groups. Their success as de facto standards derived from the powerful applications that they supported. Committee-based standards are not typically so fortunate. KQML had a good start, in that it was originally motivated by the Stanford PACT experiment. But the experiment was never redone to evaluate the language, and the practical aspects were deemphasized. For example, nothing like a TRACE function for updating one agent on changes by another was ever considered a primitive. Instead, a complicated combination of other (ill-defined) primitives is used. And there was never any standardization for connecting to an agent name service. Despite doing much better in having some application models, FIPA has also largely ignored an analysis of the several KQML applications. In fact, it is unclear why one should choose FIPA over KQML if the lessons of the latter are largely ignored. Without attention to commonly used primitives, nor standards for interconnecting, neither KQML nor FIPA enable any independently-developed "foreign agents" to interoperate, a common dream of the agents community. Much less has either resulted in widely-used tools to build applications, although KQML has moved much further in that direction in the last two years. But it is getting rather late for committee-based agent protocols. CORBA and XML will now likely take over the Internet niches that agents might have occupied. The agents community needs to field useful tools and applications immediately if it is not to be ignored. ======================================================================== HUHNS: As early as 1990, I organized a discussion on ACLs and urged the adoption of a speech-act-based standard. Since then there has been much practical experience, much rhetoric, no research breakthroughs, and little progress. Why? I believe the research community has concentrated its effort on two projects with poorly conceived methodologies: KQML and FIPA. KQML was an attempt by a small DARPA-funded group to start with a "clean sheet of paper" in defining an ACL. It paid scant attention to a decade of earlier work and, as a result, produced a language with imprecise semantics that did not support many of the most important agent applications. FIPA, to its credit, has taken a contrary approach in that it solicits opinions and contributions widely. Unfortunately, FIPA's methodology is to start with an ACL designed for agent-human communication, and then modify it incrementally via annual releases of a specification. At the present time, the semantics of the language is too strong to be useful, and impossible to verify. The resultant specification is converging towards a useful language, but far too slowly. Instead, I suggest a methodology based on the development of open-source software, such as is being used for the linux operating system, emacs editor, Apache web server, and Netscape browser. Each of these software systems is being written and debugged by thousands of developers, and code releases appear frequently rather than annually. As a result, the software is very robust, and evolves rapidly towards the needs of developers and users. This seems clearly beneficial for the development of an ACL. ======================================================================== Although there is universal agreement on the usefulness of standards, not only the technical details, but also the methodology for standardization remain controversial in the agents community. Some of the concerns - open source vs. otherwise - apply to all of computing; others are specific to agents but appear inevitable when you seek standards in a fast-moving area. ========================================================================