Tools for Building Mobile Agents and Distributed Systems
Dateline: 01/13/00
Last article briefly described Gossip, knowledge management tool based on mobile agent technology. This week we'll stay in the same neighborhood, as I've noticed several great new development tools for building mobile agent systems and similar applications. Since most of them are free and distributed under the GNU Public Licence, I hope that you'll find interesting and valuable additions for your programming toolbox. Even if this mobile agents hype doesn't catch you, it is still interesting to expand horizons in software development and investigate alternative approaches in developing distributed applications.
Grasshopper-2
Grasshopper-2 is mobile agent environment compliant to the industry standards supporting agent mobility and management - Object Management Group (OMG) MASIF - Mobile Agent System Interoperability Facility and FIPA, Foundation for Intelligent Physical Agents). It is developed by IKV++ GmbH, Germany, and implemented in Java so it can be used on every hardware platform that supports JDK 1.2.x or higher. Product development is free, but product sales and operation can be subject of royalties. Software, documentation and papers may be downloaded separately.
Bond
Bond is Java-based, object-oriented middleware for network computing developed at Purdue University. Middleware can be described as a software layer that allows developers to mold systems tailored to specific needs from components and develop new components based upon existing ones. The basic philosophy of the Bond middleware is to allow developers and users to define meta-objects and agents using the frameworks provided by the system. It can be used in stand-alone mode or connected to a Bond domain, consisting of a society of users with common interests and a number of services. For more detailed information see the list of publications and practical applications. Software can be downloaded here: current version requires Java 2 SDK 1.2.x, and optional support packages (like JESS, Java Expert System Shell) are also available for free download.
ZEUS
The ZEUS Agent Building Toolkit is an integrated environment for the rapid development of collaborative agent applications. It is developed at British Telecommunications and implemented entirely in Java (JDK2). It is open source software, available free of charge to academic and industrial users under terms that are based on the Mozilla Public Licence. ZEUS brings a variety of visualization tools, giving users the flexibility to choose what is visualized, how it is visualized and when it is visualized. In addition, as well as viewing events as they happen, the Visualizer tools can save agent sessions for offline analysis using their "Video Replay" facilities. Software itself can found by following this link. Power-users will need the access to the product documentation and mailing list.
Hive
Hive is a Java software platform and general toolkit for creating distributed applications. It is developed at the MIT Media Lab as the primary software infrastructure for networking Things That Think (TTT). Hive is being used by TTT researchers to support application-level networking of things like location sensors, kitchens, and ambient displays. It is a big system with a lot of different features, but some of them are still not documented. However, there are some good sources of information, like a few chapters from the user's guide and publications pages. Software itself is is open source and free, distributed under the GPL.
OAA is a framework for integrating a community of heterogeneous software agents in a distributed environment. By the conventions of the OAA society, an agent must register the services it can provide in an acceptable form, by being able to speak the Interagent Communication Language (ICL), and by sharing functionality common to all OAA agents, such as the ability to install triggers, manage data in certain ways, etc. Currently, OAA 1.0 agent libraries exist for variety of languages and platforms, including Prolog, ANSI C/C++, Java, Delphi and Visual Basic running on platforms including Windows and several flavours of Unix.
FarGo
FarGo is a Java-based programming environment for the development of mobile-component-based distributed applications. It is developed at Distributed Systems Group, Technion - Israel Institute of Technology. Its primary design goal is to facilitate a high level of scalability and adaptability using a convenient programming model which extends Java, yet remains as close as possible to the regular Java programming model. FarGo applications are written in Java using the FarGo API, and are compiled with the special FarGo Compiler (fargoc). The fargoc compiler produces regular Java bytecode, thus FarGo applications are platform independent and can execute wherever a Java 1.1 Virtual Machine is available. Extensive documentation and software package can be downloaded independently.
This was only a short review of the newest agent development environments and frameworks. For more information on this topic, visit some of sites listed below, or discuss mobile agents, distributed systems and other AI-related issues at our Bulletin Board.
Other sites of interest:
Industrial and research information about multiagent systems design, implementation, theory, and applications.
This page provides a survey of agent construction tools. The tools are categorized as either commercially available products or academic and research projects.
This book presents the reality of today's agent technologies and the future that this technology promises. Web site includes excerpts from several chapters.
Good introductory article by David Reilly.
JAFMAS provides a framework to guide the coherent development of multiagent systems along with a set of classes for agent deployment in Java. The framework is intended to help beginning and expert developers structure their ideas into concrete agent applications.
Package of programs written in the Java language that allow users to quickly create new software "agents" that communicate robustly over the Internet.
The Agent Society is a new international industry and professional organization established to assist in the widespread development and emergence of intelligent agent technologies and markets.
Good source of general information gathered by Alex Hayzelden.