Chapter 15: Agents
description
Transcript of Chapter 15: Agents
![Page 1: Chapter 15: Agents](https://reader036.fdocuments.net/reader036/viewer/2022062521/568168b7550346895ddf9577/html5/thumbnails/1.jpg)
Chapter 15:Agents
Service-Oriented Computing: Semantics, Processes, Agents– Munindar P. Singh and Michael N. Huhns, Wiley, 2005
![Page 2: Chapter 15: Agents](https://reader036.fdocuments.net/reader036/viewer/2022062521/568168b7550346895ddf9577/html5/thumbnails/2.jpg)
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](https://reader036.fdocuments.net/reader036/viewer/2022062521/568168b7550346895ddf9577/html5/thumbnails/3.jpg)
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](https://reader036.fdocuments.net/reader036/viewer/2022062521/568168b7550346895ddf9577/html5/thumbnails/4.jpg)
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](https://reader036.fdocuments.net/reader036/viewer/2022062521/568168b7550346895ddf9577/html5/thumbnails/5.jpg)
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](https://reader036.fdocuments.net/reader036/viewer/2022062521/568168b7550346895ddf9577/html5/thumbnails/6.jpg)
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](https://reader036.fdocuments.net/reader036/viewer/2022062521/568168b7550346895ddf9577/html5/thumbnails/7.jpg)
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](https://reader036.fdocuments.net/reader036/viewer/2022062521/568168b7550346895ddf9577/html5/thumbnails/8.jpg)
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](https://reader036.fdocuments.net/reader036/viewer/2022062521/568168b7550346895ddf9577/html5/thumbnails/9.jpg)
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](https://reader036.fdocuments.net/reader036/viewer/2022062521/568168b7550346895ddf9577/html5/thumbnails/10.jpg)
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](https://reader036.fdocuments.net/reader036/viewer/2022062521/568168b7550346895ddf9577/html5/thumbnails/11.jpg)
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](https://reader036.fdocuments.net/reader036/viewer/2022062521/568168b7550346895ddf9577/html5/thumbnails/12.jpg)
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](https://reader036.fdocuments.net/reader036/viewer/2022062521/568168b7550346895ddf9577/html5/thumbnails/13.jpg)
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](https://reader036.fdocuments.net/reader036/viewer/2022062521/568168b7550346895ddf9577/html5/thumbnails/14.jpg)
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](https://reader036.fdocuments.net/reader036/viewer/2022062521/568168b7550346895ddf9577/html5/thumbnails/15.jpg)
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](https://reader036.fdocuments.net/reader036/viewer/2022062521/568168b7550346895ddf9577/html5/thumbnails/16.jpg)
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](https://reader036.fdocuments.net/reader036/viewer/2022062521/568168b7550346895ddf9577/html5/thumbnails/17.jpg)
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](https://reader036.fdocuments.net/reader036/viewer/2022062521/568168b7550346895ddf9577/html5/thumbnails/18.jpg)
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](https://reader036.fdocuments.net/reader036/viewer/2022062521/568168b7550346895ddf9577/html5/thumbnails/19.jpg)
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](https://reader036.fdocuments.net/reader036/viewer/2022062521/568168b7550346895ddf9577/html5/thumbnails/20.jpg)
Chapter 15 20Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and
Michael Huhns
OWL-S Mapped to UDDI
![Page 21: Chapter 15: Agents](https://reader036.fdocuments.net/reader036/viewer/2022062521/568168b7550346895ddf9577/html5/thumbnails/21.jpg)
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](https://reader036.fdocuments.net/reader036/viewer/2022062521/568168b7550346895ddf9577/html5/thumbnails/22.jpg)
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](https://reader036.fdocuments.net/reader036/viewer/2022062521/568168b7550346895ddf9577/html5/thumbnails/23.jpg)
Chapter 15 23Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and
Michael Huhns
OWL-S IOPEs for Bookstore Example
![Page 24: Chapter 15: Agents](https://reader036.fdocuments.net/reader036/viewer/2022062521/568168b7550346895ddf9577/html5/thumbnails/24.jpg)
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](https://reader036.fdocuments.net/reader036/viewer/2022062521/568168b7550346895ddf9577/html5/thumbnails/25.jpg)
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](https://reader036.fdocuments.net/reader036/viewer/2022062521/568168b7550346895ddf9577/html5/thumbnails/26.jpg)
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](https://reader036.fdocuments.net/reader036/viewer/2022062521/568168b7550346895ddf9577/html5/thumbnails/27.jpg)
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](https://reader036.fdocuments.net/reader036/viewer/2022062521/568168b7550346895ddf9577/html5/thumbnails/28.jpg)
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](https://reader036.fdocuments.net/reader036/viewer/2022062521/568168b7550346895ddf9577/html5/thumbnails/29.jpg)
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](https://reader036.fdocuments.net/reader036/viewer/2022062521/568168b7550346895ddf9577/html5/thumbnails/30.jpg)
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](https://reader036.fdocuments.net/reader036/viewer/2022062521/568168b7550346895ddf9577/html5/thumbnails/31.jpg)
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](https://reader036.fdocuments.net/reader036/viewer/2022062521/568168b7550346895ddf9577/html5/thumbnails/32.jpg)
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](https://reader036.fdocuments.net/reader036/viewer/2022062521/568168b7550346895ddf9577/html5/thumbnails/33.jpg)
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](https://reader036.fdocuments.net/reader036/viewer/2022062521/568168b7550346895ddf9577/html5/thumbnails/34.jpg)
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