Extending Rational Rose to support MAS design in UML. presented by: Renato Levy. Intelligent Automation Inc. 2 Research Place, Suite 202 Rockville, MD 20850 http://www.i-a-i.com. Outline. Introduction to IAI and its software tools Three-tier agent architecture Cybele
Extending Rational Rose to support MAS design in UML
presented by: Renato Levy
Intelligent Automation Inc.
2 Research Place, Suite 202
Rockville, MD 20850
1- Role Layer: Describes the syntax and semantics of the roles this agent can perform in this application.
2- Adapter Objects: Makes the necessary translation between domain independent semantic of the role layer to the passive domain object expertise.
3- Domain Layer: Represents the information content of an agent. Holds the domain expertise of the agent. Layer were existent legacy software can be easily reused.
Dutch Auction Art Buyer
English Auction Art Buyer
English Auction Car Buyer
Basic Service Layer
Distributed, Interactive Computing Infrastructure (DICI)
Agents X MODEL -> Deployment Diagram
Agents X Hosts (distribution) -> Deployment Diagram
Agents X non-agent -> Class Diagrams
Agents X Protocols -> Class Diagram
Protocols X Roles -> Class Diagram
Protocols are defined as the description of a relation between two or more agents of the system. Any interaction between two agents are subject to a protocol ruling. The agents that play a part on the protocol perform according with the roles described on this protocol.
A protocol is described by a class diagram which depicts its roles and by a set of interaction diagrams which show the details of the exchange of information between such roles.
In Rational Rose®, protocols were created using stereotypes.
In order to play a role on a protocol an agent has to adhere to an interface publicized by the role.
The interface required by the roles is automatically extracted by the DIVA case tool.
The agent implements the interface by means of delegation to non-agent object that conforms with the interface. (adapter objects)
Roles are entities contained by protocols, that define the syntax of a protocol player.
Agents can play different roles on different protocols or even more than one role on the same protocol instance
A Role is defined by an enhanced state machine diagram, in which the information about the guard conditions and actions are detailed enough to extract the conversation syntax.
The correct extraction of the syntax of a conversation from the semantics and context that they carry is fundamental to provide role reusability across domains.
State Diagrams Of Roles and
Sequence Diagrams of Interactions
RoseScript, Java Bean/COM Server
Role and Adaptor Objects in Java
Concurrent Processes in PROMELA Script
Verified and Re-usable Roles and Protocols
DIVA’s repository allows validated protocols and roles to be shared and reused on several domains.
Rose and UML pitfalls