5. Introduction – our thinking
translate
Agent
Software
System
• Models are reused
Agent-oriented
Models
{Knowledge}
E.g.UMLmodels
XMLmodels
• Re-generation of the system is
not necessary
CASE
tool
Make
changes
6. 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
7. 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
9. i* - agent-oriented modelling
Actors are semi-autonomous, partially
knowable
Strategic actors, intentional dependencies
Meeting Scheduling ExampleMeeting Scheduling Example
“Strategic
Dependency”
Model
10. Analysis and Design of
Agent-Oriented Systems
e.g., Wooldridge Jennings Kinny (JAAMAS
2000) “GAIA”
Analysis level
Roles and Interactions
oPermissions
oResponsibilities
• liveness properties
• safety properties
oActivities
oProtocols
Design level
Agent types
Services
Modelling concepts
being driven from
programming
again?!!
• Structured Analysis
from Structured
Programming
• OOA from OOD, OOP
• AOA from AOP ??
11. What are the important concepts
for
Agent Orientation as a
Modelling Paradigm ?
Intentionality
Autonomy
Sociality
Identity & Boundaries
Strategic Reflectivity
Rational Self-Interest
12. Agent Orientation as a Modelling
Paradigm
Intentionality
Agents 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
13. Agent Orientation as a Modelling
Paradigm
Intentionality
Autonomy
An 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
14. Agent Orientation as a Modelling
Paradigm
Intentionality
Autonomy
Sociality
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
15. Agent Orientation as a Modelling Paradigm
Intentionality
Autonomy
Sociality
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 Reflectivity
Rational Self-Interest
16. Agent Orientation as a Modelling
ParadigmAutonomy
Intentionality
Sociality
Identity & Boundaries
Strategic Reflectivity
Agents 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
17. Agent Orientation as a Modelling
ParadigmIntentionality
Autonomy
Sociality
Identity & Boundaries
Strategic Reflectivity
Rational Self-Interest
An agent strives to meet its goals.
Self-interest is in a context of social relations.
Rationality is bounded and partial.
18. 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]
19. A stronger notion of agent
Another stronger notion assigns to the agent also
the following properties:
Mentalistic notions:
o Beliefs
o Desires
o Intentions
Emotional notions:
o Trust
o Friendship
o Suspiciousness
[Wooldridge et al, 1995]
20. 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.
21. 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.
22. 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 AOP
Basic 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, …
23.
24. 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.
25. 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 physicalFIPA (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, ...
26. 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
27. 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
28. Capabilities representation (1)
A capability is composed of the following parts:
Input
o What the agent must receive in input to achieve his task
Output
o What the capability generates as a result of the work
Input constraints
o Constraints that are expected to hold in the situation before the action specified by
the capability can be performed
Output constraints
o Constraints hat are expected to hold in the situation after the action specified by
the capability has been performed
Input-output constraints
o Constraints that must hold across input and output situations
Description
o A description in natural language of the capability
29. 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 defined
using OCL or simple
logic expressions
30. 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
31. 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
33. 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.
34. 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
35. 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
36. 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.
37. Roles management
UML sequence diagrams can be used to represent
changes in agents’ role.
38. Object role in AOP
Objects may always be included in an agent-oriented system
and can communicate with agents using message passing
methods.
39. 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
(www.csc.liv.ac.uk/~mjw/pubs/ker95/ker95-html.html)
[Shoham, 1993]
Y. Shoham
Agent-oriented programming
Artificial Intelligence
60(1):51-92
(http://www.ncat.edu/~esterlin/c7902s02/Notes/Shoham.pdf)
If you have several points, steps, or key ideas use multiple slides. Determine if your audience is to understand a new idea, learn a process, or receive greater depth to a familiar concept. Back up each point with adequate explanation. As appropriate, supplement your presentation with technical support data in hard copy or on disc, e-mail, or the Internet. Develop each point adequately to communicate with your audience.