Extending Rational Rose to support MAS design in UML

1 / 21
About This Presentation
Title:

Extending Rational Rose to support MAS design in UML

Description:

... Encourage vendors to plug whatever service they desire into the Cybele to suite a particular platform Provision for addition of new services: ... –

Number of Views:50
Avg rating:3.0/5.0
Slides: 22
Provided by: Renat8
Category:

less

Transcript and Presenter's Notes

Title: Extending Rational Rose to support MAS design in UML


1
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

2
Outline
  • Introduction to IAI and its software tools
  • Three-tier agent architecture
  • Cybele
  • Design of MAS using DIVA
  • Problems and pitfalls

3
Expertise
  • Multi-agent Systems Design, Development and
    Simulation
  • Distributed Computing
  • Scheduling and Logistics
  • Agent-based Distributed Control

4
Software tools
  • Cybele? Agent Infrastructure for distributed
    computing and inter-agent communication
  • DIVA A case tool with design document editing,
    online repository, runtime execution support
    service, verification and Cybele code generation

5
Three Tier Architecture of IAI Agents
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.
6
An Example of Role Interaction
Dutch Auction Art Buyer
English Auction Art Buyer
English Auction Car Buyer
Buyer
Buyer
Buyer
Adapter
Adapter
Adapter
Buying Art
Buying Art
Buying Car
7
Cybele? An Agent Infrastructure
  • Provides location independent communication among
    agents with efficient flexible, dynamic
    multicasting
  • Provides services for creating, migrating and
    terminating agents at run time
  • Supports multi-threaded and shared-threaded
  • Provides an activity model where an agent can
    work on multiple tasks concurrently
  • Emphasis is on high-performance, scalability,
    flexibility and ease of use
  • Current prototype of Cybele is implemented using
    the object-oriented paradigm with a Java API

8
Cybele? Architecture Guidelines
  • Cybele basics Enforcement of the
    Activity-oriented programming interfaces or AOPI.
  • Portability of users code User-written agent
    code runs on any Cybele environment in which the
    needed services are available
  • Reusability of users code Users code are
    re-usable even if services are modified
  • Plug n play service Encourage vendors to plug
    whatever service they desire into the Cybele to
    suite a particular platform
  • Provision for addition of new services Provide
    means for agent developers to add and access
    supplemental services without affecting the
    reusability and portability

9
Cybele? Architecture
Basic Service Layer
Fundamental Service Layer
Cybele Kernel Supporting Three-tier
architecture And AOPI
Distributed, Interactive Computing Infrastructure
(DICI)
Supplementary Service Layer
10
DIVA
  • A design tool for agent based distributed system
  • Use an extension of UML as means for system
    description
  • Integrated with the industry leader Rational Rose
    98i/2000e
  • Automatic code generation
  • Maximize interaction and protocol reusability
  • Automatically generate verification model from
    the same design document

11
DIVA and Rose
12
Multi-agent System Design Entities
  • Physical entities of the System (MODEL)
  • Agents
  • Non-agent entities (such as databases, legacy
    classes)
  • Protocols
  • Roles

13
Multi-agent System Design Diagrams
Agents X MODEL -gt Deployment Diagram Agents X
Hosts (distribution) -gt Deployment Diagram Agents
X non-agent -gt Class Diagrams Agents X Protocols
-gt Class Diagram Protocols X Roles -gt Class
Diagram
14
Multi-agent System Design Protocols
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.
15
Multi-agent System Design Agents X Roles
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)
16
Multi-agent System Design Role Classes
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
17
Role Design State Diagram
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.
18
Role Reusability
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.
19
DIVA Interaction Protocol Verification
State Diagrams Of Roles and Sequence Diagrams of
Interactions
RoseScript, Java Bean/COM Server
Role and Adaptor Objects in Java
PROMELA Translator
Concurrent Processes in PROMELA Script
SPIN Tool
Verified and Re-usable Roles and Protocols
20
Importing Protocols/Roles
DIVAs repository allows validated protocols and
roles to be shared and reused on several domains.
21
Rose and UML pitfalls
  • Rose is rather inconsistent on the way it can be
    extended by a third-party add-in. A variety of
    different techniques are needed to interface with
    Rose in order to accomplish the most simple
    tasks. (i.e. Rosescript, COM, ActiveX, Java
    beans, .)
  • Despite all the methods to interface with Rose
    there was no way to enhance its graphical output,
    forcing us to recreate some of the graphics on a
    separate child window.
  • UML, as implemented in Rose, leaves too much
    room for free-form notes. In order to
    describe a complex system with less ambiguity,
    richer and more formal representation is needed.
Write a Comment
User Comments (0)
About PowerShow.com