Overview

AgentScape is a middleware layer that supports large-scale agent systems. The rationale behind the design decisions are (i) to provide a platform for large-scale agent systems, (ii) support multiple code bases and operating systems, and (iii) interoperability with other agent platforms.

The AgentScape model

The overall design philosophy is “less is more,” that is, the AgentScape middleware should provide a minimal but sufficient support for agent applications, and “one size does not fit all,” that is, the middleware should be adaptive or reconfigurable such that it can be tailored to a specific application (class) or operating system/hardware platform.

Agents and objects are basic entities in AgentScape. A location is a “place” at which agents and objects can reside (see Fig. 1). Agents are active entities in AgentScape that interact with each other by message-passing communication. Furthermore, agent migration in the form of weak mobility is supported.

Objects are passive entities that are only engaged into computations reactively on an agent’s initiative. Besides agents, objects, and locations, the AgentScape model also defines services. Services provide information or activities on behalf of agents or the AgentScape middleware.

Figure 1: An abstract view of the AgentScape environment.

AgentScape Architecture

The AgentScape Operating System (AOS) architecture consists of:

  • an AgentScape Operating System kernel; and
  • an AgentScape Operating System middleware which includes a number of system services, among which agent servers, object servers, service access providers, location managers, and host managers.

A number of system services exist in the AgentScape Operating System. Their functionality is essential for AOS operation, but their operation is relative independent of the AOS kernel and therefore implemented as separate processes. This approach simplifies design of the AOS kernel and makes the kernel less vulnerable to errors or improper functioning.

Similar to the AOS kernel, the system service executes only trusted code. System services can only be started by the location manager or if the principal can authenticate itself using the private/public key pair of the location.

Each host in an AgentScape location runs locally an AgentScape Operating System (AOS) kernel and optionally a number of AOS system services. Multiple AOS kernels per host can run independently from each other, for example if multiple unrelated multi-agent applications are executing, or for emulation purposes where multiple virtual hosts are emulated by multiple AOS kernels running on a host.

Agent servers, object servers, and service access providers can interact only with the local AOS kernel. That is, all interprocess communication between agent servers, object servers, and service access providers is exclusively with their local AOS kernel. The AOS kernel either directly handles the transaction (local operation) or forwards the request messages to the destination AOS kernel (remote operation).

AgentScape Operating System Components

The AgentScape Operating System architecture consists of a number of components, as presented at the beginning of this section. Basically, there is an AOS kernel and a number of system services (most importantly for our discussion: agent servers, location managers, and host managers).
Figure 2 shows the most important components of AgentScape. Also the different interfaces of the components are shown in the figure.

Figure 2: The AgentScape architecture with AOS kernel and system services.

As already stated, the agent server gives an agent access to the AgentScape middleware layer. For security considerations, it is important to note that an agent is “sandboxed” by an agent server.

A location manager is the coordinating entity in an AgentScape location (thus managing one or more hosts in one location). Agent creation, migration, and all kinds of policy related issues that are relevant in the context of a location, is managed or coordinated by the location manager.

The host manager manages and coordinates activities on a host at an AgentScape location. The host manager acts as the local representative of the location manager, but is also responsible for local (at the host) resource access and management.

Challenges

Building an open, large-scale distributed system for deployment of multi-agent systems requires conscious deliberation of design alternatives and available technologies. The management of a location and between locations will be studied extensively.
The OSI network management model distinguishes the following tasks:

  • configuration management,
  • fault management,
  • performance management,
  • security management, and
  • accounting management.

The AgentScape approach to management is targeted to scalability and autonomicity. Concepts of self-management closely fits with the design philosophy of AgentScape. Self-management comprises self-healing (fault-tolerance), self-optimization (performance), self-configuration, and self-protection (security). With self-managing locations, AgentScape locations and hosts within a location are autonomous entities that operate in concert to provide resources and services to multi-agent system applications.