Implementing Multi-Agent Systems: Languages, Frameworks, and Standards (Extended Abstract)*
As multi-agent systems research nears the end of its second decade, researchers have moved beyond stand-alone, one-off systems and have begun to create the software infrastructure for quickly creating new, highly interoperable systems. However, the desire for seamless interoperability ("open" systems) brings with it the push to standardize on agent communication languages and related agent service facilities. Although a host of theoretical and practical controversies surround the specification of such standards, some shared, guiding principles have emerged. Many researchers focus their work on the internal structures of agents (architecture), while others focus more on the activities and structures between agents (organization). The first principle is the realization that most principles can be recast at both the intraand inter(architectural and organizational) levels. The second principle is a drive toward the reuse of models and particular behaviors both conceptually, in reusable implementations, and in the creation of generic infrastructure components. The third principle revolves around how to structure individual or multi-agent knowledge and behaviors that includes techniques for composition, layering, and abstraction. The final guiding principle is the centrality of the interoperability question. After all, what would a multiagent system be unless there are in fact multiple agents interoperating with one another?! Methodologically, research in the area of agent frameworks and languages has been pursued in both a theory-driven and application-driven manner. Often there can be significant interaction between theory and practice, as in the development of BDI-based systems (Bratman 1987; Rao & Georgeff 1995). Although there are as yet no complete solutions, multi-agent system development methodologies will be important for the software engineer-