Agent - Department of Computer Science

Extending UML for Agents and Goals: A Tutorial
on Multi-Agent Systems
Manuel Kolp
University of Louvain
Why Agent-Oriented Software?

Next generation software engineering will have to support open,
dynamic architectures where components can accomplish
tasks in a variety of operating environments.

Consider application areas such as eBusiness, application
service provision, pervasive or P2P computing.

These all call for software components that find and compose
services dynamically, establish/drop partnerships with other
components and operate under a broad range of conditions.

Learning, planning, communication and negotiation become
essential features for such software components.
... agents!
Manuel Kolp
Extending UML for Agent Systems 2
What is an Agent?

A person, an organization, certain kinds of software.
– Autonomous, pro-active, goal, knowledge oriented,
adaptative
– with/in its environment  Intelligence

An agent has beliefs, goals (desires), intentions.

Agents are situated, autonomous, flexible, and social.

Human/organizational agents can’t be prescribed, they can
only be partially described.
Manuel Kolp
Extending UML for Agent Systems 3
Why Worry About Human/Organizational Agents?

Because their goals lead to software requirements, and these
influence the design of a software system.

Note the role of human/organizational agents in OOA, e.g., use
cases.

Also note the role of agents in up-and-coming requirements
engineering techniques such as KAOS [Dardenne93].

In KAOS, requirements analysis begins with a set of goals; these
are analysed/decomposed to simpler goals which either lead to
software requirements, or are delegated to external agents.
Manuel Kolp
Extending UML for Agent Systems 4
A Social Computing Paradigm

Software Agent
– Implemented with/in software technologies
– Environment : humans, machines, other agents, platforms.
– To be completely specified during implementation.

Beliefs correspond to (object) state, intentions constitute a runtime concept. For design-time, the interesting new concept
agents have that objects don’t have is...
...goals!
Multi-agent system: societies of individuals to achieve
particular, possible common goals.
Manuel Kolp
Extending UML for Agent Systems 5
Agent: Individual Characteristics

Autonomous
– Without direct external intervention.

Mobile
– To transport itself from one environment to another.

Unpredictable
– To act in not predictable ways, even if the initial conditions are known

Rugged
– To deal with errors and incomplete data robustly.
Manuel Kolp
Extending UML for Agent Systems 6
Agent: Social Characteristics

Interactive
– To communicate with the environment and other agents.

Adaptive
– capable of responding to other agents and/or its environment.

Sociable
– To act in as a representative of some entity.

Proactive
– goal-oriented, purposeful. Does not simply react to the environment.
Manuel Kolp
Extending UML for Agent Systems 7
Agent: Social Characteristics

Coordinative
– To perform activities in a shared environment with other agents.

Cooperative
– To coordinate with other agents to achieve a common purpose;
succeed or fail together.

Competitive
– Antisocial Agent : maximizes his absolute profit; eliminates
conccurrents at a minimal cost
Manuel Kolp
Extending UML for Agent Systems 8
Agent: Rationale Characteristics

Intelligence for Agent
– Knowledge (B.R.I.D.G. : beliefs, resources, intentions, desires, goals)
– Communicate with symbolic language
 The
Belief-Desire-Intention (BDI) agent model from philosophy and
cognitive science.
–An agent has beliefs about the world and desires to satisfy, driving it
to form intentions to act.
–Mental states of an agent.
Manuel Kolp
Extending UML for Agent Systems 9
Inside the BDI Model
Human
Beliefs - perceived
understanding
of the world
Goals or desires
Agent - Belief, Desire, Intentions
Beliefs - database
of perceived
world knowledge
Goals or Desires
Execution
Engine
Intentions -executing
plans
Accumulated behaviours
Manuel Kolp
Pre-compiled plans
Extending UML for Agent Systems 10
Example: Agents at Work
Goal/Desire/Need
Contextual Beliefs
Manuel Kolp
New Beliefs/Facts
Running Plan/Intention
Extending UML for Agent Systems 11
Scenario for Office Supplying

A company that needs to order paper supplies enlist
agents to monitor the quantity and usage patterns
of paper in the company, launching buying agents
when supplies are low.

Buying agents automatically collect information on
vendors and products that may fit the needs of the
company, evaluate the offerings, make a decision on
which merchants and products to investigate,
negotiate the transactions with the merchants, and
finally place orders and make automated payments.
In Pattie Maes, Robert H. Guttman, and Alexandros G. Moukas, Agents
that buy and sell, Communications ACM, March 1999/Vol. 42, No. 3
Manuel Kolp
Extending UML for Agent Systems 12
Agents @ Microsoft (.NET project)

Après vingt ans, les ordinateurs personnels ont été rejoints par une myriade
d'engins - les ordinateurs de poche, les téléphones portables, les messagers
sans fil... - que Microsoft se fait fort d'interconnecter.

