A Goal-Based Organizational Perspective on Multi-Agent Architectures Manuel Kolp...

47
A Goal-Based Organizational A Goal-Based Organizational Perspective on Multi-Agent Perspective on Multi-Agent Architectures Architectures Manuel Kolp Manuel Kolp [email protected] http://www.cs.toronto.edu/km/tropos Department of Computer Science University of Toronto University of Toronto M5S 3G4 Toronto, Canada NATO Meeting - May 23 2001, Québec, Canada NATO Meeting - May 23 2001, Québec, Canada

Transcript of A Goal-Based Organizational Perspective on Multi-Agent Architectures Manuel Kolp...

A Goal-Based Organizational Perspective A Goal-Based Organizational Perspective on Multi-Agent Architectureson Multi-Agent Architectures

Manuel KolpManuel Kolp

[email protected]

http://www.cs.toronto.edu/km/tropos

Department of Computer Science

University of TorontoUniversity of Toronto

M5S 3G4 Toronto, Canada

NATO Meeting - May 23 2001, Québec, CanadaNATO Meeting - May 23 2001, Québec, Canada

Manuel Kolp, University of Toronto, Department of Computer Science © 2000-2001

A Goal-Based Organizational Perspective on Multi-Agent Architectures 2

MotivationMotivation

Narrowing the gap requirements between architectures

Multi-Agent systems are organizations of coordinated and autonomous agents.

Same concepts for requirements and architectures

– Multi-Agents architecture as organization and intentional structuresMulti-Agents architecture as organization and intentional structures

– Coordinated autonomous components with goals to fulfil and social inter-dependencies ( i* )

– Concepts from organization theory and modeling

Ontology: 3 levels (Macro, micro, atomic)

