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.
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.
See http://www.fipa.org/repository/ips.php3 for FIPA protocols.
Download the "Zeus Role Modeling Guide" from
http://more.btexact.com/projects/agents.htm
There are seven pre-defined roles on every agent platform:
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.
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.
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.
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.
The basic roles in a business domain are producers and consumers. Producers produce resources, consumers consume them.
In this model the Contract Net Protocol is used during the negotiation phase. The delivery phase is the same.