L'idée force : ramener cette galaxie de gadgets sous un seul contrôle - celui du
consommateur individuel, qui pourra décliner à sa guise ses « rôles » (vie
privée, vie professionnelle) en un seul système. Les premiers exemples : passer
d'avance sa commande type à sa chaîne de restauration rapide favorite pour
éviter la file, conjuguer les fichiers du calendrier personnel et du carnet
d'adresses téléphoniques pour faire suivre, selon un ordre de priorité à choisir,
certains appels téléphoniques quand on n'est pas à son poste habituel.

Chaque individu contrôlera souverainement l'usage de ses données
personnelles, promet Dan'l Lewin (chargé du projet « .NET », la plate-forme
d'interconnexion universelle de Microsoft).
Le Soir 11/08/2001 and Bill Gates, Keynotes Address, 17th International Joint Conference
on Artificial Intelligence August 2001, Seattle, USA
Manuel Kolp
Extending UML for Agent Systems 13
Mobile Agent on the Internet
Manuel Kolp
Extending UML for Agent Systems 14
User Assistance

The animated help characters in
Microsoft Office products.

Use bayesean networks to analyze
and predict possible topics that the
user may need help with.
– Bill Gates, Keynotes Address, 17th
International Joint Conference on
Artificial Intelligence August 2001,
Seattle, USA
Manuel Kolp
Extending UML for Agent Systems 15
Foreign Exchange Market
L'euro a également succombé aux programmes de
vente automatiques des institutions financières: les
grands acteurs du marché des changes (banques,
fonds, etc.) utilisent en effet des programmes dits
“agents intelligents” qui déclenchent automatiquement
un ordre de vente dans certaines conditions. Il semble
que ces programmes se soient déclenchés ce mercredi
matin à Londres après que l'euro a touché plusieurs fois
le seuil des 88,51 cents , explique un cambiste
allemand.
– from Le Soir 09/07/2000
Manuel Kolp
Extending UML for Agent Systems 16
Searching the Web : bots, engines, crawler
The original Lycos spiders have evolved into a
multiagent system of cooperating components that
can visit and analyze more than 10,000,000 Web
pages each day.
– In Richard Green and Sangam Pant, Multiagent Data Collection in
Lycos, Communication of the ACM, March 1999/Vol. 42, No. 3

Manuel Kolp
Alltheweb, Altavista, Yahoo, Hotbot, Google
Extending UML for Agent Systems 17
Searching the Web : bots, engines, crawler
Manuel Kolp
Extending UML for Agent Systems 18
Technical E-Support
Date: Sat, 17 Feb 2001 23:32:27 -0500
From: [email protected]
To: [email protected]
Subject: #3OT##01# Case #: 200121712300 - Monitor #APTX#
X-Mailer: Aptex Software SelectResponse
X-MIME-Autoconverted: from 8bit to quoted-printable by smtp6.us.dell.com
Thank you for contacting Dell US eSupport Services,
This first response to your request will be conducted by an artificial intelligence tool
designed to provide you with the fastest possible quality support. If the Automated
Response does not answer your question, please look at the bottom of this email for
further instructions on how to contact us about this issue.
((SRMACSR video:VideoCards_Mob01042001 SRMACSR))
((SRCATSR D_M.Bad.Pixel SRCATSR))
--- Dell Automated Technical Assistant response --Manuel Kolp
Extending UML for Agent Systems 19
Pricebots

Dynamically set prices of products in a dynamic environment

Intention: Maximize long term profit

Desires: Optimize local price

Beliefs:
– Competitor prices
BDI Model
– Buyer behavior model
– Competitor behavior model

Barnesandnoble.com, Chapters.com, Borders.com
Manuel Kolp
Extending UML for Agent Systems 20
Pricebots
Manuel Kolp
Extending UML for Agent Systems 21
Bargain Finders
Capture shoppers’
preferences
for
price and a limited
set of products
Returns a list of
product
offerings
differentiated
by
price.
Jango.exite.com
Manuel Kolp
Extending UML for Agent Systems 22
Recommendations/Notifications (E-mail)
Manuel Kolp
Extending UML for Agent Systems 23
Key Concepts for E-commerce Agents
Customer
Agent
Business
User Profile
Profile Manager
E-mail
Notifications
Zip, age,
gender,
purchase
history,
preferences,
interests,
needs, …
Match Profile with Catalog to
offer personalized experience
Catalog
Item 1
Item 2
Item 3
…
Predictions on profile & «business
intelligence», (data-mining, CRM)
OR
Match Extract Information from multiple sites about products user wants
Manuel Kolp
Extending UML for Agent Systems 24
Other Agents for Organizations Management
– Nomadic Computing (SUN, Lotus, Oracle)
– Datawarehouse, Data Mining, CRM (Oracle, Informix)
– Call Centers, Internet Routing (Bell, AT&T, CISCO, Juniper)
– Knowledge Management (Ernst & Young)
– Information Management (Digital)
– Groupware, Workflow (Lotus, IBM)
– Personal schedule management (Qualcomm)
– E-trading (Bank of Montreal)
– E-Brokering (Amazon, Barnes & Noble, Ebay, Andersen Consulting)
– Role and personnel management (PeopleSoft)
– Enterprise Resource Planning (Baan)
– Peer 2 Peer (Napster, Gnutella Protocols)
–…
Manuel Kolp
Extending UML for Agent Systems 25
Life Cycle

