chapter 15: agents

34
Chapter 15: Agents Service-Oriented Computing: Semantics, Processes, Agents – Munindar P. Singh and Michael N. Huhns, Wiley, 2005

Upload: amity

Post on 25-Feb-2016

28 views

Category:

Documents


0 download

DESCRIPTION

Chapter 15: Agents. Service-Oriented Computing: Semantics, Processes, Agents – Munindar P. Singh and Michael N. Huhns, Wiley, 2005. Highlights of this Chapter. Agents Introduced Agent Descriptions Abstractions for Composition Describing Compositions Service Composition as Planning Rules. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Chapter 15: Agents

Chapter 15:Agents

Service-Oriented Computing: Semantics, Processes, Agents– Munindar P. Singh and Michael N. Huhns, Wiley, 2005

Page 2: Chapter 15: Agents

Chapter 15 2Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and

Michael Huhns

Highlights of this Chapter Agents Introduced Agent Descriptions Abstractions for Composition Describing Compositions Service Composition as Planning Rules

Page 3: Chapter 15: Agents

Chapter 15 3Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and

Michael Huhns

What is an Agent?Wide range of behavior and functionality in

computing An agent is an active computational entity

With a persistent identity Can carry out a long-lived conversation

Perceives, reasons about, and initiates activities in its environment

Deals with services Communicates (with other agents) and

changes its behavior based on others Loosely coupled

Business partners map to agents

Page 4: Chapter 15: Agents

Chapter 15 4Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and

Michael Huhns

Agents and Multiagent Systems for SOC

Unlike objects, agents Are proactive and autonomous Support loose coupling

In addition, agents may Cooperate or compete Model users, themselves, and others Dynamically use and reconcile

ontologies

Page 5: Chapter 15: Agents

Chapter 15 5Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and

Michael Huhns

Modeling Agents: AIEmphasize mental concepts Beliefs: agent’s representation of

the world Knowledge: (usually) true beliefs Desires: preferred states of the

world Goals: consistent desires Intentions: goals adopted for

action Resources allocated Sometimes incorporate persistence

Page 6: Chapter 15: Agents

Chapter 15 6Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and

Michael Huhns

Modeling Agents: MASEmphasize interaction (autonomy and communication) Social: about collections of agents Organizational: about teams and

groups Legal: about contracts and

compliance Ethical: about right and wrong

actions

Page 7: Chapter 15: Agents

Chapter 15 7Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and

Michael Huhns

Mapping SOC to AgentsAgents apply well in an open system Autonomy ability to enter into

and enact contracts; compliance How can we check or enforce

compliance? Heterogeneity ontologies Loose coupling communication Trustworthiness contracts, ethics,

learning, incentives Dynamism combination of the

above

Page 8: Chapter 15: Agents

Two Ways to Apply Agents As modeling constructs

Standing in for stakeholders To help capturing their requirements

Especially their goals As run time constructs

Representing stakeholders Acting on their behalves

Reflecting a stakeholder’s autonomous decision making to other parties

Chapter 15 8Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and

Michael Huhns

Page 9: Chapter 15: Agents

Goal Modeling Concepts Actors: stakeholder or software “system” Goals

“Hard” by default: required functionality Soft goals: support partial fulfillment

Decomposition: AND or OR Beliefs; Plans; Resources Dependencies between actors

In terms of their goals, plans, or resources Contributions of any goal or plan to a soft

goal Makes (++); Helps (+); Hurts (-); Breaks (--)

Chapter 15 9Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and

Michael Huhns

Page 10: Chapter 15: Agents

Simplified Goal Modeling Identify actors: stakeholders plus one or more

“system” actors—both “as is” and “to be” (placeholders)

Elicit goals of each stakeholder actor Decompose such goals based on domain

knowledge Available services for traditional SOC Applicable context abstractions (beliefs) for context-

aware apps Beliefs about context abstractions affect choice of goal at run time

Identify contribution links to soft goals Identify dependencies between actors Incrementally, assign some goals of system

actors When all stakeholders goals are supported by

system actors’ goals, design and implement system actors

Chapter 15 10Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and

Michael Huhns

Page 11: Chapter 15: Agents

Chapter 15 11Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and

Michael Huhns

A Reactive AgentThe Sense-Decide-Act Loop

PerceiveEnvironment

Select Action

Environment

Condition-Action Rules

Effectors

Sensors

percepts

action

worldmodel

outputs

inputs

ReactiveAgent

