Lecture 4 – Bond Agents What is a software agent? Mobility The Bond Agent Model.
What is a software agent It depends whom you ask: Someone from the distributed objects community: “ a software agent is an active mobile object”. An AI person: “A software agent is code capable to exhibit autonomous and intelligent behavior: Infer new facts given a set of rules and facts. Plan Learn. Us: a software agent is a mobile entity capable of intelligent behavior.
Agent dimensions
Agent-world interactions
Mobility Physical Mobility Code Mobility
Code mobility Strong mobility: Weak mobility: anywere, anytime. only to some places only at specific moments of time
Objectives for the design of Bond Assemble dynamically an agent from reusable components. Create an open-ended environment for agents. Support concurrency. Allow changes in the agent behavior. Support weak agent mobility.
Multi-plane state machines different facets of activity: Bond components Multi-plane state machines different facets of activity: User-interractions Reasoning….. Strategies: code executable when an agent enters a state. Model of the word shared memory allowing strategies in the same plane or in different planes to communicate.
From agent description, to agent creation and to execution Blueprint: an agent description language. An agent factory interprets the agent description and generates an internal data structure that controls the run-time behavior of the agent.
The structure of a strategy
Agent surgery Dynamic modification of an agent. The agent factory uses a surgical blueprint to modify the agent, then generates a modified blueprint.
Agent migration Done at the request of a beneficiary who may supply a migration blueprint. 12 step process desribed in the text at page 511-512.