1. Early requirements: understanding a problem by studying an
organizational setting; output : organizational model with relevant
actors, their goals and inter-dependencies

2. Late requirements: system-to-be described within
operational environment, with relevant functions and qualities

3. Architectural design: global architecture defined in terms of
interconnected subsystems

4. Detailed design: behavior of each architectural component
defined in detail

5. Implementation: system implementation carried out consistently
with detailed design
Manuel Kolp
its
Extending UML for Agent Systems 26
The Tropos Project
Agent-oriented
programming
i*
TROPOS
GAIA
KAOS
Z
AUML
!! The GAP !!
Manuel Kolp
UML, Catalysis & Co.
Extending UML for Agent Systems 27
The TROPOS Ontologies

(Formal) Specification of a conceptualization (= conceptual model)
– Social -- the actors, their needs, obligations, capabilities
– Intentional -- the relevant goals, how do they interrelate?
How are they being met, and by whom?
– Communicational -- how the actors dialogue with each other?
– Process-oriented -- the relevant business processes
– Structural -- the actors structuredwith their inter-relationships
Manuel Kolp
Extending UML for Agent Systems 28
Example: A User 2 On-line Buying System

Media taxonomy
– on-line catalog
– DBMS

E-Shopping Cart
– Check In
– Buying
– Check Out

Search Engine
– catalog browser
– Keywords
– full-text

Billing Processor
– $ transactions
– orders

Multimedia
– description
– samples
Manuel Kolp
Extending UML for Agent Systems 29
1. Early Requirements Analysis with TROPOS

Understanding the problem by studying an organizational setting;

Organizational model with relevant actors and respective goals.

i* [Yu95]

Running Example: A Business to Consumer System
Goals are relative, fulfillment is collaborative !!
Manuel Kolp
Extending UML for Agent Systems 30
Insurance Company
Maximize
profits
Customer
Car
repaired
Manuel Kolp
Insurance
Company
Customer
happy
Settle
claim
Extending UML for Agent Systems 31
The Strategic Dependency Model

Focus on social dependencies among actors rather than only
actor goals, actions etc.

Actors have goals, need tasks be carried out and resources to
be made available;

Dependencies define social & intentional relationships among
actors, where one actor depends on another to satisfy a goal or
satisfice a softgoal, execute a process or furnish a resource;

Dependencies can be goal dependencies, task dependencies,
resource dependencies or soft goal dependencies

Softgoals are distinguished from goals because they do not
have a formal definition, and are amenable to a different (more
qualitative) kind of analysis (not well-defined).
Manuel Kolp
Extending UML for Agent Systems 32
Four Kinds of Social Dependencies
Goal
Task
Manuel Kolp
Resource
Softgoal
…
Social
Dependency
Extending UML for Agent Systems 33
An Insurance Example
D
D
Customer
happy Appraise
damages
D
Fair repair
appraisal
D
D
Resource
Task
Softgoal
Secure
employment
D
Goal
Minimize
repairs
D
Continue
business
D
D
Appraiser
D
Owner
Repairs
covered
D
D
Insurance
Company
D
Premium
payment
D
D
Manuel Kolp
D
Maximize
estimate
D
D
Pay
repairs
D
D
D
Car
repaired
D
D
Body
Shop
Claims
payout
D
Extending UML for Agent Systems 34
Tasks vs Goals

Tasks are processes actors perform to fulfill goals.

In general, there will be many alternative tasks (possibly by
different actors) for fulfilling a goal.

When actors are assigned goals, they are (or, ought to be) able to
fulfil them by carrying out one or more tasks, and/or through
delegation to other actors.

A delegated goal may not be achievable by the dependee actor
(who is supposed to achieve it); in this case, the depender actor
has to look for an alternative solution.
Manuel Kolp
Extending UML for Agent Systems 35
Softgoals

Functional goals, such as “Handle Customers Orders” : well defined
goals in the sense that they admit a formal definition.

Not all goals are functional.

“Increase Market Share”, “Happy Customers” or “Easily Adaptable
System” : qualities that the software system should adhere to.

Non functional Goals: softgoals, “fuzzy goals” (clouds) with no clearcut
criteria for satisfaction;

Hence softgoals are satisficed, not satisfied.