Part of TROPOS (http://www.cs.toronto.edu/km/tropos)

Manuel Kolp, University of Toronto, Department of Computer Science © 2000-2001

A Goal-Based Organizational Perspective on Multi-Agent Architectures 3

Software Agent

– Implemented with/in software technologies

– Environment : humans, machines, other software

agents, platforms.

Multi-agent system: Multi-agent system: organizationorganization of of individuals individuals to achieve to achieve particular, possible common particular, possible common goalsgoals..

An Organizational Computing ParadigmAn Organizational Computing Paradigm

AgentAgent : : Individual who can act

– Autonomous, pro- active, goal, knowledge oriented, adaptative

with/in its environment IntelligenceIntelligence

Manuel Kolp, University of Toronto, Department of Computer Science © 2000-2001

A Goal-Based Organizational Perspective on Multi-Agent Architectures 4

Agent Individual CharacteristicsAgent Individual Characteristics AutonomousAutonomous

– is capable acting without direct external intervention.– It has some degree of control over its internal state and actions

based on its own experiences.

MobileMobile– able to transport itself from one environment to another.

UnpredictableUnpredictable

– able to act in ways that are not fully predictable, even if all the initial conditions are known. It is capable of non deterministic behavior.

RuggedRugged

– able to deal with errors and incomplete data robustly.

Manuel Kolp, University of Toronto, Department of Computer Science © 2000-2001

A Goal-Based Organizational Perspective on Multi-Agent Architectures 5

Agent Organizational CharacteristicsAgent Organizational Characteristics

InteractiveInteractive – communicates with the environment and other agents.

AdaptiveAdaptive – capable of responding to other agents and/or its environment.

SociableSociable – may act on behalf of someone or something, that is, acting in the

interest of, as a representative of, or for the benefit of some entity.

ProactiveProactive – goal-oriented, purposeful. It does not simply react to the

environment.

Manuel Kolp, University of Toronto, Department of Computer Science © 2000-2001

A Goal-Based Organizational Perspective on Multi-Agent Architectures 6

Agent Organizational CharacteristicsAgent Organizational Characteristics

CoordinativeCoordinative

– able to perform some activity in a shared environment with other agents. Coordination via plans or other process management mechanism.

CooperativeCooperative – able to coordinate with other agents to achieve a common purpose;

non antagonistic agents that succeed or fail together.

CompetitiveCompetitive

– able to coordinate with other agents except that the success of one agent implies the failure of others (>< cooperative).

Manuel Kolp, University of Toronto, Department of Computer Science © 2000-2001

A Goal-Based Organizational Perspective on Multi-Agent Architectures 7

The BDI Agent ModelThe BDI Agent Model

Intelligence for AgentIntelligence for Agent

– State is formalized by knowledge (i.e., beliefs, goals, plans, assumptions) and interacts with other agents with symbolic language

– Able to choose an action based on internal goals and the knowledge that a particular action will bring it closer to its goals.

The Belief-Desire-IntentionThe Belief-Desire-Intention (BDI) agent model has its roots in philosophy and cognitive science.

– An agent has beliefs about the world and desires to satisfy, driving it to form intentions to act.

– An intention is a commitment to perform a plan.

– Beliefs, desires and intentions : the mental attitudes (or mental states) of an agent.

Manuel Kolp, University of Toronto, Department of Computer Science © 2000-2001

A Goal-Based Organizational Perspective on Multi-Agent Architectures 8

Inside the BDI ModelInside the BDI Model

HumanHuman

Beliefs - perceivedunderstandingof the world

Goals or desires

Accumulated behaviours

Belief, Desire, Intentions AgentBelief, Desire, Intentions Agent

Beliefs - database of perceivedworld knowledge

ExecutionEngine

Goals or desires

Pre-compiled plans

Intentions -currently executing

plans

Manuel Kolp, University of Toronto, Department of Computer Science © 2000-2001

A Goal-Based Organizational Perspective on Multi-Agent Architectures 9

Agents at WorkAgents at Work

Contextual BeliefsContextual Beliefs

New Beliefs/FactsNew Beliefs/FactsGoal/Desire/NeedGoal/Desire/Need

Running Plan/IntentionRunning Plan/Intention

Manuel Kolp, University of Toronto, Department of Computer Science © 2000-2001

A Goal-Based Organizational Perspective on Multi-Agent Architectures 10

ii*: an Organizational Modeling Framework*: an Organizational Modeling Framework

Goals are relative, fulfillment is collaborativeGoals are relative, fulfillment is collaborative

Manuel Kolp, University of Toronto, Department of Computer Science © 2000-2001

A Goal-Based Organizational Perspective on Multi-Agent Architectures 11

The Strategic Dependency ModelThe Strategic Dependency Model Focus on social dependenciessocial dependencies among actors rather than only

actor goals, actions etc.

Actors have goalsgoals, need taskstasks be carried out and resourcesresources to be made available;

Dependencies define social & intentional relationshipssocial & 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

SoftgoalsSoftgoals are distinguished from goals because they do not have a formal definition, and are amenable to a different (more more qualitativequalitative) kind of analysis (not well-defined).

Manuel Kolp, University of Toronto, Department of Computer Science © 2000-2001

A Goal-Based Organizational Perspective on Multi-Agent Architectures 12

Four Kinds of DependenciesFour Kinds of Dependencies

GoalGoal

TaskTask

ResourceResource

SoftgoalSoftgoal

Media Shop

Manuel Kolp, University of Toronto, Department of Computer Science © 2000-2001

A Goal-Based Organizational Perspective on Multi-Agent Architectures 13

SoftgoalsSoftgoals

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: softgoalssoftgoals, “fuzzy goals” (clouds) with no clearcut criteria for satisfaction;

Hence softgoals are satisficedsatisficed, not satisfied.

How well the system accomplishes its functions

Manuel Kolp, University of Toronto, Department of Computer Science © 2000-2001

A Goal-Based Organizational Perspective on Multi-Agent Architectures 14

A Formal Framework A Formal Framework Precise SemanticsPrecise Semantics Entity Order

Has orderId: Number, cust: Customer, date: Date,

tems: SetOf [MediaItem]

Entity MediaItem

Has itemId: Number, itemTitle: String, description: Text, editor: String …

Actor Customer

Has customerId: Number, name: Name, address: Address, tel: PhoneNumber, …

Capable of MakeOrder, Pay, Browse, …

Goal order:Order buy:BuyMediaItems[order] (order.cust=self Fulfil(buy))

Actor MediaShop

Has name: {MediaLive}, address: {“735 Yonge Street”}, phone#: 0461-762-883

Capable of Sell, Ship, SendInvoice, …

Goal ms:IncreaseMarketShare(Fulfil(ms))

GoalDependency BuyMediaItems

Mode Fulfil

Has order: Order

Defined ItemsReceivedOK(order)

Depender Customer

Dependee MediaShop

Necessary Fulfil( PlaceOrder(order))

SoftGoalDependency IncreaseMarketShare

Mode Maintain

Depender MediaShop

Dependee Customer

Necessary cust:Customer place:PlaceOrder[order] (order.cust=cust )

Fulfil(place))

Action MakeOrder

Performed By Customer

Refines PlaceOrder