Environment e;RuleSet r;while (true) { state = senseEnvironment(e); a = chooseAction(state, r); e.applyAction(a);}

Page 12: Chapter 15: Agents

Chapter 15 12Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and

Michael Huhns

Economic Rationality Three elements

A performance measure, e.g., expected utility

An agent’s prior knowledge and perceptions The available actions

Ideal: for each possible percept sequence, Acts to maximize its expected utility On the basis of its knowledge and evidence

from the percept sequence

Page 13: Chapter 15: Agents

Chapter 15 13Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and

Michael Huhns

Logic-Based Agents(Another form of rationality) An agent is a knowledge-based

system Represents a symbolic model of the

world Declarative (hence, inspectable) Reasons symbolically via logical

deduction Challenges:

Representing information symbolically Easier in information environments than

in general Maintaining adequate model of the

world

Page 14: Chapter 15: Agents

Chapter 15 14Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and

Michael Huhns

Cognitive Architecture for an Agent

Beliefs, Desires, Intentions

Reasoner

Effectors

Sensors

Perceptions

Actions

Agent Alice

Beliefs, Desires, Intentions

Reasoner

Effectors

Sensors

Perceptions

Actions

Agent Bob

CommunicationInfrastructure

CommunicationInterfaces

For SOC, sensors and effectors map to services; the communication infrastructure is messaging middleware

Page 15: Chapter 15: Agents

Exercise Create an instance of the preceding

diagram where the two agents are Amazon and a manufacturer When is it beneficial to employ agents in

this setting? What is an illustration of loose coupling in

this setting?

Chapter 15 15Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and

Michael Huhns

Page 16: Chapter 15: Agents

Chapter 15 16Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and

Michael Huhns

Action

output

brf

Generate options

filter

action

Sensor

input

beliefs

desires

intentions

Generic BDI Architecture

• Addresses how beliefs, desires and intentions are represented, updated, and acted upon• Somewhat richer

than sense-decide-act: decisions directly affect future decisions

• Consider goal-oriented requirements engineering

Page 17: Chapter 15: Agents

Chapter 15 17Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and

Michael Huhns

Architecture of BDI-Based AgentExecution Cycle: the agent1. Receive new

information2. Update beliefs and

goals3. Reason about actions4. Intend an action5. Select an intended

action 6. Activate selected

intention7. Perform an action8. Update beliefs, goals,

intentions

+run()+currentIntentionIsOK() : boolean(idl)+stopCurrentIntention()+chooseIntention()+perceiveEnvironment()+takeAction()

-B : BeliefSet-D : DesireSet-P : IntentionSet-I : Intention-e : Environment-name: String-a : Action

Agent

+run()+applyAction(in a : Action)

-a : AgentSet

Environment

+add(in a : Agent)+remove(in a : Agent)

-elements: Vector

AgentSet

+includeObservation()-elements: Vector

BeliefSet

+getApplicable(in B : BeliefSet) : DesireSet-elements: Vector

DesireSet

+getApplicable(in D : DesireSet, in B : BeliefSet) : IntentionSet-elements: Vector

IntentionSet

+satisfies(in d : Desire) : boolean(idl)+execute(in a : Agent) : boolean(idl)+context(in B : BeliefSet) : boolean(idl)+stopExecuting()

-id: String-priority: int-d: Desire-a : Agent

Intention

-id: String-value: String

Belief

+context(in B : BeliefSet) : boolean(idl)

-id: String-priority: int

Desire

Action

Page 18: Chapter 15: Agents

Chapter 15 18Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and

Michael Huhns

Web Ontology Language for Services (OWL-S)

An OWL-S service description provides Declarative ads for properties and

capabilities Used for discovery

Declarative APIs Used for execution

A declarative description via inputs, outputs, preconditions, effects (IOPE) Used for composition and interoperation Extended to IOPR: a result combines an

output and associated effects

Page 19: Chapter 15: Agents

Chapter 15 19Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and

Michael Huhns

OWL-S Service Ontology

Service

ServiceGrounding

Resource

ServiceModel

ServiceProfile

provides

supports presents

describedBy

Page 20: Chapter 15: Agents

Chapter 15 20Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and

Michael Huhns

OWL-S Mapped to UDDI

Page 21: Chapter 15: Agents

Chapter 15 21Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and

Michael Huhns

OWL-S Service Model

Resource Service

ServiceProfile ServiceGrounding

ProfileProcess

AtomicProcess SimpleProcess CompositeProcess

ControlConstruct

ServiceModel

ProcessComponent

input