How well the system accomplishes its functions
Manuel Kolp
Extending UML for Agent Systems 36
Extending UML using Stereotypes
<<softgoal dependency>>
Increase Market Share
<<resource dependency>>
Media Items
<<task dependency>>
Consult Catalogue
<<i* actor>>
<<i* actor>>
<<goal dependency>>
Buy Media Items
Customer
<<goal dependency>>
Continuous Supply
Media Shop
<<softgoal dependency>>
Happy Customers
Manuel Kolp
<<i* actor>>
<<i* actor>>
<<softgoal dependency>>
Quality Packages
Media Supplier
Media Producer
<<softgoal dependency>>
Long Term Business
Extending UML for Agent Systems 37
Formal Analysis and Model-Checking
Entity MediaItem
Attribute constant itemType : ItemType, price : Amount, InStock : Boolean
Dependency BuyMediaItems
Type goal
Mode achieve
Depender Customer
Dependee MediaRetailer
Attribute constant item : MediaItem
Fulfillment condition for depender
media : MediaItem(self.item.type  media.type  item.price  media.price)
[the customer expects to get the best price for the type of item]
Dependency ContinuousSupply
Type goal
Mode maintain
Depender MediaRetailer
Dependee MediaSupplier
Attribute constant item : MediaItem
Fulfillment condition for depender
buy : BuyItem(JustCreated(buy)  buy.item.inStock)
[the media retailer expects to get items in stock as soon as someone is interested to buy them]
Manuel Kolp
Extending UML for Agent Systems 38
Dynamics Specification
Proc checkOutCatalogueConsultation(catalogue)
< catalogue : failed(catalogue)  closeCatalogue(catalogue) >

( < cancelConsultation  reinitializeCatalogue(catalogue) >
||
< timeout  90  reinitializeCatalogue(catalogue) >
)

< catalogue : InProcessConsultation  StopConsultation
 closeCatalogue(catalogue) >
EndProc
Manuel Kolp
Extending UML for Agent Systems 39
Strategic Rationale Model

Graph with four main types of nodes -- goal, task, resource, and
softgoal -- and two main types of links -- means-ends links and
process decomposition links.

Describes the criteria in terms of which each actor selects among
alternative dependency configurations.

Means-ends relate goals to tasks that can satisfy these goals:
“Given goal (end) G, how can I decompose it (means) in order to
find a way to fulfill it”.

Task decomposition links relate tasks to other component tasks

Tasks can also be decomposed to goals.
Manuel Kolp
Extending UML for Agent Systems 40
Functional Alternatives: Insurance Example
alternative
one
Verify
policy
alternative
three
Handle
claim centrally
Prepare
offer
Manuel Kolp
Claim be
settled
Agent
handles claim
alternative
two
Body Shop
handles claim
Extending UML for Agent Systems 41
Strategic Rationale Model: Insurance
Claims
Handling
Actor
boundary
Get accident
info
Handle
claim
Verify
policy
Settle
claim
Prepare
offer
Determine
fault
Whose
fault?
Settlement
cost?
Determine
cost to settle
Insurance
Company
D
Minimal
repairs
D
D
D
D
Manuel Kolp
D
Witness
Appraise
damage
D
D
Doctor
D
Injury
info
D
Sufficient
treatment
D
Police
Accident
info
Appraiser
Extending UML for Agent Systems 42
Rationale View: E-business example
Manuel Kolp
Extending UML for Agent Systems 43
2. Late Requirements (Strategic Relationships)
”Organizational
Map”
Functions and qualities for the system
within its environment
Late Requirements - System Rationale Model
”Rationale Map”
Medi@
Goal-Oriented Analysis

Goal-oriented analysis focuses on early requirements analysis
phases, when alternatives are being explored and evaluated.

During goal-oriented analysis, we start with initial goals such as
“Higher profits”, “Faster time-to-market”, “Schedule meeting”,
“Easily maintainable system”, “Good performance” etc. and keep
decomposing them until we have reduced them to alternative
collections of design decisions each satisfying the initial goals.

Initial goals may be organization oriented; they may also be
conflicting, so the analysis must facilitate the discovery of
tradeoffs and the search of the full space of alternatives, rather
than a subset.
Manuel Kolp
Extending UML for Agent Systems 46
The NFR framework : Building Goals Models

To arrive at a more qualitative framework for modeling goals, we
also need to extend the set of relationships between goals beyond
means-ends links:

• + (++): one goal contributes positively (very positively) towards
the fulfillment of another goal;

• - (--) one goal contributes negatively (very negatively) towards
the fulfillment of another goal;

sub: one goal subsumes another, I.e., if the first goal is fulfilled, so
is the second;

With these enhancements, we can build goal models which might
be useful for strategic decision analysis
Manuel Kolp
Extending UML for Agent Systems 47
Availability
Minimal
effort
Rapidity of
Order
Minimal
Interaction
Minimal
conflicts
Matching
effort
Collection
effort
-
+
+
+
-
++
… Goal Analysis
Handle Customer
Order
-
Collect
orders
++
By
person
By
system
Selected
Items
Manually
Automatically
By phone By
Fax
Manuel Kolp
Have
updated
invoices
With Shopping Cart
Extending UML for Agent Systems 48
Leaving Goals Dependencies is a Novelty

Goals and Softgoals generally operationalized/metricized during
Late Requirements (e.g. KAOS – van Lamsweerde 93)

Ex. : Security operationalized by interfaces which minimize
input/output or access restriction to sensitive information.

Steps through which goals are to be fulfilled are frozen in the
requirements

Systems fragile and less reusable.

Whenever there
modularity
Manuel Kolp
is
a
need
for
flexibility,
reusability,
Extending UML for Agent Systems 49
From i* to Agent Concepts
3. Architectural Design

Architecture in terms of interconnected social components.

