Rudder Agent Framework

 

Overview:

The objective of Rudder agent framework is to enable the runtime element composition and coordination in peer-to-peer environments. This framework consists of software agents and agent interaction and negotiation protocols. The peer agents identify elements and locally control element behaviors. The defined protocols enable the behaviors of individual agents to progress towards a consensus. In Rudder, new elements are dynamically identified and inserted into systems. The most appropriate adaptation plan is negotiated, decided, and enacted by multiple distributed cooperating agents. This framework is implemented and supported by a fully decentralized shared-space substrate Comet, which provides the core messaging services for connecting agent networks and scalably supporting various agent interactions, such as mutual exclusion, consensus, and negotiation.

 

Agent Classification:

The framework defines two types of peer agents: Component Agent (CA) and Composition Agent (CSA). CAs represent discrete elements and use profiles to identify and control elements, which can be computational components or resource units (e.g., compute resources, instrument, data store). A profile consists of a set of functional and non-functional attributes (e.g. type, version, operations, etc.), which are semantically defined using an application-specific ontology described using an XML-based language. CAs manage the computations performed locally within elements and their interactions and operations. Transiently generated CSAs dynamically discover and compose the elements as applications.

 

Coordination Protocols:

The discovery protocol allows the agents to register, unregister, and semantically discover elements using domain specific ontologies. When an element is added to the system, its associated agent uses this protocol to register the element's profile. The agent maintains the profile to be consistent with the element and deletes the profile when the element terminates. An element can be discovered by agents semantically using attributes in the element's profile. The interaction protocol allows a group of agents to interact, cooperate and negotiate. Existing agent interaction protocols, e.g., the Contract-Net Protocol(CNP), can be supported and customized for specific application or system context.

 

Enabling Self-Management Behaviors: 

A critical issue in enabling self-management is deciding on the most appropriate behavior to enact. In Rudder, individual agents select local plans based on local information, and then negotiate with peer agents to reach global agreement on the overall plan to enact.

 

Dynamic Composition:

Rudder enables dynamic composition using CNP based negotiations among CSAs and CAs, assuming that the CSA has an application workflow-plan to enact and that there are several CAs capable of executing it. The CSA dynamically discover and select the most suitable CA to execute the workflow-plan through negotiation. In the negotiation process, the CSA acts as the manager and the CAs act as contractors. It consists of the following steps: (1) The CSA searches for potential CAs using the discovery protocol and advertises the specified task information to all candidate CAs; (2) CAs analyze the received task information and respond with a bid; (3) The CSA evaluates received bids, assigns the task to the CA with the best bid, and refuses the others; (4)The CA delegates the task to its associated element and informs the CSA of the execution result(s) within a bounded time, otherwise the CSA terminates the process explicitly.

 


    Figure: Dynamic composition using CNP-based negotiation.

 

Multi-stage Self-Adaptation:

The runtime self-adaptation behaviors of applications must be decided based on current states and context, and may have a global scope. Agents, in this case, will have to reach consensus on the plan to enact and the new system/application configurations to enforce. In Rudder, Marketplace negotiation model is used, where a finite set of issues are exchanged iteratively between buyer and seller agents. When an agent receives a ``plan" from another agent, the agent evaluates the received plan and decides either to accept it and stop the negotiation with an agreement, or reject it and propose a counter plan. This mechanism enables the agents to resolve locally decided strategies and achieve a mutually acceptable strategy considering all factors.

[Home]