Agent UML Stefano Lorenzelli

Slides:



Advertisements
Similar presentations
Intelligent Architectures for Electronic Commerce Part 1.5: Symbolic Reasoning Agents.
Advertisements

AOSE Agent-Oriented Programming. Introduction A class of programming language that often embodies the various principles proposed by theorists. –Many.
FIPA Interaction Protocol. Request Interaction Protocol Summary –Request Interaction Protocol allows one agent to request another to perform some action.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 12Slide 1 Software Design l Objectives To explain how a software design may be represented.
Overview UML Extensions for Agents UML UML Agent UML (AUML) Agent UML (AUML) Agent Interaction Protocols Agent Interaction Protocols Richer Role Specification.
Object-Oriented Analysis and Design
Specifying Agent Interaction Protocols with AUML and OCL COSC 6341 Project Presentation Alexei Lapouchnian November 29, 2000.
Introduction To System Analysis and Design
Developing MAS The GAIA Methodology A Brief Summary by António Castro and Prof. Eugénio Oliveira.
Software Testing and Quality Assurance
Web Ontology Language for Service (OWL-S). Introduction OWL-S –OWL-based Web service ontology –a core set of markup language constructs for describing.
COMP1007 Intro to Requirements Analysis © Copyright De Montfort University 2002 All Rights Reserved COMP1007 Intro to Requirements Analysis Object Oriented.
April 15, 2005Department of Computer Science, BYU Agent-Oriented Software Engineering Muhammed Al-Muhammed Brigham Young University Supported in part by.
HAS. Patterns The use of patterns is essentially the reuse of well established good ideas. A pattern is a named well understood good solution to a common.
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 8 Slide 1 System models.
Copyright 2004 Prentice-Hall, Inc. Essentials of Systems Analysis and Design Second Edition Joseph S. Valacich Joey F. George Jeffrey A. Hoffer Appendix.
SE-565 Software System Requirements More UML Diagrams.
Object-Oriented Analysis and Design
UI/UI PROTOTYPE GENERATION Sum Pham. C ONTENTS Framework overview Current approaches Introduce a model-driven user interface generation.
OO Analysis and Design CMPS OOA/OOD Cursory explanation of OOP emphasizes ▫ Syntax  classes, inheritance, message passing, virtual, static Most.
ARTIFICIAL INTELLIGENCE [INTELLIGENT AGENTS PARADIGM]
Practical Object-Oriented Design with UML 2e Slide 1/1 ©The McGraw-Hill Companies, 2004 PRACTICAL OBJECT-ORIENTED DESIGN WITH UML 2e Chapter 2: Modelling.
1COM6030 Systems Analysis and Design © University of Sheffield 2005 COM 6030 Software Analysis and Design Lecture 4 - System modelling Dr Richard Clayton.
1 CS 456 Software Engineering. 2 Contents 3 Chapter 1: Introduction.
Multi-Agent Systems University “Politehnica” of Bucarest Spring 2003 Adina Magda Florea
TC Methodology Massimo Cossentino (Italian National Research Council) Radovan Cervenka (Whitestein Technologies)
An Introduction to Software Architecture
Agent-Oriented Software Engineering CSC532 Xiaomei Huang.
Copyright 2001 Prentice-Hall, Inc. Essentials of Systems Analysis and Design Joseph S. Valacich Joey F. George Jeffrey A. Hoffer Appendix A Object-Oriented.
Copyright 2002 Prentice-Hall, Inc. Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich Chapter 20 Object-Oriented.
Argumentation and Trust: Issues and New Challenges Jamal Bentahar Concordia University (Montreal, Canada) University of Namur, Belgium, June 26, 2007.
METACASE. WHAT THIS PRESENTATION IS ABOUT  What’s META MODELING?  What’s METACASE?  METAEDIT+ 5.1 EVALUTION PROGRAM  Diagram and its kinds.
Travis Steel. Objectives What is the Agent Paradigm? What is Agent-Oriented Design and how is it different than OO? When to apply AOD techniques? When.
Introduction To System Analysis and Design
SOFTWARE DESIGN (SWD) Instructor: Dr. Hany H. Ammar
Programming in Java Unit 3. Learning outcome:  LO2:Be able to design Java solutions  LO3:Be able to implement Java solutions Assessment criteria: 
EEL 5937 Agent communication EEL 5937 Multi Agent Systems Lecture 10, Feb. 6, 2003 Lotzi Bölöni.
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.
1 Introduction to Software Engineering Lecture 1.
An Ontological Framework for Web Service Processes By Claus Pahl and Ronan Barrett.
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.
Verification of behavioural elements of UML models using B Truong, Ninh-Thuan and Souquieres, Jeanine In Proceedings of the 2005 ACM Symposium on.
Course Instructor: Kashif Ihsan 1. Chapter # 3 2.
Logical view –show classes and objects Process view –models the executables Implementation view –Files, configuration and versions Deployment view –Physical.
A Quantitative Trust Model for Negotiating Agents A Quantitative Trust Model for Negotiating Agents Jamal Bentahar, John Jules Ch. Meyer Concordia University.
OMT Modeling 1. Object Model : presented by the object model and the data dictionary. 2. Dynamic Model: presented by the state diagrams and event flow.
EEL 5937 Agent communication EEL 5937 Multi Agent Systems Lotzi Bölöni.
Lecture 9-1 : Intro. to UML (Unified Modeling Language)
Slide 1 Systems Analysis and Design With UML 2.0 An Object-Oriented Approach, Second Edition Chapter 2: Introduction to Object-Oriented Systems Analysis.
November 2003J. B. Wordsworth: J3ISDQR41 Information Systems Development Quality and Risk (4)
1 Unified Modeling Language, Version 2.0 Chapter 2.
Agent Overview. Topics Agent and its characteristics Architectures Agent Management.
Chapter 5 System Modeling. What is System modeling? System modeling is the process of developing abstract models of a system, with each model presenting.
Introduction to UML Hazleen Aris Software Eng. Dept., College of IT, UNITEN. …Unified Modeling Language.
CSCI 383 Object-Oriented Programming & Design Lecture 7 Martin van Bommel.
1 Kyung Hee University Interaction Diagrams Spring 2001.
Basic Characteristics of Object-Oriented Systems
ITEC1301 Object-Oriented Systems Construction Lecture Notes #4 1.
SECURE TROPOS Michalis Pavlidis 8 May Seminar Agenda  Secure Tropos  History and Foundation  Tropos  Basics  Secure Tropos  Concepts / Modelling.
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 14 Slide 1 Object-Oriented Design.
Real-Time Systems Laboratory Seolyoung, Jeong JADE (Java Agent DEvelopment framework )
Systems Analysis and Design With UML 2
Web Ontology Language for Service (OWL-S)
Chapter 20 Object-Oriented Analysis and Design
PASSI (Process for Agent Societies Specification and Implementation)
Presentation transcript:

