Open Source Agent Systems written in Java
The Sofware Agent System are active, independent components, Which is designed to act as or for the user to help execute some task or operation.
Leonard Foner defines an agent as a "program that performs tasks for a user" 1. While this is an accurate definition, it's not very useful. Pattie Maes has a more useful definition:
"A Software Agent is a computational system which has goals, sensors, and effectors, and decides autonomously which actions to take, and when".
- Aglets is a Java mobile agent platform and library that eases the delopment of agent based applications. An aglet is a Java agent able to autonomously and spountanously move from one host to another.
Originally developed at the IBM Tokio Research Laboratory, the Aglets technology is now hosted at sourceforge.net as open source project, where it is distributed under the IBM Public License. Aglets is completely made in Java, granting an high portability of both the agents and the platform.
- Bee-gent is a new type of development framework in that it is a 100% pure agent system. As opposed to other systems which make only some use of agents, Bee-gent completely "Agentifies" the communication that takes place between software applications. The applications become agents, and all messages are carried by agents. Thus, Bee-gent allows developers to build flexible open distributed systems that make optimal use of existing applications.
Increasingly a great variety of different software applications, such as WWW servers, databases, software packages, legacy systems, etc. are being connected together through use of the Internet, intranets, and other network systems. As we move towards the advent of the network society, it is necessary to try and co-ordinate the activity of these disparate entities within a cohesive framework. Standard distributed systems rely on message based exchange with fixed connections, and as such these systems are of limited efficiency when one is attempting to use large numbers of, or widely varying, applications.
- Bond is a Java based, FIPA compliant agent framework. Use the links on the left to learn more about the Bond framework and our work.
Key technical ideas of the Bond Agent framework:
Multi-plane state machine agent model
Component-based architecture (strategies and planes).
Python based agent description language (Blueprint)
Strong emphasis on introspection, visual modelling and software verification
Dynamic agent behavior (agent assembly, mobility, surgery, trimming, and lazy loading of strategies)
- Cougaar is a Java-based architecture for the construction of large-scale distributed agent-based applications. It is a product of two consecutive, multi-year DARPA research programs into large-scale agent systems spanning eight years of effort. The first program conclusively demonstrated the feasibility of using advanced agent-based technology to conduct rapid, large scale, distributed logistics planning and replanning. The second program developed information technologies to enhance the survivability of these distributed agent-based systems operating in extremely chaotic environments. The resultant architecture, Cougaar, provides developers with a framework to implement large-scale distributed agent applications with minimal consideration for the underlying architecture and infrastructure. The Cougaar architecture uses the latest in agent-oriented component-based design and has a long list of powerful features.
- Knowing the most creative techniques allows you an optimum of communication – with your customers about their requirements – keyword Requirement Engineering – as well as within your developer teams – keyword Repository based development environments. The adaptation of these techniques permits you to systematically analyse, plan and control. Using our basis technologies we provide you with a custom tailored analysis- and development environment.
- JADE (Java Agent DEvelopment Framework) is a software framework fully implemented in Java language. It simplifies the implementation of multi-agent systems through a middle-ware that complies with the FIPA specifications and through a set of graphical tools that supports the debugging and deployment phases. The agent platform can be distributed across machines (which not even need to share the same OS) and the configuration can be controlled via a remote GUI. The configuration can be even changed at run-time by moving agents from one machine to another one, as and when required. JADE is completely implemented in Java language and the minimal system requirement is the version 1.4 of JAVA (the run time environment or the JDK).
- TuCSoN is a model (and related infrastructure and technology) for the coordination of Internet agents.
TuCSoN exploits a notion of local tuple-based interaction space, called tuple centre, which is a tuple space enhanced with the notion of behaviour specification. By programming its behaviour in response to communication events, a tuple centre can embody coordination laws. Several issues critical to Internet applications, such as heterogeneity and dynamicity of the Internet nodes, can then be charged upon tuple centres, and transparently to agents, which can then be designed independently of the different node architectures, according to a straightforward interaction protocol.
The TuCSoN coordination language provides agents with a twofold perception of the TuCSoN interaction space, as either as a global space made up of uniquely denoted coordination media, or a collection of local spaces associated to Internet nodes.