Input cust : Customer, date : Date, items : SetOf [MediaItem]

Output order : Order

Post order.cust = cust order.date = date order.items items

Manuel Kolp, University of Toronto, Department of Computer Science © 2000-2001

A Goal-Based Organizational Perspective on Multi-Agent Architectures 15

Strategic Rationale ModelStrategic 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-endsMeans-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 decompositionTask decomposition links relate tasks to other component tasks

Tasks can also be decomposed to goals.

Manuel Kolp, University of Toronto, Department of Computer Science © 2000-2001

A Goal-Based Organizational Perspective on Multi-Agent Architectures 16

Rationale View of an ActorRationale View of an Actor

Manuel Kolp, University of Toronto, Department of Computer Science © 2000-2001

A Goal-Based Organizational Perspective on Multi-Agent Architectures 17

A User 2 On-line Buying SystemA 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

Secure– $ transactions– orders

Multimedia– description– samples

Operational Context of the SystemOperational Context of the System

FunctionsFunctions and qualitiesqualities for the system within its environmentenvironment

””Organizational Organizational Map”Map”

The System as A Social ActorThe System as A Social Actor

Medi@

””Rationale Map”Rationale Map”

Manuel Kolp, University of Toronto, Department of Computer Science © 2000-2001

A Goal-Based Organizational Perspective on Multi-Agent Architectures 20

The NFR framework : Building Goals ModelsThe 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, University of Toronto, Department of Computer Science © 2000-2001

A Goal-Based Organizational Perspective on Multi-Agent Architectures 21

Goal AnalysisGoal Analysis

OrderOrderItemItem

--

-- ++

++++

++++

--

--

CollectCollectordersorders

By By personperson

ByBysystemsystem

Have Have updatedupdatedinvoicesinvoices

With Shopping CartWith Shopping Cart

SelectSelectItemItem

ManuallyManually

Automatically

MatchingMatchingefforteffortCollectionCollection

efforteffort

MinimalMinimalconflictsconflicts

MinimalMinimalInteractionInteraction

Rapidity ofRapidity ofOrderOrderMinimalMinimal

efforteffort

By phoneBy phone By By FaxFax

++++

AvailabilityAvailability

From i* to Agent ConceptsFrom i* to Agent Concepts

Manuel Kolp, University of Toronto, Department of Computer Science © 2000-2001

A Goal-Based Organizational Perspective on Multi-Agent Architectures 23

Using These (Using These (i*) i*) SocialSocial ConceptsConcepts

During early requirements (organization modeling), these concepts are used to model external stakeholders (people, organizations, existing systems), their relevant goals and inter-dependencies.

During late requirements, the multi-agent system-to-be enters the picture as one or a few actorsone or a few actors participating in i* models.

During architectural design, the actors being modelled are all multi agent system actors.

Manuel Kolp, University of Toronto, Department of Computer Science © 2000-2001

A Goal-Based Organizational Perspective on Multi-Agent Architectures 24

Organization Information SystemsOrganization Information Systems must integrate organizational and organizational and

system models to match theirsystem models to match their Operational EnvironmentOperational Environment.

– ERP systemsERP systems: Process view of the enterprise to meet organizational

goals, integrating all functions from the enterprise organizationorganization.

– Knowledge management systemsKnowledge management systems help the enterprise gain insight

from its knowledge hidden in the organizationorganization.

• KM: IT SystemSystem + OrganizationalOrganizational Adjustments + Personnel

Incentives

– E-business systemsE-business systems implement “virtual enterprises” on

organizationalorganizational patterns that drive their business processes.

Why Organizational Architectures?Why Organizational Architectures?

Manuel Kolp, University of Toronto, Department of Computer Science © 2000-2001

A Goal-Based Organizational Perspective on Multi-Agent Architectures 25

Classical Architectural StylesClassical Architectural Styles

Main Program & Sub-RoutinesMain Program & Sub-Routines

La

yere

d A

rch

ite

ctu

re

La

yere

d A

rch

ite

ctu

re

(Mo

bile

Ro

bo

t)(M

ob

ile R

ob

ot)

Pipe-filterPipe-filter

Manuel Kolp, University of Toronto, Department of Computer Science © 2000-2001

A Goal-Based Organizational Perspective on Multi-Agent Architectures 26

Multi-Agent Architectures as Social StructuresMulti-Agent Architectures as Social Structures

Global architecture in terms of interconnected social components.

3 levels

– 1 Macrolevel : OrganizationalOrganizational Styles (Organization Theory)

