Agent uml
-
Upload
binod-rimal -
Category
Technology
-
view
157 -
download
1
Transcript of Agent uml
Introduction – traditional approach
Software Engineers make changes
SoftwareSystem
{Knowledge}
Code
Software Engineers
RequirementsModels
DesignModels
…
E.g
. UM
L m
odel
s
Make changes
SoftwareSystem
Auto-generate
Models
{Knowledge}
E.g
. UM
L m
odel
s
• Models are reused
Introduction – current thinking
Introduction – our thinking
translateAgent
SoftwareSystem
• Models are reused
Agent-oriented Models
{Knowledge}
E.g
. UM
L m
odel
s
XM
L m
odel
s
• Re-generation of the system is not necessary
CASE
tool
Make changes
The Changing Needs of Requirements Modelling
1. Technology as enabler Goals are discovered; may be bottom-up
2. Networked systems and organizations Composite systems, but dispersed, fluid, contingent, ephemeral Same for responsibilities, accountability, authority, ownership,…
3. Increased inter-dependency and vulnerability Dependencies among stakeholders (inc. system elements) Impact of changes
4. Limited knowledge and control No single designer with full knowledge and control
5. Openness and uncertainties Can’t anticipate all eventualities / prescribe responses in advance
6. Cooperation Beyond vocabulary of “interaction” (behavioural) Reason about benefits of cooperation – goals, beliefs, conflicts
Requirements can be organised around agents. Agents are responsible for realising the requirements.
Agent is the container and business rule is the knowledge to fill the container in the requirements model.
Agent and business rule complements each other in the implementation: the former is the actor, the latter guides it and dictates the role that it plays.
The mapping from requirements to implementation for both the agent and the business rule brings traceability.
Two additional model element – agent
supports realises
is_responsible_for
consists_of
plays
Human Agent Business Role
Business Rule
Business Function
collaborates_with
Business Agent
Software Agent
Business Process
Business Goal
Business Class
contributes_to
Sub-Goal
relates_with
participates_in
Agents play business roles, their behaviour is dictated by business rules and functions
Agents collaborate to realise business goals by participating in business processes
Business rules and functions support business goals
Meta-modelBusiness rules and functions represent functional requirements. They become agent behaviour and class method respectively. Classes are managed by agents, and rules are configured for the invocation of methods.
i* - agent-oriented modellingActors are semi-autonomous, partially
knowableStrategic actors, intentional dependencies
Meeting Scheduling Meeting Scheduling ExampleExample
“Strategic Dependency” Model
Analysis and Design of Agent-Oriented Systemse.g., Wooldridge Jennings Kinny (JAAMAS 2000) “GAIA”Analysis level
Roles and InteractionsoPermissionsoResponsibilities
• liveness properties
• safety properties
oActivities oProtocols
Design level Agent types Services Acquaintances
Modelling concepts being driven from programming again?!!
• Structured Analysis from Structured Programming
• OOA from OOD, OOP
• AOA from AOP ??
What are the important concepts forAgent Orientation as a Modelling Paradigm ?
Intentionality
Autonomy
Sociality
Identity & Boundaries
Strategic Reflectivity
Rational Self-Interest
Agent Orientation as a Modelling Paradigm
IntentionalityAgents are intentional.Agent intentionality is externally attributed by the
modeller.Agency provides localization of intentionality.
Agents can relate to each other at an intentional level.Autonomy
Sociality
Identity & Boundaries
Strategic Reflectivity
Rational Self-Interest
Agent Orientation as a Modelling Paradigm
Intentionality
AutonomyAn agent has its own initiative, and can act
independently. Consequently, for a modeller and from the viewpoint of other agents:o its behaviour is not fully predictable. o It is not fully knowable, o nor fully controllable.
The behaviour of an agent can be partially characterized, despite autonomy, using intentional concepts.
Sociality Identity & Boundaries Strategic Reflectivity Rational Self-Interest
Agent Orientation as a Modelling Paradigm
IntentionalityAutonomySociality
An agent is characterized by its relationships with other agents, and not by its intrinsic properties alone.
Relationships among agents are complex and generally not reducible.
Conflicts among many of the relationships that an agent participates in are not easily resolvable.
Agents tend to have multi-lateral relationships, rather than one-way relationships.
Agent relationships form an unbounded network Cooperation among agents cannot be taken for granted. Autonomy is tempered by sociality.
Identity & Boundaries Strategic Reflectivity Rational Self-Interest
Agent Orientation as a Modelling Paradigm
IntentionalityAutonomySociality Identity & Boundaries
Agents can be abstract, or physical.The boundaries, and thus the identity, of an agent are
contingent and changeable.Agent, both physical and abstract, may be created and
terminated.Agent behaviour may be classified, and generalized.
Strategic ReflectivityRational Self-Interest
Agent Orientation as a Modelling Paradigm
Autonomy
Intentionality
Sociality
Identity & Boundaries
Strategic ReflectivityAgents can reflect upon their own operations.Development world deliberations and decisions are
usually strategic with respect to the operational world.The scope of reflectivity is contingent.
Rational Self-Interest
Agent Orientation as a Modelling Paradigm
Intentionality
Autonomy
Sociality
Identity & Boundaries
Strategic Reflectivity
Rational Self-InterestAn agent strives to meet its goals.Self-interest is in a context of social relations.Rationality is bounded and partial.
What is an agent
An agent is an hardware or software system placed in an environment that enjoys the following properties:
oAutonomyoSocial abilityoReactivityoProactivity
[Wooldridge et al, 1995]
A stronger notion of agent
Another stronger notion assigns to the agent also the following properties:
Mentalistic notions:
o Beliefso Desireso Intentions
Emotional notions:o Trusto Friendshipo Suspiciousness
[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
OOP AOPBasic unit Object Agent
Parameters defining state of basic unit
Unconstrained Belief, commitments, chioces, …
Process of computation Message passing and response methods
Message passing and response methods
Types of messages Unconstrained Inform, request, offer, promise, decline
Constraints on methods None Honesty, 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 (www.omg.org)
FIPA (Foundation for intelligent physical FIPA (Foundation for intelligent physical Agents)Modeling Technical Commitee:Agents)Modeling Technical Commitee: tasked with developing an AUML standard (www.auml.org)
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>> 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:
Inputo What the agent must receive in input to achieve his task
Outputo What the capability generates as a result of the work
Input constraintso Constraints that are expected to hold in the situation before the action specified by
the capability can be performed
Output constraintso Constraints hat are expected to hold in the situation after the action specified by
the capability has been performed
Input-output constraintso Constraints that must hold across input and output situations
Descriptiono A description in natural language of the capability
Capabilities representation (2)
<<capability>> addition
Input
x,y:Integer
Output
s:Integer
Description
This capability makes the sum of two integers and returns an integer
<<agent>> sum
Role
addition, subtraction
rd 1
Organization
calculator
Protocol
enter-society, exit-society
compute
<<capability>> 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 definedusing OCL or simplelogic 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)
<<agent>> sum
Role
addition, subtraction
rd 1
Organization
calculator
Protocol
enter-society, exit-society
compute
<<service>> 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.
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 JenningsIntelligent Agents: Theory and PracticeKnowledge Engineering ReviewVolume 10 No 2, June 1995Cambridge University Press(www.csc.liv.ac.uk/~mjw/pubs/ker95/ker95-html.html)
[Shoham, 1993]Y. ShohamAgent-oriented programmingArtificial Intelligence60(1):51-92(http://www.ncat.edu/~esterlin/c7902s02/Notes/Shoham.pdf)