3 levels
– 1 Macro level : Organizational Styles (Organization Theory)
• Vertical Integration, Pyramid, Joint Venture, Structure in 5,
Bidding, Hierarchical Contracting, Co-optation, Takeover
– 2 Micro level : Patterns (Agent, COOPIS Community)
• Broker, Matchmaker, Contract-Net, Mediator, Monitor,
Embassy, Wrapper, Master-Slave, ...
– 3 Atomic : Social and intentional concepts – i*
Manuel Kolp
Extending UML for Agent Systems 51
Organization Styles for Architecture

Organization Theory, Strategic Alliances, …

Mintzberg, Scott, Galbraith, …

Studies alternatives and models for (business) organizations

Model the coordination of business stakeholders -- individuals,
physical or social systems -- to achieve common (business) goals.
Manuel Kolp
Extending UML for Agent Systems 52
Structure in 5

Operational core : basic operations -- the input, processing,
output associated with running the organization.

Strategic apex : executive, strategic decisions.

Support : Assists the operation core for non-operational services
outside the basic flow of operational procedures.

Technostructure : standardizes the behavior of other
components, help the system adapt to its environment.

Middle line : Actors who join the apex to the core.
Manuel Kolp
Extending UML for Agent Systems 53
Structure in 5 in i* and Telos metaconcepts
TELL CLASS StructureIn5MetaClass
IN Class WITH
/*Class is a MetaMetaClass*/
attribute
name: String
part, exclusivePart, dependentPart
ApexMetaClass: Class
CoordinationMetaClass: Class
MiddleAgencyMetaClass: Class
SupportMetaClass: Class
OperationalCoreMetaClass: Class
END StructureIn5MetaClass
In i*
Manuel Kolp
In Telos
Extending UML for Agent Systems 54
Joint Venture in i* and Telos metaconcepts
TELL CLASS JointVentureMetaClass
IN Class WITH
/*Class is a MetaMetaClass*/
attribute
name: String
part, exclusivePart, dependentPart
JointManagementMetaClass: Class
part, exclusivePart
/*exclusive and independent part*/
PrincipalPartnerMetaClass: Class
part
/*shared and independent part*/
SecondaryPartnerMetaClass: Class
END JointVentureMetaClass
In Telos
Manuel Kolp
Extending UML for Agent Systems 55
Hierarchical Contracting and Vertical Integration
Manuel Kolp
Extending UML for Agent Systems 56
Cooptation and Bidding
Manuel Kolp
Extending UML for Agent Systems 57
Non Organizational (Classical) Architecture Styles
Pipe-filter
Main Program & Sub-Routines
Manuel Kolp
Extending UML for Agent Systems 58
Mobile Robot Layered Architecture
Need to establish direct communication
Data & control hierarchies not separated
Prevent manipulation of components
Information exchange not
always straight-forward
RWI Robots (irobot.com):
ATRV, B21r, B14r, Magellan
Manuel Kolp
Extending UML for Agent Systems 59
The Mobile Robot Case Study

Activities a mobile robot has to accomplish:
- Acquiring the input provided by sensors,
- Controlling the motion of its wheels and other moveable part,
- Planning its future path.

External Factors:
- Obstacles may block the robot’s path,
- Sensor inputs may be imperfect,
- The robot may run out of power,
- Mechanical limitations may restrict accuracy
- The robot may manipulate hazardous materials,
- Unpredictable events may leave little time for responding.
Manuel Kolp
Extending UML for Agent Systems 60
Other Classical Mobile Robot Architectures

Control loop : Controller initiates the robot actions. Also monitors their
consequences, adjusting future plans based on the return information

Task Trees : Hierarchies of tasks. Parent tasks initiate child tasks.
Temporal dependencies between tasks permit selective concurrency.
Manuel Kolp
Extending UML for Agent Systems 61
Mobile Robot Architecture: Structure-in-5
[4, 14]
More distributed architecture
Manuel Kolp
Extending UML for Agent Systems 62
Joint Venture

Architecture organized around
- A central joint manager assuming the overall supervisor/
coordinator role for the other agent components:
- A high level path planner,
- A module that monitors the environment for landmarks,
- A perception subsystem that receives and interprets sensors data.
- A motor controller and

Components can also interact directly with each other.
Manuel Kolp
Extending UML for Agent Systems 63
Agent Quality Attributes for Mobile Robots

Coordinativity. Agents must be able to coordinate with other agents to
achieve a common purpose or simply their local goals.
A mobile robot has to coordinate the actions it undertakes to achieve its
objective with the reactions forced on it by the environment.

Predictability. Agents can have a high degree of autonomy in the way
they undertake action and communication in their domains. Difficult to
predict individual characteristics as part of determining the behavior of
the system at large.
For a mobile robot, never will all the circumstances of the operation be
fully predictable. The architecture must provide the framework in which
the robot can act even when faced with incomplete information.
Manuel Kolp
Extending UML for Agent Systems 64
Agent Quality Attributes for Mobile Robots

Failability-Tolerance. A failure of one agent does not imply a failure of
the whole system. Needs to check completeness and accuracy of
information and transactions. Can implement replicated capabilities.
Must prevent the failure of the robot’s operation and its environment.
Local problems like reduced power supply, unexpectedly opening doors
should not necessarily imply the failure of the mission.