• Vertical Integration, Pyramid, Joint Venture, Structure in 5, Bidding, Hierarchical Contracting, Co-optation, Takeover

– 2 Micro level : Patterns (Agent, COOPISAgent, COOPIS Community)

• Broker, Matchmaker, Contract-Net, Mediator, Monitor, Embassy, Wrapper, Master-Slave, ...

– 3 Atomic : Social and intentional concepts – i*i*

Manuel Kolp, University of Toronto, Department of Computer Science © 2000-2001

A Goal-Based Organizational Perspective on Multi-Agent Architectures 27

Organization TheoryOrganization Theory

Mintzberg, Scott, Galbraith, …

Studies alternatives and models for (business) organizations

Used to model the coordination of business stakeholders -- individuals, physical or social systems -- to achieve common (business) goals.

Structure in 5, Pyramid, Takeover, Joint Venture, Cooptation, Hierarchical Contracting, Vertical Integration, Bidding, Merger, Equity Agreement, Virtual Organization, …

Manuel Kolp, University of Toronto, Department of Computer Science © 2000-2001

A Goal-Based Organizational Perspective on Multi-Agent Architectures 28

Structure in 5Structure in 5

Strategic and logistic components found in organizations.

Operational coreOperational core : basic operations -- the input, processing, output associated with running the organization.

StrategicStrategic apexapex : executive, strategic decisions.

SupportSupport : Assists the operation core for non-operational services outside the basic flow of operational procedures.

TechnostructureTechnostructure : standardizes the behavior of other components, help the system adapt to its environment.

Middle lineMiddle line : Actors who join the apex to the core.

Manuel Kolp, University of Toronto, Department of Computer Science © 2000-2001

A Goal-Based Organizational Perspective on Multi-Agent Architectures 29

Structure in 5 in Structure in 5 in i*i* and Telos and Telos

TELL CLASS StructureIn5MetaClass

IN Class WITH

/*Class is a MetaMetaClass*/

attribute

name: String

part, exclusivePart, dependentPartpart, exclusivePart, dependentPart

ApexMetaClass: Class

CoordinationMetaClass: Class

MiddleAgencyMetaClass: Class

SupportMetaClass: Class

OperationalCoreMetaClass: Class

END StructureIn5MetaClass

In i* In Telos

Manuel Kolp, University of Toronto, Department of Computer Science © 2000-2001

A Goal-Based Organizational Perspective on Multi-Agent Architectures 30

Joint Venture in Joint Venture in i*i* and Telos and Telos

TELL CLASS JointVentureMetaClass

IN Class WITH

/*Class is a MetaMetaClass*/

attribute

name: String

part, exclusivePart, dependentPartpart, exclusivePart, dependentPart

JointManagementMetaClass: Class

part, exclusivePartpart, exclusivePart

/*exclusive and independent part*/

PrincipalPartnerMetaClass: Class

part part

/*shared and independent part*/

SecondaryPartnerMetaClass: Class

END JointVentureMetaClass

In Telos

Manuel Kolp, University of Toronto, Department of Computer Science © 2000-2001

A Goal-Based Organizational Perspective on Multi-Agent Architectures 31

Cooptation and BiddingCooptation and Bidding

Manuel Kolp, University of Toronto, Department of Computer Science © 2000-2001

A Goal-Based Organizational Perspective on Multi-Agent Architectures 32

Hierarchical Contracting and Vertical IntegrationHierarchical Contracting and Vertical Integration

Manuel Kolp, University of Toronto, Department of Computer Science © 2000-2001

A Goal-Based Organizational Perspective on Multi-Agent Architectures 33

Software Quality AttributesSoftware Quality Attributes

Predictability, Security, Adaptability, Cooperativity, Competitivity, Availability, Integrity, Modularity, Aggregability

Correlation Predict. Security Adapt. Cooperat. Compet. Availab. Integrity Modul. Aggreg.

Flat Structure - - - - ++ + + ++ -

Structure-in-5 + + + - + ++ ++

Pyramid ++ ++ + ++ - - + - - -

Join Venture + + ++ + - ++ + ++

Bidding - - - - ++ - ++ - - - ++

Takeover ++ ++ - ++ - - + + +

Arm’s-Length - - - + - ++ - - ++ +

Hierarch Cont. + + + + + +

Vert. Integ. + + - + - + - - - - - -

Co-optation - - ++ ++ + - +

Manuel Kolp, University of Toronto, Department of Computer Science © 2000-2001

A Goal-Based Organizational Perspective on Multi-Agent Architectures 34