Agent UML Stefano Lorenzelli

Summary  Introduction to agents  Agent-oriented programming  Introduction to Agent UML  Class Diagram  Interaction Diagram

What is an agent An agent is an hardware or software system placed in an environment that enjoys the following properties: oAutonomy oSocial ability oReactivity oProactivity [Wooldridge et al, 1995]

A stronger notion of agent Another stronger notion assigns to the agent also the following properties: Mentalistic notions: oBeliefs oDesires oIntentions Emotional notions: oTrust oFriendship oSuspiciousness [Wooldridge et al, 1995]

When agent notion is useful  The agent notion is adaptable to many HW and SW systems but it is particularly useful in such contexts where complexity is high enough to make the simple notion of object insufficient to describe the system.  The focus is on the behaviour of agents and not on the content of objects (attributes and methods).  Agent-oriented programming is at an abstraction level higher than object-oriented programming.

Agent-oriented programming (1)  Agent-oriented programming (AOP) is a specialisation of object-oriented programming (OOP) in the way the computational system is conceived: “The computational system is seen as composed of communicating modules, each with its own way of handling messages.” [Shoham, 1993]  The (mental) state of modules (agents) consists of components such as beliefs, capabilities and intentions.

Agent-oriented programming (2)  A computation consists of agents that: Inform other agents about facts Offer and request services Accept or refuse proposals Compete for accessing shared resources Collaborate for achieving common goals OOPAOP Basic unitObjectAgent Parameters defining state of basic unit UnconstrainedBelief, commitments, chioces, … Process of computationMessage passing and response methods Types of messagesUnconstrainedInform, request, offer, promise, decline Constraints on methodsNoneHonesty, consistency, …

What is Agent UML  Agent UML is a support notation for agent-oriented systems development.  It consists in using the UML modeling language and extending it in order to represent agents, their behaviour and interactions among them.  AUML is not restricted to using UML. Other approaches should be used wherever it makes sense.

