Overview UML Extensions for Agents UML UML Agent UML (AUML) Agent UML (AUML) Agent Interaction Protocols Agent Interaction Protocols Richer Role Specification.

Slides:



Advertisements
Similar presentations
© 2005 by Prentice Hall Appendix 3 Object-Oriented Analysis and Design Modern Systems Analysis and Design Fourth Edition Jeffrey A. Hoffer Joey F. George.
Advertisements

UML an overview.
FIPA Interaction Protocol. Request Interaction Protocol Summary –Request Interaction Protocol allows one agent to request another to perform some action.
UML (Sequence Diagrams, Collaboration and State Chart Diagrams) Presentation By - SANDEEP REDDY CHEEDEPUDI (Student No: ) - VISHNU CHANDRADAS (Student.
© 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers: Unit 9 Slide 1 Appendix 3 Object-Oriented Analysis and Design.
2008/03/25 Unified Modeling Lanauage 1 Introduction to Unified Modeling Language (UML) – Part One Ku-Yaw Chang Assistant Professor.
Specifying Agent Interaction Protocols with AUML and OCL COSC 6341 Project Presentation Alexei Lapouchnian November 29, 2000.
1 Software Testing and Quality Assurance Lecture 12 - The Testing Perspective (Chapter 2, A Practical Guide to Testing Object-Oriented Software)
Agent UML Stefano Lorenzelli
1 © Wolfgang Pelz UML2 UML Part Two. 2 © Wolfgang Pelz UML2 Chapters Four & Twelve Interaction Diagrams.
© 2005 Prentice Hall4-1 Stumpf and Teague Object-Oriented Systems Analysis and Design with UML.
Lab 6 CPIT 250 System Analysis and Design.
SE-565 Software System Requirements More UML Diagrams.
An Introduction to Rational Rose Real-Time
2005/05/25 Unified Modeling Lanauage 1 Introduction to Unified Modeling Language (UML) – Part One Ku-Yaw Chang Assistant Professor.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 8: Modelling Interactions and Behaviour.
Introduction to the Unified Modeling Language “The act of drawing a diagram does not constitute analysis or design. … Still, having a well-defined and.
Slide 1 UML Review Chapter 2: Introduction to Object-Oriented Systems Analysis and Design with the Unified Modeling Language, Version 2.0 Alan Dennis,
Unified Modeling Language, Version 2.0
1 On to Object Design Chapter 14 Applying UML and Patterns.
Programming in Java Unit 3. Learning outcome:  LO2:Be able to design Java solutions  LO3:Be able to implement Java solutions Assessment criteria: 
Copyright 2002 Prentice-Hall, Inc. Chapter 2 Object-Oriented Analysis and Design Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey.
ARTIFICIAL INTELLIGENCE [INTELLIGENT AGENTS PARADIGM] Professor Janis Grundspenkis Riga Technical University Faculty of Computer Science and Information.
1 Devon M. Simmonds University of North Carolina, Wilmington CSC450 Software Engineering WorkFlow Modeling with Activity Diagrams.
Real Time Systems Modeling Structure in UML (Part I)
UML diagrams What is UML UML diagrams –Static modeoing –Dynamic modeling 1.
Modeling Component-based Software Systems with UML 2.0 George T. Edwards Jaiganesh Balasubramanian Arvind S. Krishna Vanderbilt University Nashville, TN.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 14 Slide 1 Object-oriented Design.
Fall 2010 CS4310 Requirements Engineering A Brief Review of UML & OO Dr. Guoqiang Hu Department of Computer Science UTEP 1.
UML Class Diagram Trisha Cummings. What we will be covering What is a Class Diagram? Essential Elements of a UML Class Diagram UML Packages Logical Distribution.
1 System Analysis and Design Using UML INSTRUCTOR: Jesmin Akhter Lecturer, IIT, JU.
Discovering object interaction. Use case realisation The USE CASE diagram presents an outside view of the system. The functionality of the use case is.
1 An Introduction to UML Interaction (Sequence and Communication) Diagrams Georgia State University CIS 3300 Spring, 2009.
Course Instructor: Kashif Ihsan 1. Chapter # 3 2.
UML as a Specification Language for Embedded Systems. By, Mir Ahmed Ali, Asst. Professor, ECM department, SNIST. By, Prof. Narsiah sir, Director of School.
Part VII: Design Continuous
Introduction to UML CS A470. What is UML? Unified Modeling Language –OMG Standard, Object Management Group –Based on work from Booch, Rumbaugh, Jacobson.
CSCI-383 Object-Oriented Programming & Design Lecture 12.
Lecture 9-1 : Intro. to UML (Unified Modeling Language)
1 Unified Modeling Language, Version 2.0 Chapter 2.
Chapter 3: Introducing the UML
UML Course Instructor: Rizwana Noor. Overview  Modeling  What is UML?  Why UML?  UML Diagrams  Use Case  Components  Relationships  Notations.
Introduction to UML Hazleen Aris Software Eng. Dept., College of IT, UNITEN. …Unified Modeling Language.
 The Sequence Diagram models the collaboration of objects based on a time sequence.  It shows how the objects interact with others in a particular scenario.
1 Kyung Hee University Interaction Diagrams Spring 2001.
1 7 Systems Analysis and Design in a Changing World, 2 nd Edition, Satzinger, Jackson, & Burd Chapter 7 The Object-Oriented Approach to Requirements.
Unified Modeling Language. What is UML? Standard language for specifying, visualizing, constructing, and documenting the artifacts of software systems,
SWE 214 (071) Introduction to UML Slide 1 Introduction to UML.
Slide 1 Unified Modeling Language, Version 2.0 Object-Oriented SAD.
GOVT. ENGINEERING COLLEGE, AJMER. A SEMINAR PRESENTATION ON UNIFIED MODELING LANGUAGE(UML) SUBMITTED TO:-PRESENTED BY:- Dr. REENA DADHICHPALLAVI VASHISTHA.
Introduction to UML.
Systems Analysis and Design in a Changing World, Fourth Edition
Appendix 3 Object-Oriented Analysis and Design
Analysis Classes Unit 5.
UML Diagrams By Daniel Damaris Novarianto S..
Course Outcomes of Object Oriented Modeling Design (17630,C604)
Object-Oriented Analysis and Design
Chapter 11: Collaboration Diagram - PART1
Activity and State Transition Diagram
University of Central Florida COP 3330 Object Oriented Programming
UML Diagrams Jung Woo.
Business System Development
Requirements To Design In This Iteration
System Sequence Diagrams
Systems Analysis and Design With UML 2
CIS 375 Bruce R. Maxim UM-Dearborn
Software Design Lecture : 15.
Visual Modeling Using Rational Rose
CIS 375 Bruce R. Maxim UM-Dearborn
Appendix 3 Object-Oriented Analysis and Design
Presentation transcript:

Overview UML Extensions for Agents UML UML Agent UML (AUML) Agent UML (AUML) Agent Interaction Protocols Agent Interaction Protocols Richer Role Specification Richer Role Specification Package Extension Package Extension Deployment Diagram Extension Deployment Diagram Extension Conclusion Conclusion

UML Static models: class, package diagrams Static models: class, package diagrams Dynamic models: Dynamic models: Interaction diagrams (sequence and collaboration) Interaction diagrams (sequence and collaboration) State diagrams State diagrams Activity diagrams Activity diagrams Implementation models: component, deployment diagrams Implementation models: component, deployment diagrams Object constraint language (OCL) Object constraint language (OCL)

AUML: Agent UML Both FIPA and OMG are exploring and recommending extensions Both FIPA and OMG are exploring and recommending extensions to UML Applications: Applications: Specification of Agent Interaction Protocols (AIP) Specification of Agent Interaction Protocols (AIP) Richer role specification Richer role specification Package extension Package extension Deployment diagram extension Deployment diagram extension

Agent Interaction Protocols AIP describes a communication pattern as an allowed sequence of AIP describes a communication pattern as an allowed sequence of messages between agents and the constraints of the content of those messages. FIPA has specified many protocols FIPA has specified many protocols Request Protocol, Query Protocol, Request-when Protocol, Contract- net Protocol, Iterated-Contract-Net Protocol, Auction-English Protocol, Auction-Dutch Protocol Request Protocol, Query Protocol, Request-when Protocol, Contract- net Protocol, Iterated-Contract-Net Protocol, Auction-English Protocol, Auction-Dutch Protocol

FIPA Contract-net Protocol The manager solicits proposals from other agents by issuing a call for proposals, which specifies the task and any conditions the manager is placing upon the execution of the task. The manager solicits proposals from other agents by issuing a call for proposals, which specifies the task and any conditions the manager is placing upon the execution of the task. Agents receiving the call for proposals are viewed as potential contractors, and are able to generate proposals to perform the task as propose acts. Agents receiving the call for proposals are viewed as potential contractors, and are able to generate proposals to perform the task as propose acts. The contractor’s proposal includes the preconditions that the contractor is setting out for the task, which may be the price, time when the task will be done, etc. The contractor’s proposal includes the preconditions that the contractor is setting out for the task, which may be the price, time when the task will be done, etc. The contractor may refuse to propose. The contractor may refuse to propose.

FIPA Contract-net Protocol, Cont’d. The manager receives back replies from all of the contractors, The manager receives back replies from all of the contractors, evaluates the proposals and makes its choice of which agents will perform the task. One, several, or no agents may be chosen. The agents of the selected proposal(s) will be sent an acceptance message, the others will receive a notice of rejection. Once the manager accepts the proposal the contractor acquires a Once the manager accepts the proposal the contractor acquires a commitment to perform the task. Once the contractor has completed the task, it sends a completion message to the manager. The protocol requires the manager to know when it has received all replies. In the case that a contractor fails to reply with either a propose or a refuse, the manager may potentially be left waiting indefinitely. To guard against this, the cfp includes a deadline by which replies should be received by the manager. The protocol requires the manager to know when it has received all replies. In the case that a contractor fails to reply with either a propose or a refuse, the manager may potentially be left waiting indefinitely. To guard against this, the cfp includes a deadline by which replies should be received by the manager.

FIPA Notation

AUML Approach to Protocols AUML adopts a layered approach to protocols: AUML adopts a layered approach to protocols: Level 1 - Represent the overall protocol (sequence diagrams, packages, templates) Level 1 - Represent the overall protocol (sequence diagrams, packages, templates) Level 2- Represent interactions among agents (sequence, Level 2- Represent interactions among agents (sequence, collaboration, activity, state diagrams) Level 3- Represent internal Agent Processing (activity and state diagrams) Level 3- Represent internal Agent Processing (activity and state diagrams)

A Layered Approach to Protocols

Level 1: Overall protocol

Level 1: Overall Protocol (Packages) Packages aggregate modeling elements into conceptual wholes Packages aggregate modeling elements into conceptual wholes in UML 1.3 packages only group class diagrams in UML 1.3 packages only group class diagrams Protocols can be codified as patterns of agent interaction Protocols can be codified as patterns of agent interaction in AUML packages can group sequence diagrams (to model protocol patterns) in AUML packages can group sequence diagrams (to model protocol patterns)

Level 1: Using Packages to Express Nested Protocols Purchasing protocol (Broker X Retailer) Purchasing protocol (Broker X Retailer) Supplying protocol (Retailer X Wholesaler) Supplying protocol (Retailer X Wholesaler)

Level 1- Overall Protocol : Templates In order for a package to be a true pattern (not simply a reusable component) customization must be supported In order for a package to be a true pattern (not simply a reusable component) customization must be supported A template is a parameterized model element whose parameters are bound at model time A template is a parameterized model element whose parameters are bound at model time Represented by doted box in upper right corner of the package Represented by doted box in upper right corner of the package

Contract Net Protocol Level 1 Scenario Involving Buyers and Sellers

Level 2: Interactions Among Agents Extended sequence diagrams (concurrent threads of interaction) Extended sequence diagrams (concurrent threads of interaction) Collaboration diagrams Collaboration diagrams Activity diagrams Activity diagrams

Extended Sequence Diagrams The multiple vertical bars indicate that the receiving agent is processing several communication threads concurrently. The multiple vertical bars indicate that the receiving agent is processing several communication threads concurrently. ConcurrentCommunication

Extended Sequence Diagrams A decision box will decide which CAs (zero or more) will be sent. A decision box will decide which CAs (zero or more) will be sent. If more than one CA is sent, the communication is concurrent If more than one CA is sent, the communication is concurrent

Extended Sequence Diagrams Exclusive OR, so exactly one CA will be sent Exclusive OR, so exactly one CA will be sent

Extended Sequence Diagrams Expressing the roles an agent play: Agent/Role Expressing the roles an agent play: Agent/Role

Collaboration Diagrams Another way of showing pattern of interaction among agents Another way of showing pattern of interaction among agents

Activity Diagrams Provides an explicit thread of control Provides an explicit thread of control Useful for complex interaction protocols that involve concurrent Useful for complex interaction protocols that involve concurrentprocessing ECN: Electronic Commerce Network Agent

Internal Agent Processing Processing within an Order Processor agent

Internal Agent Processing Payment Receiver and Invoice Sender Agents

Other AUML Considerations Richer role specification Package extension Deployment diagram extension

Richer Role Specification Often we need to express the role an agent may play in the course of its interaction with other agents If the number of agent and roles increases, UML diagrams become graphically to complex

Agent/Role Extension Four agents playing 6 Roles: Customer, Negotiator, Contractor, Competitor Analyzer, Competitor, Debtor

Reducing Visual Complexity Each role with its own lifeline

Reducing Visual Complexity  Each agent with a single lifeline and each activation is labeled with the appropriate roll name

Role and Collaboration Diagrams  UML has no facility to represent agent roles on interaction lines  Labeling messages with the role

Role and Activity Diagram  Roles can be associated with activities

Role and Activity Diagram  Roles can be represented by notes

Package Extensions  The interface can be an agent itself

Deployment Diagram Extensions  Indication of mobility paths and at-home declarations

Conclusions  (A)UML provides tools for provides tools for Specifying agent interaction protocols Representing the internal behavior of an agent Representing role specification, packages with agent interfaces, deployment diagrams indicating mobility, etc.

References  James Odell, H. Van Dyke Parunak, Bernhard Bauer. Representing Agent Interaction Protocols in UML,  James Odell, H. Van Dyke Parunak, Bernhard Bauer. Extending UML for Agents,  James Odell, Conrad Bock. OMG document ad/ Suggested UML Extensions for Agents. Submitted to the OMG’s Analysis and Design Task Force (ADTF) in response to the Request of Information (RFI) entitled “UML2.0 RFI”. Dec  Bernhard Bauer. OMG document ad/ Extending UML for the Specification of Agent Interaction Protocols. FIPA submission to the OMG’s Analysis and Design Task Force (ADTF) in response to the Request of Information (RFI) entitled “UML2.0 RFI”. Dec