Adaptability. Agents must to adapt to modifications in their
environment. Must allow changes to the component’s communication
protocol, dynamic manipulations of agents.
Application for mobile robots frequently requires experimentation and
reconfiguration. Changes in assignments require regular modification.
Manuel Kolp
Extending UML for Agent Systems 65
Strengths and Weaknesses of Robot Architectures
Loop
Layers
Task Tree
S-in-5
Joint-Vent.
Coordinativity
-
-
+-
++
++
Predictability
+-
+
+-
+
++
Failability-Tol.
+
+-
+
+
+
Adaptability
+-
+-
+
+
+-
Manuel Kolp
Extending UML for Agent Systems 66
Coordinativity

Control loop: Simplicity is a drawback when dealing with complex tasks,
no leverage for decomposing the software into more precise components.

Layers: services and requests between adjacent layers. Transactions not
always straight-forward. Need to skip layers to coordinate behavior.

Task trees: clear separation of action and reaction. Allows incorporation of
concurrent agents. Components have little interaction with each other.

Structure-in-5: separates data (sensor control, interpreted results, world
model) from control (motor, navigation, scheduling, planning and userlevel) hierarchies

Joint venture: Components interact via the joint manager for strategic
decisions. They indicate their interest, the joint manager returns them
such information or mediates the request to other partner component.
Manuel Kolp
Extending UML for Agent Systems 67
Predictability

Control loop: Reduces the unpredictable through iteration only. No
framework if more subtle steps are needed.

Layers: Abstraction - uncertain at the lowest level become clear with the
added knowledge in the higher layers.

Task trees: less clear. Exeption handlers when the assumptions it is based
on turn out to be erroneous.

Structure-in-5: Abstraction levels in the structure-in-5 addresses the need
for managing unpredictability. Lower levels only involve resources and
task dependencies while higher ones propose intentional relationships.

Joint-venture: Central position and role of the joint manager is a means for
resolving conflicts and prevent unpredictability.
Manuel Kolp
Extending UML for Agent Systems 68
Failability-Tolerance

Control loop: Simplicity makes duplication of components and behavior
easy and reduces the chance of errors creeping into the system.

Layers: Many checks at different levels into the system. But control and
transactions may need to skip layers to check the system behavior.

Task trees: Exception, wiretapping and monitoring can be integrated to
take into account the needs for integrity, reliability, completeness.

Structure-in-5: checks integrated at different abstraction levels redundancy from different perspectives. Not restricted to adjacent layers.
Separated data and control hierarchies, can be verified independently.

Joint-venture: Joint
manager
proposes
a central
message
server/controller. Can support exception, wiretapping supervising or
monitoring to guarantee non-failability, reliability and completeness.
Manuel Kolp
Extending UML for Agent Systems 69
Adaptability

Control loop: Components are separated from each other and can be
replaced or added independently. Precise manipulation inside
components, at a level detail not shown.

Layers: Interdependencies between layers prevent the addition of new
components or deletion of existing ones.

Task trees: Implicit invocation makes incremental manipulation of
components straightforward. Sufficient to register new ones, no existing
one feels the impact.

Structure-in-5: Isolates components, allows dynamic manipulation. No
more than 5 components: Refined tuning inside components.

Joint-venture: Manipulation of components by registering them to the joint
manager. Dependencies must be updated. Joint manager cannot be
removed.
Manuel Kolp
Extending UML for Agent Systems 70
Legolog for Office Delivery Robot (Structure-in-5)

Cognitive
Robotics
development
environment
for
experimentation with and demonstration of research on the
LEGO® MINDSTORMSTM Robotics Invention System TM

http://www.cs.toronto.edu/cogrobo/Legolog/