precondition

output

effect

provides

presents describedBy supports

hasProfile

realizes expand

components

computedInput

computedEffectinvocable

computedOutput

composedBy

computedPrecondition

Sequence Split RepeatUnit. . .

QualityRating

ServiceCategoryActor

ParameterDescription

ServiceParameter

Page 22: Chapter 15: Agents

Chapter 15 22Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and

Michael Huhns

OWL-S Example: Processing Book Orders

CreateAccount

LoadAccount

ChooseBook

Add toOrder

SelectCredit Card

ChargeCredit Card

Book StoreSequence Process

Selection Process Iteration Process Choice Process

Choice Process

Page 23: Chapter 15: Agents

Chapter 15 23Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and

Michael Huhns

OWL-S IOPEs for Bookstore Example

Page 24: Chapter 15: Agents

Chapter 15 24Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and

Michael Huhns

Composition as Planning Represent current and goal states Represent each service as an

action Based on its IOPE

Represent a composed service as a plan that invokes the constituent services constraining the control and data flow to achieve the goal state

Page 25: Chapter 15: Agents

Chapter 15 25Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and

Michael Huhns

Rules: Logical Representations Rules are desirable because they are

Modular: easy to read and maintain Inspectable: easy to understand Executable: no further translation

needed Expressive: (commonly) Turing

complete and can capture knowledge that would otherwise not be captured declaratively

Compare with relational calculus (classical SQL) or description logics (OWL)

Declarative, although imperfectly so

Page 26: Chapter 15: Agents

Chapter 15 26Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and

Michael Huhns

Kinds of Rules ECA or Reaction

On event if condition then perform action

Derivation rules: special case of above Integrity constraints: derive false if

error Inference rules

If antecedent then consequent Support multiple computational

strategies Forward chaining; backward chaining

Page 27: Chapter 15: Agents

Chapter 15 27Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and

Michael Huhns

Applying ECA Rules Capture protocols, policies, and

heuristics as ECA rules Examples?

Often, combine ECA with inference rules (to check if a condition holds)

Modeling challenge What is an event? How to capture composite events by

pushing event detection to lower layers

Page 28: Chapter 15: Agents

Example: ECA

IF request (?x ?y ?z) eventAND like (?x ?y) conditionTHEN do(fulfill(?x ?z)) action

1. Watch out for relevant events2. If one occurs, check condition3. If condition holds, perform action

Chapter 15 28Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and

Michael Huhns

Page 29: Chapter 15: Agents

Example: Inference Typical syntax indicating forward chainingIF parent(?x ?y)AND parent (?y ?z) AntecedentTHEN grandparent (?x ?z) Consequent

Typical syntax indicating backward chainingINFER grandparent (?x ?z) ConsequentFROM parent(?x ?y) AntecedentAND parent (?y ?z)

Chapter 15 29Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and

Michael Huhns

Page 30: Chapter 15: Agents

Example: Communication

IF incoming-message(?x ?y ?z)AND policy(?x ?y ?w)AND policy(?x ?z ?v)THEN send message(?x ?v ?w)AND assert internal-fact(?x ?v ?w) Here the policy stands for any internal

decision making, usually defined as INFER policy(?x ?y ?w) FROM …

Chapter 15 30Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and

Michael Huhns

Page 31: Chapter 15: Agents

Exercise State the customer’s rules to capture

how it might interact with a merchant in a purchase protocol RFQ: request for quotes (Price) quote Accept or Reject Goods Payment Receipt

Chapter 15 31Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and

Michael Huhns

Page 32: Chapter 15: Agents

Chapter 15 32Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and

Michael Huhns

Applying Inference Rules Capture general requirements Elaboration tolerance requires

defeasibility Conclusions are not firm in the face of new

information Formulate general rules Override rules to specialize them as needed

Leads to logical nonmonotonicity Easy enough operationally but difficult to

characterize mathematically Details get into logic programming with

negation

Page 33: Chapter 15: Agents

Chapter 15 33Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and

Michael Huhns

Free and Bound Variables General rules involve free

variables For ECA rules: in event and condition

Free variable in action indicates perform action for each binding

For inference rules: in antecedent Free variable in consequent means assert

it for each binding Therefore, to ensure safety, use

only bound variables in action or consequent

Page 34: Chapter 15: Agents

Chapter 15 34Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and

Michael Huhns

Chapter 15 Summary Agents are natural fit with open

environments Agent abstractions support

expressing requirements in a natural manner

Agents go beyond objects and procedural programming