The Zeus Agent Building Toolkit |
Technical Manual |
Contents | Introduction | Zeus Philosophy | Zeus Architecture | Communication | Coordination | Planning and Task Execution |
External Applications |
The aim of the ZEUS project was to facilitate the rapid development of new multi-agent applications by abstracting into a toolkit the common principles and components underlying some existing multi-agent systems. The idea was to create a relatively general purpose and customisable, collaborative agent building toolkit that could be used by software engineers with only basic competence in agent technology to create functional multi-agent systems. Thus, our design philosophy was to encapsulate the following principles:
Firstly, the toolkit should clearly delineate between domain-level problem solving and agent-level functionality. The latter covers the application-independent multi-agent issues such as communication, co-ordination, task execution and monitoring, exception handling, etc. while the former covers the acquisition, representation and use of domain-specific knowledge in problem solving. The intention being with the agent-level functionality provided, the developers could concentrate on implementing the domain-specific problem solving abilities of their agents.
Secondly, use of the toolkit should be based on the 'visual programming' paradigm. Hence the toolkit would support the agent creation process by providing structured menus and tables that would enable application developers to configure the functionality and modalities required of their agents as simply as possible.
Thirdly, the toolkit should support an open design to ensure it is easily extensible. Thus, expert users should be able to easily add to the library of agent level components, and configure new agents using a combination of user-defined and system-supplied components.
Fourthly, we intended to utilise ‘standardised’ technology wherever feasible, or be designed with standardisation in mind. We felt that standardisation was essential was for the industrial uptake of agent technology. This way, we envisaged components which could later be replaced with little difficulty by ‘more standardised’ components. This is typified by our adoption of the most 'standardised' agent communication language currently available.
Having briefly described our design philosophy, we now consider the requirements from the viewpoint of a user of the toolkit. Viewed from a user-centred perspective, it was required that the toolkit allow users to
In addition, we also felt the toolkit should provide:
It is important to summarise at this point some fundamental assumptions made about the type of agents whose creation the toolkit is designed to facilitate, and also to describe the typical application domains of these agents. The principal assumptions made regarding the agent behaviour are that the agents are:
The agents should be deliberative in the sense that they should explicitly reason about their actions in terms of what goals to pursue, when to adopt new goals and when to abandon existing goals. In addition, the requirement for goal-directed behaviour implies the agents only select actions that they expect in some way to advance the attainment of their desired goals. Furthermore, they only abandon goals when certain either that they cannot achieve the goals or that the motivations for achieving the goals no longer hold. The rationality assumption implies the agents adopt only actions that they expect to maximise their expected utility. That is, given a choice of actions, an agent would select a subset that it expects can be performed given the available time and resources, and further, that should lead to the maximum possible benefits.
The typical application areas of the agents were expected to be task-oriented domains such as service provisioning, resource/process management, and supply chain management. A number of characteristics of these domains are important:
The next section describes the ZEUS toolkit that was
developed to meet the above requirements. In subsequent sections we provide
an example of the use of the toolkit, and then proceed to describe the design
and implementation of the main components of ZEUS agents.
You may also find it useful to consult the accompanying case study documents,
which describe how the packaged example applications were built.
Contents | Introduction | Zeus Philosophy | Zeus Architecture | Communication | Coordination | Planning and Task Execution |
External Applications |