Title: Agent Based Software Development
1Agent Based Software Development
- Michael Luck, Ronald Ashri and Mark dInverno
2Agent Architectures
- What kind of computational entity is an agent?
- Why architecture?
- to predict what an agent in its current state
will do in its current environment - a methodology or blueprint for building agent
systems
3Different Agent Architectures
- Single-agent (micro)
- reactive agent architectures
- deliberative agent architectures
- Hybrid agent architectures
- Multi-agent (micro and macro)
- Macro norms, protocols, languages
- Micro designing individual agents that can work
effectively in a society
4From the Traditional AI View to Reactive Agent
Architectures
- Traditional AI View
- Symbolic (internal) representation
- Manipulate this representation to work out what
to do next - More recent View
- Effective behaviour does not need representation
and manipulation - Symbolic reasoning is very resource demanding
- Agents must be situated and embodied with symbol
reflex rules
5Reactive Agent Architectures
- behaviour directly coupled with the world
- stimulus-response rules
- Brooks was a pioneer
- Subsumption Architecture
- Maes also
- Agent network architecture
- Intelligent behaviour is an emergent phenomenon
arisiing from the interaction of societies of
nonintelligent systems
6Subsumption Architectures
- A means of controlling behaviour of mobiles
robots in real time 3 basic requirements - Agents that can cope with multiple goals
- Agents should have multiple sensors
- Agents should be robust
- Function when some sensors fail
- Function in dynamic uncertain environments
7Layered Architecture Task Achieving Behaviours
- Avoid contact with objects
- Wander
- Explore
- Build a map and plan routes
- Notice environment change
- Identify objects, and perform certain
object-related tasks - Build and execute plans to change world in some
desirable way - Reason about the behaviour of other objects, and
modify plans
8Subsumption Architecture Operation
- Layers unaware of layers above them
- Layers able to examine details of layers below
them - Each layer connected to all sensors but only
extracts information relevant to that layer - Layers can suppress lower layers
- suppressing inputs
- inhibiting outputs
9The Subsumption Architecture
10Pros and Cons of the Subsumption Architecture
- Pros
- Showed decomposition by behaviour rather than
function was possible - Modular structure and a clear control
methdolology - Impact on other architectures
- Cons
- No explicit reasoning how would it scale up?
- No design methodology built on intuition rather
than a set of guiding principles - Difficult to perform any formal analysis and so
predict or explain behaviour
11Agent Network Architecture
- Based on the notion that intelligent systems
consist of societies of mindless interacting
systems - Consists of competence modules
- compete for behaviour using activation
- Activation based on
- whether a module is currently executable
- perception of the environment
- current goals
12Agent Network Architecture Operation
- Modules are linked
- activated modules increase the activation of
their successors - Non executable models activate their predecessors
- All modules decrease activation of their
conflictors - Architecture is distributed, modular and robust.
- Has not been extended for designing multi-agent
systems in general
13Deliberative Agent Architectures
- Maintain and manipulate representations of the
world - To model rational or intentional agency use
mental attitudes - Eg. Beliefs, goals, desires, knowledge, plans,
motivations, intentions - 3 Basic categories
- Informative (about the world)
- Motivational (what drives the agent)
- Deliberative (directs agent behaviour)
14Why Mental Attidues?
- First, if an agent can be described in terms of
what it knows, what it wants, and what it
intends, then,since it is modeled on familiar
concepts, it becomes possible for users to
understand and predict its behavior. - Second, understanding the relationship between
these different attitudes and how they affect
behavior can provide the control mechanism for
intelligent action in general. - Third, computational agents designed in this way
may be able to interpret the behavior of others
independently from any implementation.
15BDI Theory and Architecture
- Supports many deliberative architectures
- Belief, desire and intention (theory)
- Represented as data structures (beliefs, goals
and intentions) which determine the operation of
an agent - Cannot commit to all its goals as resource
bounded so selects some which are the agents
intentions
16Success of BDI
- Many formal models
- Generic agent architectures
- Basis for many previous and current agent
architectures (including MAS) - Successfully applied to more than just toy
problems or simulations - Air traffic control
- Customer-service applications (Agentis)
- First BDI system known as the Proceedural
Reasoning System (PRS)
17The PRS Architecture
18PRS
- Beliefs, goals, intentions and plan library
- Agent perceive the world through external events
- Plans proceedural knowledge
- Recipes for action (tree labeled with actions and
formulas which evaluate to a boolean) - Trigger (what an agent must perceive)
- Context (what an agent must believe)
- If plans cannot proceed they post internal events
19From Plans to Intentions
- Agents respond to Internal and External events by
selcting an appropriate plan in ts plan based
whose trigger and context is true - When a plan is adopted it becomes an intention
- This intention become part of the agents
intention structure
20PRS Operation
- 1. Perceive the world, and update the set of
events. - 2. For each event, generate the set of plans
whose trigger condition matches the event. These
are known as the relevant plans of an event. - 3. For each event, select the subset of relevant
plans whose context condition is satisfied by the
agents current beliefs. These plans are known as
active plans. - 4. From the set of active plans, select one for
execution so that it is now an intention. - 5. Include this new intention in the current
intention structure either by creating a new
intention stack or by placing it on the top of an
existing stack. - 6. Select an intention stack, take the topmost
intention, and execute the next formula in it.
21AgentSpeak(L)
- Attempt to bridge the gap between BDI theories
(highly abstract) and implemented BDI systems - It is an abstraction of an implemented BDI system
- Captures essence of a PRS system
22AgentSpeak(L) Data Structures and Operation
- Beliefs
- Intentions (sequences of plans)
- Plans have a trigger, context and a sequence of
actions and goals - Agents instantiate plans in response to internal
events (goals of executing plans) and external
events (which effect a belief change) - Agent execute the intentions
23Hybrid Agent Architectures
- Solely Reactive Systems
- Cannot reason about their actions
- Will never be able to achieve sophisticated
behaviour - Solely Deliberative Systems
- Will never be able to act in time
- If agents are going to be able to survive in
complex dynamic environments and achieve complex
goals they will need to be If agents are going to
be able to survive in complex dynamic
environments and achieve complex goals they will
need to be both reactive and deliberative
24Touring Machines
- Based on the following observations
- Agents need the ability to deal with unexpected
events in the real (physical or electronic)
world, and do so at different levels of
granularity. - Agents need to deal with the dynamism in the
environment created by the actions of other
agents. - Agents must pay attention to environmental
change. - Agents need to reason about temporal constraints
in the knowledge that computation is necessarily
resource-bounded. - Agents must reason about the impact the
short-term actions may have on long-term goals.
25TouringMachines Architectural Layers
- Reactive layer
- Responds to events not explicitly programmed in
other layers such as obstacle avoidance - Planning Layer
- Generating, executing and modifying plans
- Modelling Layer
- Builds and maintains models of other agents in
the environment
26TouringMachine Architecture
27TouringMachines
- Each layer models world at different level of
abstraction - Each directly connected to perception and action
- Any two layers can communicate
- Global rules used when conflicts between layers
arise and can surpress perception or action - Important for showing how to build an agent which
exhibited a range of behaviours from deliberative
to reactive
28InterRRaP
- Another layered architecture
- Based on BDI
- It is vertically layered in constrast to
TouringMachines which are horizontally layered - Horizontally layered each layer can interact
with every other layer and with perceptions and
actions - Vertically layered communication only possible
between adjacent layers - InterRRaP has four such layers
- The essential operation of the agent in response
to events in the environment, control spreads
upwards until the appropriate level is reached.
29InteRRaP Architecture
30Distributed Agent Architectures
- Agents described previously may have architecture
that enables them to interact effectively with
others at run time - Here the design is concerned with individual
agents and the dimensions required micro-level
view - Macro-level view considers a multiagent system
from a holistic view, where interaction,
coordination and cooperation between agents are
designed in advance of run time
31Contract Net Protocol Overview
- Most commonly employed coordination mechanism for
controlling the problem solving behavior of a
collection of distributed agents - concerned with the dynamic configuration and
coordination of agents to form hierarchies that
can achieve complex, distributed tasks. - provides a mechanism by which nodes (or agents)
can dynamically create relationships in response
to the current processing requirements of the
system as a whole, thereby enabling opportunistic
task allocation.
32Contract Net Protocol
- 1. A node decomposes a task into a number of
subtasks and issues a task announcement
describing what needs to be performed with
eligibility requirements - 2. Free nodes bid if they fulfil the eligibility
specification - 3. Once all bids have been received they are
ranked and a contract is awarded to the highest
ranked bidder - 4. There is now a contract between the manager
who made the task announcement and the bidder
(the contractor). Over time, the manager monitors
the problem solving and integrates partial
results - 5. The manager terminates a contract with a
termination message.
33Contract Net Protocol
34The Contract Net Hierarchy
- Subcontracting may take place
35Contract Net Summary
- The contract net protocol was a novel means for
dynamically allocating tasks in distributed
systems - Still commonly found in many agent systems.
- However, it offers a very simple coordination
mechanism - does not provide any strategies for global
coherence - only suited to situations in which the tasks are
easily decomposable into - only suitable if agents are not in conflict
- does not support mechanisms for bargaining or
negotiating - We use it to illustrate general principles
involved when considering the design of systems
from the macrolevel perspective.
36Agentis Agent Communication Languages
- Agent Communication Languages
- FIPA ACL
- KQML
- Encodes
- Domain specific content
- Set of addressess
- Illocutionary
- Typically do not encode how a particular message
should be used in the context of a wider
communication episode - Agentis includes set of agent protocols for
reliable concurrent request and provision of
services and tasks from and to agents. -
37Agentis
- Agent Interaction Model
- Includes the notions of Services and Tasks
- Services are requested by human users
- Services may call upon a series of tasks as part
of a service contract
38Other Approaches to MacroLevel Organisation
- DECAF
- Rapid design and execution of agents
- Focus on defining generic behaviours that can be
re-used - RETSINA
- a multiagent infrastructure that comprises a set
of services, conventions, and knowledge that
enable complex social interactions such as
negotiation to take place - TeamCore
- based on principle that an agent integration
infrastructure (a set of services and
conventions) based on theoretical principles of
coordination can automate robust coordination
among heterogeneous agents in distributed systems
39Other Agent Approaches Agent-Oriented
Programming
- Another approach to building agents is to design
a programming language with semantics based on
some theory of rational or intentional agency,
such as the BDI model, and to program the desired
behavior of individual agents directly using
mental attitudes. - Agent-Oriented Programming
40Agent-Oriented Programming
- program comprises a set of transition rules that
specify how an agent in a given mental state will
respond to an input, which may be a set of
messages from other agents, by defining its new
mental state and any outputs. - One example is PLACA based on AGENT0 which takes
a societal view (agents interact with each other
to achieve their own goals)
41PLACA Program
- Agents state consists of capabilities and its
mental state, which comprises beliefs,
intentions, and plans. - At every step, an agent collects messages that
have been received from others and updates its
mental state according to its defining program. - At the beginning of each execution step, those
transition rules that are satisfied in the
current state are identified, and applied to the
current mental state and messages collected from
the input buffer. - Once the mental state is updated, messages that
need to be sent are placed in the output buffer,
and actions that need to be performed are
recorded and executed in the next step. - If there is sufficient time before the next tick
of the clock, the planner may construct and
refine current plans for satisfying intentions.
42PLACA Interpreter
43Concurrent MeTaTeM
- Also takes a societal view
- Agents specified using a temporal logic that is
directly executable - Agents specified using temporal logic formula
- An interpreter attempts to construct a model in
which the formula is true - Dynamically changing environment also alters the
model so responses must be made to what has just
been made true or untrue in the model
44Specification of a Controller agent in Concurrent
MetaTeM
- 1. If an agent asks, then eventually give the
resource to that agent - 2. Do not give to anyone unless they have asked
since you last gave to them - 3. If you give to two people, then they must be
the same person.
45Summary
- Deliberative vs Reactive
- design for decisions at run time - design occurs
before run time - Micro vs Macro
- design for decisions at run time - design occurs
before run time