Role Models

A domain consists of a number of role models. These models are constructed during the analysis phase. Roles are the same as behaviours.

A role model consists of:

1. A role model diagram

2. A collaboration diagram

3. Elaborations of each role

Agents "play" one or more roles. During the design phase agents are identified and roles are assigned to agents. Two principles for identifying agents:

1. Each "sphere of responsibility" is associated with an agent.

2. Each service access point is associated with an agent.

Roles can be combined.

An agent toolkit/framework includes an agent platform and tools that support the implementation phase. An agent platform includes a communication infrastructure and several utility agents.

Note

Developing an agent-based system is not significantly different from developing an ordinary system. In the former case modules are roles. For example, the Modularity and Abstraction principles can be applied to roles. Roles are similar to components. Roles are similar to classes. Roles can be related by inheritance, polymorphism, and composition. However, with roles the emphasis is more on interaction rather than association.

Interactions between roles instantiate protocols.

Agent Platform Domain

Role Model

There are seven pre-defined roles on every agent platform:

Interaction Models

Design

All agents interact with the name server agent to register their names and inquire about the names of other agents. In addition, task agents interact with the facilitator agent to register their abilities and inquire about the abilities of other agents.

Information Management Domain

Examples

Document Management Systems (DMS)

Content Management Systems (CMS)

WWW (see http://www.w3.org/TR/webarch/)

Struts

Note: This model is also realized by the Service-to-Worker or View-Helper design patterns from Struts. Controller is a front controller JSP, view is an XSLT style sheet or a view JSP, and the model might be a DAO bean. The repository could be a database or a repository of XML documents.

Role Model

Interaction Models

Role Elaborations

Design

Multi-Agent Trading Domains

Marketplaces

Role Model

Marketplace roles include brokers and traders. A trader may include buyer and seller sub-roles. In addition, traders must register with brokers and may make inquiries to brokers. In some cases a mediator may serve to mediate transactions between buyers and sellers.

Interaction Models

Role Elaborations

Design

Auctions

Marketplaces are decentralized whereas auctions are highly centralized. In a marketplace negotiations occur between buyers and sellers. Unless a mediator is used, payment and ownership transfer is also direct. In an auction, negotiation, payment, and ownership transfer occur between mediators. Even admission to the auction is controlled. The rules of the auction (Dutch (descending bids), English (ascending bids), open, silent, etc.) are determined by the auctioneer.

Role Model

Interaction Models

Role Elaborations

Design

Business Process Domains

The basic roles in a business domain are producers and consumers. Producers produce resources, consumers consume them.

Simple Supply Chain

Role Model

Interaction Models

Role Elaborations

Design

Contractual Supply Chain

In this model the Contract Net Protocol is used during the negotiation phase. The delivery phase is the same.

Role Model

Interaction Models

Role Elaborations

Design