Who is interested in AUML  OMG Special Interest Group:  OMG Special Interest Group: recommends standards for agent technology where appropriate (  FIPA Modeling Technical Commitee:  FIPA Modeling Technical Commitee: tasked with developing an AUML standard (  Other methodologies:  Other methodologies: MESSAGE, Gaia, Tropos, Prometheus, MaSE,...

Common features of agents Agents share some common characteristics: Identifier identifies each agent in a multiagent system Role defines the behaviour of an agent into the society (es. Seller, Buyer) Organization defines the relationships between the roles (similar to human or animal organizations such as hierarchies, markets, groups of interest or herds) Capability specifies what an agent is able to do and under what conditions Service describes an activity that an agent can perform and is provided to other agents

Representation of agents  UML Class Diagrams can be used to represent the static view of agents. > agent-name Role role 1, role 2, …, role n role dynamic 1, role dynamic 2, …, role dynamic n Organization organization 1, organization 2, …, organization n org dynamic 1, org dynamic 2, …, org dynamic n

Capabilities representation (1)  A capability is composed of the following parts: Input oWhat the agent must receive in input to achieve his task Output oWhat the capability generates as a result of the work Input constraints oConstraints that are expected to hold in the situation before the action specified by the capability can be performed Output constraints oConstraints hat are expected to hold in the situation after the action specified by the capability has been performed Input-output constraints oConstraints that must hold across input and output situations Description oA description in natural language of the capability

Capabilities representation (2) > addition Input x,y:Integer Output s:Integer Description This capability makes the sum of two integers and returns an integer > sum Role addition, subtraction rd 1 Organization calculator Protocol enter-society, exit-society compute > subtraction Input x,y:Integer Output d:Integer Input Constraint x>=0, y>=0 Input-Output Constraint x-y >=0 Description This capability makes the difference of two integers and returns an integer Example of capability representation: The agent ‘sum’ has two capabilities expressing the fact that he is able to make additions and subtractions They can be defined using OCL or simple logic expressions

Service representation (1)  A service is composed of the following parts: Name The name of the service Description A description in natural language of the service Type The type of the service Protocol A list of interaction protocols supported by the service Agent communication language The communication languages used in this service Ontology A list of ontologies supported by the service Content language A list of content languages supported by the service Properties A list of properties that discriminate the service

Service representation (2) > sum Role addition, subtraction rd 1 Organization calculator Protocol enter-society, exit-society compute > computation Description This service makes an addition when requested by the request addition protocol and makes a subtraction when requested by the request- subtraction protocol Type computation Protocol request-addition request-subtraction Agent Communication Language FIPA ACL Ontology computation ontology Content Language FIPA SL Example of service representation: The agent ‘sum’ exports a service that makes additions and subtractions on demand

Representing interactions  Agent interactions can be represented in UML standard using sequence diagrams

Concurrent interactions (1)  UML has been extended in order to represent concurrent communication acts sent from the sender agent to the receiver. a) Concurrent communication acts from CA-1 to CA-n are sent in parallel. b) A selection of the n acts is sent in parallel (zero or more). c) Exclusive choice: only one of the communication acts is sent.

Concurrent interactions (2)  a) An agent sends 3 concurrent CA to another agent. The diagram can be interpreted in two different ways: Every CA is processed from the same agent/role by a different thread of execution Every CA is processed by a different role of the agent (in this case mesages can be annotated specifying the role)  b) The same semantic of (a) but with a simpler notation  c) Choice from three different communication act received by three different threads (or roles)  NOTE: each concurrent CA can be sent to different agents

Example of interaction  The Buyer sends a request-for- proposal to the Seller  The Seller has three options to choose within the deadline: make a proposal refuse (with different reasons) say he did not understand  If the Seller has made a proposal, the Buyer has the choice to reject or to accept it  If the last is the case, the Seller schedules the proposal informing the Buyer about its the state  The Buyer can cancel the proposal execution at any time

Detailing interaction messages  Any interaction process can be expressed in more detail.  The “leveling” can continue down until the problem has been specified adequately to generate code.  Also activity diagrams and statecharts can be used.

Roles management  UML sequence diagrams can be used to represent changes in agents’ role.

Object role in AOP  Objects may always be included in an agent-oriented system and can communicate with agents using message passing methods.

References (1)  Agents [Wooldridge et al, 1995] Wooldridge and Jennings Intelligent Agents: Theory and Practice Knowledge Engineering Review Volume 10 No 2, June 1995 Cambridge University Press ( [Shoham, 1993] Y. Shoham Agent-oriented programming Artificial Intelligence 60(1):51-92 (

References (2)  Agent UML