ExampleExample A Classical mobile robot A Classical mobile robot layered architecturelayered architecture

Information exchange not Information exchange not always straight-forwardalways straight-forward

Often need to establish Often need to establish direct communicationdirect communication

Data and control Data and control hierarchies not separatedhierarchies not separated

Prevent the dynamic Prevent the dynamic manipulation of manipulation of componentscomponents

Manuel Kolp, University of Toronto, Department of Computer Science © 2000-2001

A Goal-Based Organizational Perspective on Multi-Agent Architectures 35

Mobile Robot Architecture: Structure-in-5Mobile Robot Architecture: Structure-in-5

More distributed architectureMore distributed architecture

Manuel Kolp, University of Toronto, Department of Computer Science © 2000-2001

A Goal-Based Organizational Perspective on Multi-Agent Architectures 36

Goal Analysis: Selecting System ArchitectureGoal Analysis: Selecting System Architecture

Manuel Kolp, University of Toronto, Department of Computer Science © 2000-2001

A Goal-Based Organizational Perspective on Multi-Agent Architectures 37

A Joint-Venture E-commerce ArchitectureA Joint-Venture E-commerce Architecture

E-business styles: on web, protocols, technologies

Not on business processes, NFRs

No organization of the architecture, conceptual high-level perspective

From Security, Availability, Adaptability

Manuel Kolp, University of Toronto, Department of Computer Science © 2000-2001

A Goal-Based Organizational Perspective on Multi-Agent Architectures 38

Social PatternsSocial Patterns

MatchmakerMatchmaker

MonitorMonitor

Manuel Kolp, University of Toronto, Department of Computer Science © 2000-2001

A Goal-Based Organizational Perspective on Multi-Agent Architectures 39

Example: MatchmakerExample: 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, University of Toronto, Department of Computer Science © 2000-2001

A Goal-Based Organizational Perspective on Multi-Agent Architectures 40

Agent Capabilities

Customer

Build a request to query the matchmaker

Handle a services ontology Query the matchmaker for a serviceFind alternative matchmakers Request a service to a providerManage possible provider failuresMonitor the provider’s ongoing processes Ask the provider to stop the requested service

Provider    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

Matchmaker Update the local database Handle a services ontologyUse an agenda for managing the customer requestsSearch the name of an agent for a serviceInform the customer of the unavailability of agents for a service

Manuel Kolp, University of Toronto, Department of Computer Science © 2000-2001

A Goal-Based Organizational Perspective on Multi-Agent Architectures 41

Social PatternsSocial Patterns

EmbassyEmbassy

MediatorMediator

Manuel Kolp, University of Toronto, Department of Computer Science © 2000-2001

A Goal-Based Organizational Perspective on Multi-Agent Architectures 42

Assigning Agent Roles to ActorsAssigning Agent Roles to Actors

Manuel Kolp, University of Toronto, Department of Computer Science © 2000-2001

A Goal-Based Organizational Perspective on Multi-Agent Architectures 43

Detailed DesignDetailed Design

Architectural AgentAgent components defined in detailsin details in terms of inputs, outputs, control, and other relevant information.

Shopping CartShopping Cart

UML ClassesUML Classes

Manuel Kolp, University of Toronto, Department of Computer Science © 2000-2001

A Goal-Based Organizational Perspective on Multi-Agent Architectures 44

Agent Interaction Protocol with AUMLAgent Interaction Protocol with AUML

The Checkout DialogueCustomer Shopping Cart

Manuel Kolp, University of Toronto, Department of Computer Science © 2000-2001

A Goal-Based Organizational Perspective on Multi-Agent Architectures 45

Plan Diagram for checking outPlan Diagram for checking out

Check OutCheck Out

PlanPlan

Manuel Kolp, University of Toronto, Department of Computer Science © 2000-2001

A Goal-Based Organizational Perspective on Multi-Agent Architectures 46

Partial Partial JACKJACK Implementation for checking out Implementation for checking out

Manuel Kolp, University of Toronto, Department of Computer Science © 2000-2001

A Goal-Based Organizational Perspective on Multi-Agent Architectures 47

ConclusionConclusion

Multi-Agents architectures described with concepts from requirements and organization modeling

-> Narrows the gap requirements / architecture

Multi-Agent Architectures as social and intentional structuressocial and intentional structures

Best suited to open, dynamic and distributed applications and organization information systemsorganization information systems

Ontology on 3 levels:

– Macro: Organization Styles

– Micro: Social Patterns

– Atomic: i* components: goals, actors, social dependencies, …