OR LeJOS (http://lejos.sourceforge.net) + JACK agents
Manuel Kolp
Extending UML for Agent Systems 71
A Joint-Venture E-commerce Architecture
E-business styles:
on web, protocols,
technologies
Not on business
processes, NFRs
No organization of
the architecture,
conceptual highlevel perspective
From Security, Availability,
Adaptability
Manuel Kolp
Extending UML for Agent Systems 72
4. Detailed Design

Architectural Agent components defined in details in terms of
inputs, outputs, control, and other relevant information.

UML extensions: Tropos Proposal
– Tropos offers a set of concepts and a methodology for
developing agent-oriented software.
– These concepts can be accommodated within UML in terms of
new stereotypes
– One can also use UML/AUML diagrams and other techniques
from the multi-agent system area to specify coordination and
other details during detailed design.
Manuel Kolp
Extending UML for Agent Systems 73
Design Pattern

Identify the interrelationships among a group of software
components describing their responsibilities, collaborations
and structural relationships.
Composite
Manuel Kolp
Extending UML for Agent Systems 74
Design Pattern: Composite

Problem: Representing whole-part hierachies so that whole
and part objects offer the same interface to client objects.

Context: Composite and component object are required to
offer the same behaviour, i.e, be treated in the same way

Forces:
– Composite or component should belong to the same
inheritance hierarchy.
– The need to represent whole-part hierarchies indicates the
need for an aggregation structure

Solution : Combine inheritance and aggregation hierarchies.
Manuel Kolp
Extending UML for Agent Systems 75
Composite Pattern: Media Clip
Manuel Kolp
Extending UML for Agent Systems 76
Social Patterns
Monitor
Matchmaker
Contract-Net
Manuel Kolp
Extending UML for Agent Systems 77
Example: Matchmaker

Locates a provider corresponding to a consumer request
for service,

Then hands the consumer a handle to the chosen
provider directly.

Contrary to the broker who directly handles all interactions
between the consumer and the provider, the negotiation
for service and actual service provision are two distinct
phases.

Used in the horizontal contracting and joint venture styles.
Manuel Kolp
Extending UML for Agent Systems 78
Agent
Capabilities
Customer
Build a request to query the matchmaker
Handle a services ontology
Query the matchmaker for a service
Find alternative matchmakers
Request a service to a provider
Manage possible provider failures
Monitor the provider’s ongoing processes
Ask the provider to stop the requested service
Provider
Matchmaker
Manuel Kolp
Handle a services ontology
Advertise a service to the matchmaker
Withdraw the advertisement
Use an agenda for managing the requests
Inform the customer of the acceptance of the request service
Inform the customer of a service failure
Inform the customer of success of a service
Update the local database
Handle a services ontology
Use an agenda for managing the customer requests
Search the name of an agent for a service
Inform the customer of the unavailability of agents for a service
Extending UML for Agent Systems 79
Social Patterns
Mediator
Embassy
Manuel Kolp
Extending UML for Agent Systems 80
Assigning Agent Roles to Actors
Manuel Kolp
Extending UML for Agent Systems 81
In UML with Stereotypes
<<i* actor>>
<<i* actor>>
<<goal dependency>>
Fwd Source Change
<<goal dependency>>
<<i* actor>> Locate Source
Source Match.
Monitor
<<i* actor>>
<<goal dependency>>
Route Info Request
<<task dependency>>
Provide Information
<<goal dependency>>
Info Searcher
Profile Customer
On-line Catalogue
<<i* actor>>
<<task dependency>>
Query Information Source
<<task dependency>>
Hits Information
<<i* actor>>
<<task dependency>>
Notify Change
Mediator
<<i* actor>>
<<task dependency>>
Translate Response
Wrapper
<<task dependency>>
Ask for Info Advertising
Statistics
Processor
Manuel Kolp
Extending UML for Agent Systems 82
Example: Peer-to-Peer Application (Gnutella)
Manuel Kolp
Extending UML for Agent Systems 83
Mediators and Contract-Net in Gnutella
Manuel Kolp
Extending UML for Agent Systems 84
Notification in Gnutella
Manuel Kolp
Extending UML for Agent Systems 85
Acceptance or Denial
Manuel Kolp
Extending UML for Agent Systems 86
Class Diagram
Manuel Kolp
Shopping Cart
UML Classes
Extending UML for Agent Systems 87
Communication – Agent Interaction Protocol
Manuel Kolp
Extending UML for Agent Systems 88
Communication – FIPA-ACL - AUML
<<i* actor>>
Customer
Manuel Kolp
<<i* actor>>
Shopping Cart
The Checkout Dialogue
Extending UML for Agent Systems 89
Dynamics: Plan Diagram
Manuel Kolp
Extending UML for Agent Systems 90
Dynamics
Manuel Kolp
Check Out Plan
Extending UML for Agent Systems 91
An Agent Platform: JACK

JACK Intelligent Agents is an agent-oriented development
environment built on top of the Java programming language.

JACK's integration with Java is analogous to the relationship
between the C++ and C languages.

The JACK Agent Language has been developed to provide
agent-oriented specific extensions to Java.

http://www.agent-software.com
Manuel Kolp
Extending UML for Agent Systems 92
JACK BDI Agents

Agents in JACK are intelligent in the sense they model reasoning
behavior according to the BDI model.

Following this model, JACK agents can be considered
autonomous software components that have explicit goals to
achieve (desires).

To describe how they should go about achieving these desires,
these agents are programmed with a set of plans (intentions).

Each plan describes how to achieve a goal under varying
circumstances.

Set to work, the agent pursues its given goals (desires), adopting
the appropriate plans (intentions) according to its current set of
data (beliefs) about the state of the world.
Manuel Kolp
Extending UML for Agent Systems 93
JACK functional constructs

To support the BDI agents, JACK has five main constructs.
–
Agents
– Database relations to store beliefs and data that an agent
has acquired.
–
Goals and Events to identify the goals (desires) and
messages that an agent can achieved or respond to. A Goal
in JACK is a special event due to the OO nature of JAVA.
–
Plans that are intentions an agent follows to try to achieve
its goals and executes to handle its designated events.
– Capabilities to aggregate events, goals, plans, databases or
other capabilities.

Manuel Kolp
I.e., JACK Goal = BDI Desire, JACK DB relation = BDI
Belief, JACK Plan = BDI Intention, JACK Agent = BDI Agent
Extending UML for Agent Systems 94
Java BDI Agent Implementation in JACK
Manuel Kolp
Extending UML for Agent Systems 95
Related Proposals
Manuel Kolp

Goal-Oriented Analysis (GOA) has been researched in
Requirements Engineering since the ‘80s; unlike other
proposals, i* goals are relative and fulfillment is
cooperative; also other GOA frameworks focus on the
transformation from early to late requirements.

AUML is a recent proposal for agent modeling; its
emphasis is on agent coordination+communication.

UML has been recently extended to include goals for
business modeling applications;

i* is a mature modeling framework, has been formalized in
a variety of settings and comes with a methodology for
doing actor and goal analysis.
Extending UML for Agent Systems 96
Additional Readings
Information Systems
[1] J. Castro, M. Kolp, and J. Mylopoulos. Towards Requirements-Driven Information Systems Engineering.
Information Systems, Elsevier, 2002.
[2] J. Castro, M. Kolp, and J. Mylopoulos. Developing Agent-Oriented Information Systems for the
Enterprise. In B. Sharp, editor, Enterprise Information Systems II, Kluwer Publishing, 2002.
[3] J. Castro, M. Kolp, and J. Mylopoulos. A Requirements-Driven Development Methodology. In Proc. of the
13th Int. Conf. on Adv. Information Systems Engineering, CAiSE’01, Interlaken, Switzerland, June 2001.
Knowledge Systems
[4] M. Kolp, P. Giorgini, and J. Mylopoulos. Multi-Agents Systems as Social Structures. Autonomous Agents
and Multi-Agents Systems, Kluwer Publishing, 2002.
[5] A. Perini, P. Bresciani, F. Giunchiglia, P. Giorgini, and J. Mylopoulos. A Knowledge Level Software
Engineering Methodology for Agent Oriented Programming. In Proc. of the 5th Int. Conf on Autonomous
Agents, Agents’01, Montreal, Canada, May 2001.
[6] M. Kolp, P. Giorgini, and J. Mylopoulos. A Goal-Based Organizational Perspective on Multi-Agents
Architectures. In Proc. of the 8th Int. Conf. on Intelligent Agents: Agent Theories, Architectures, and
Languages, ATAL’01, Seattle, USA, Aug. 2002.
[7] X. Wang and Y. Lespérance. Agent-Oriented Requirements Engineering using ConGolog and i*. In Proc.
of the 3rd Int. Bi-Conf. on Agent-Oriented Information Systems, AOIS’01, Montreal, Canada, May 2001.
[8] G. Gans, M. Jarke, S. Kethers, and G. Lakemeyer: Modeling the Impact of (Dis)trust in Agent Networks.
In Proc. of the 3rd Int. Bi-Conf. on Agent-Oriented Info Systems, AOIS’01, Interlaken, Switzeland, June 2001
Manuel Kolp
Extending UML for Agent Systems 97
Additional Readings
Conceptual Modeling
[9] A. Fuxman, P. Giorgini, M. Kolp, and J. Mylopoulos. Information systems as Social Structures. In Proc. of the
2nd Int. Conf. on Formal Ontologies for Information Systems, FOIS’01, Ogunquit, USA, Oct. 2001.
[10] J. Mylopoulos, A. Fuxman, and P. Giorgini. From Entities and Relationships to Social Actors and
Dependencies. In Proc. of the 19th Int. Conf. on Conceptual Modeling, ER’00, Salt Lake City, USA, Oct. 2000.
[11] L. Lu and E. Yu. Modelling Strategic Actor Relationships to Support Intellectual Property Management. In
Proc. of the 20th Int. Conf. on Conceptual Modeling, ER’01, Yokohama, Japan, Nov. 2001.
Software Engineering
[12] J. Mylopoulos, J. Castro, and M. Kolp, Tropos: A Framework for Requirements-Driven Software
Development. In J. Brinkkemper and A. Solvberg (eds.), Information Systems Engineering: State of the Art and
Research Themes, Springer-Verlag, June 2000.
[13] A. Fuxman, M. Pistore, J. Mylopoulos, and P. Traverso. Model Checking Early Requirements Specification in
Tropos. In Proc. of the 5th Int. Symposium on Requirements Engineering, RE’01, Toronto, Canada, Aug. 2001.
[14] M. Kolp, J. Castro, and J. Mylopoulos. A Social Organization Perspective on Software Architectures. In Proc.
of the 1st Int. Workshop From Software Requirements to Architectures, STRAW’01, Toronto, Canada, May 2001.
[15] L. Lu and E. Yu. From Requirements to Architectural Design - Using Goals and Scenarios. In Proc. of the
1st Int. Workshop From Software Requirements to Architectures, STRAW’01, Toronto, Canada, May 2001.
UML
[16] J. Mylopoulos, M. Kolp, and J. Castro. UML for Agent-Oriented Software Development: The Tropos proposal.
In Proc. of the 4th Int. Conf. on the Unified Modeling Language UML’01, Toronto, Canada, Oct. 2001.
Manuel Kolp
Extending UML for Agent Systems 98