logo

Intelligent Interactive Distributed Systems


Project: Agentscape Operating System
Home  People  Publications  

AgentScape Operating System: Kernel and System Services

For questions on using AgentScape, please go to the AgentScape forums. As of May 15, 2008 the latest version of AgentScape is version 0.9.1. Older versions are available, but are not supported anymore. Please use version 0.9.1.

NOTE: 0.9.1 is not compatible with previous versions! However, agents that run on 0.9.0 will run fine on 0.9.1.

AgentScape is available only as an installer. Running the installer will give you the option to install AgentScape including sources, documentation, and/or examples.

AgentScape Tutorail

An AgentScape tutorial has been given at the University of Bath (UK). Slides can be found here and here.

AAMAS-2007 demo / BNAIC-2007 demo

A demonstration of AgentScape has been given at the AAMAS-2007 conference and the BNAIC-2007 conference. The demonstration presented a resource negotiation framework based on WS-Agreements, implemented in AgentScape. A modified distribution of AgentScape has been developed for this demonstration. For more information, including downloading a live CD, look here.

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.
May 2008: Version 0.9.1 of the AgentScape middleware is now available (recommended):
AgentScape-0.9.1 Installer
Nightly builds are also available, but no guarantees this will work (or even build):
AgentScape nightly build Installer
AgentScape javadoc
Older versions

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: (i) configuration management, (ii) fault management, (iii) performance management, (iv) security management, and (v) 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.



login
For comments on this web-site, please contact: Michel Oey