agent concepts and issues

50
Agent-based Software Engineering Workshop Software Engineering Australia (Vic.) September 1998 Lin Padgham Lin Padgham Artificial Intelligence Group Artificial Intelligence Group Dept. of Computer Science Dept. of Computer Science RMIT RMIT Agent concepts and issues Agent concepts and issues Thanks to AOS and E. Sonenberg for some borrowed slides

Upload: tarik-baldwin

Post on 30-Dec-2015

28 views

Category:

Documents


3 download

DESCRIPTION

Agent concepts and issues. Lin Padgham Artificial Intelligence Group Dept. of Computer Science RMIT. Thanks to AOS and E. Sonenberg for some borrowed slides. Many choices. Smart agents with complex knowledge Systems of many small simple agents Agents in the physical world (robots) - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Agent concepts and issues

Agent-based Software Engineering Workshop Software Engineering Australia (Vic.) September 1998

Lin PadghamLin Padgham

Artificial Intelligence GroupArtificial Intelligence Group

Dept. of Computer ScienceDept. of Computer Science

RMITRMIT

Agent concepts and issuesAgent concepts and issues

Thanks to AOS and E. Sonenberg for some borrowed slides

Page 2: Agent concepts and issues

Agent-based Software Engineering Workshop Software Engineering Australia (Vic.) September 1998

Many choicesMany choices

Smart agents with complex knowledge Systems of many small simple agents Agents in the physical world (robots) Small mobile agents ...

Page 3: Agent concepts and issues

Agent-based Software Engineering Workshop Software Engineering Australia (Vic.) September 1998

Agent approachesAgent approaches

Behaviour based situated, reactive (Brooks, Maes …)

Plan-based deliberative, reasoning (Bratman, Georgeff&Rao, …)

Page 4: Agent concepts and issues

Agent-based Software Engineering Workshop Software Engineering Australia (Vic.) September 1998

Behaviour based architectureBehaviour based architecture

perceptsactions

behaviour layer 1

behaviour layer 2

behaviour layer 3

behaviour layer n

Page 5: Agent concepts and issues

Agent-based Software Engineering Workshop Software Engineering Australia (Vic.) September 1998

Behaviour based philosophyBehaviour based philosophy

no internal world model no symbolic reasoning goals a function of observer ‘intelligence’ is emergent

environmentagent

behaviours

Page 6: Agent concepts and issues

Agent-based Software Engineering Workshop Software Engineering Australia (Vic.) September 1998

Example behavioursExample behaviours

avoid obstacle

go to point

Page 7: Agent concepts and issues

Agent-based Software Engineering Workshop Software Engineering Australia (Vic.) September 1998

Merging - corridor exampleMerging - corridor example

Page 8: Agent concepts and issues

Agent-based Software Engineering Workshop Software Engineering Australia (Vic.) September 1998

Merging - go-around exampleMerging - go-around example

Page 9: Agent concepts and issues

Agent-based Software Engineering Workshop Software Engineering Australia (Vic.) September 1998

Merging - won’t always workMerging - won’t always work

weighting

suppression

activation

Page 10: Agent concepts and issues

Agent-based Software Engineering Workshop Software Engineering Australia (Vic.) September 1998

Oscillating behavioursOscillating behaviours

run to ball vs mark opponent

mark opponentrun to ball

Page 11: Agent concepts and issues

Agent-based Software Engineering Workshop Software Engineering Australia (Vic.) September 1998

Behaviour based summaryBehaviour based summary

impressive robotics systems– e.g. walking insect-like robots

work well to a certain complexity

many layers and behaviours lead to difficulty in understanding and dealing with interactions.

no methodology to help with managing interactions

Page 12: Agent concepts and issues

Agent-based Software Engineering Workshop Software Engineering Australia (Vic.) September 1998

Pragmatic plan-based systemsPragmatic plan-based systems

came out of symbolic reasoning and planning recognise need for reactivity accept adequate vs optimal solution recognise that world is dynamic earliest examples IRMA and PRS use pre-defined plans rather than generating plans

Page 13: Agent concepts and issues

Agent-based Software Engineering Workshop Software Engineering Australia (Vic.) September 1998

BDI basic conceptsBDI basic concepts

beliefs - local knowledge base, can be updated desires/goals - what the agent is trying to accomplish actions - elementary things the agent can do to communicate,

or change the environment plans - predetermined sequences of actions (or calls to other

plans) that can accomplish specified tasks intentions - currently “adopted” plans - multiple concurrently events - things that ‘happen’, can be internal or external

Page 14: Agent concepts and issues

Agent-based Software Engineering Workshop Software Engineering Australia (Vic.) September 1998

BDI architectureBDI architecture

beliefs /

world model

goals /

desires

intentionsplans

events

Page 15: Agent concepts and issues

Agent-based Software Engineering Workshop Software Engineering Australia (Vic.) September 1998

Plan selection and executionPlan selection and execution

invocation condition/trigger - when should plan be considered

context condition - under what conditions is plan appropriate

body - actions, sub-goals, sub-plans maintenance condition - abort if broken fail procedure - may be atomic action or more complex

Page 16: Agent concepts and issues

Agent-based Software Engineering Workshop Software Engineering Australia (Vic.) September 1998

Ongoing reasoningOngoing reasoning

when an event occurs, the agent– looks for a relevant plan– for each relevant plan, examines applicability– selects an applicable plan & starts executing

ongoing questions– what goal to pursue or event to react to - now !– how to pursue it– when to suspend / abandon / change– level of commitment, more/less sensitive to change

Page 17: Agent concepts and issues

Agent-based Software Engineering Workshop Software Engineering Australia (Vic.) September 1998

High level programming constructsHigh level programming constructs

Achieve– semantics of try and retry until achieved or possibilities

exhausted Test

– check if known, if not find out Wait-for

– monitor periodically while doing other things

Page 18: Agent concepts and issues

Agent-based Software Engineering Workshop Software Engineering Australia (Vic.) September 1998

Illustrative exampleIllustrative example

Airport– runway– air traffic controller– multiple aircraft

taking off landing

Page 19: Agent concepts and issues

Agent-based Software Engineering Workshop Software Engineering Australia (Vic.) September 1998

Example beliefsExample beliefs

Aircraft controller– arrivals((plane-id, time)(plane-id, time)…)– runways(R1,R2,R3)– ...

Aircraft– schedule((place, time)(place time)…)– altitude(height)– next-arrival(place, time)– ...

Page 20: Agent concepts and issues

Agent-based Software Engineering Workshop Software Engineering Australia (Vic.) September 1998

Example eventsExample events

aircraft enters control zone– possibly a radar sensor event

aircraft contacts controller– a radio message event

runway assigned– possibly an internally generated event following

processing of a message.

Page 21: Agent concepts and issues

Agent-based Software Engineering Workshop Software Engineering Australia (Vic.) September 1998

Example goals and sub-goalsExample goals and sub-goals

land the plane– determine runway– fly landing pattern– execute approach

assign runway

Page 22: Agent concepts and issues

Agent-based Software Engineering Workshop Software Engineering Australia (Vic.) September 1998

Example planExample plan

Invocation: plane enters radar area

Context: plane not scheduled

Maintenance: no emergency

Fail: send message "holding pattern"

establish communication

allocate runway

monitor approach and land

direct to park

Page 23: Agent concepts and issues

Agent-based Software Engineering Workshop Software Engineering Australia (Vic.) September 1998

Hybrid systemsHybrid systems

Layered architecture– reactive layer– deliberative layer

Further layers– plan generation– social awareness– emotion/personality– …

percepts actions

Page 24: Agent concepts and issues

Agent-based Software Engineering Workshop Software Engineering Australia (Vic.) September 1998

Vacuum cleaner exampleVacuum cleaner example

vacuum cleaner problem (Firby, 1993) problem: autonomous agent (robot) vacuuming a room without

over-engineering the task solution requires a range of reactive and deliberative behaviour

– reactive: avoid obstacles - furniture, children– deliberative: map the room, plan the task, interact with

humans

Page 25: Agent concepts and issues

Agent-based Software Engineering Workshop Software Engineering Australia (Vic.) September 1998

Vacuum cleaner - part 1Vacuum cleaner - part 1

simple vacuum task (vacuum as agent) – objects in room are simple (e.g., convex)– stationary during cleaning, may move between cleanings– people occasionally move through the room

reactive architecture appropriate / sufficient for navigation– minimal state, simple sensing e.g. rug, dirt– simple strategies can cover the room without a map

(e.g., random walk, slow spiral outwards, etc.)

Page 26: Agent concepts and issues

Agent-based Software Engineering Workshop Software Engineering Australia (Vic.) September 1998

Vacuum cleaner - part 2Vacuum cleaner - part 2

synthetic vacuum task– complex objects (clean around, under)– moving and stationary objects treated differently– different vacuuming strategies at different times in

different situations need to represent object classes and associated strategies

– solution naturally expressed in terms of goals and plans– still need reactive capabilities for obstacle avoidance

Page 27: Agent concepts and issues

Agent-based Software Engineering Workshop Software Engineering Australia (Vic.) September 1998

Vacuum cleaner - part 3Vacuum cleaner - part 3

intelligent vacuum task– negotiate with user

“Do under the sofa first.” “Do here later.” “Stay away from the baby.”

– be able to operate correctly in varied situations

need higher level understanding of goals and plans useful to retain reactive properties for obstacle avoidance

Page 28: Agent concepts and issues

Agent-based Software Engineering Workshop Software Engineering Australia (Vic.) September 1998

Multi-agent systems - (DAI)Multi-agent systems - (DAI)

no global control mechanism each agent has limited knowledge/capability asynchronous computation Interaction

– co-ordination– co-operation– competition– negotiation

Page 29: Agent concepts and issues

Agent-based Software Engineering Workshop Software Engineering Australia (Vic.) September 1998

Co-operation vs co-ordinationCo-operation vs co-ordination

co-ordination (traffic)– individual goals– mutual benefit– avoid potential conflict

co-operation (soccer game)– shared goals– shared plans– commitment

Page 30: Agent concepts and issues

Agent-based Software Engineering Workshop Software Engineering Australia (Vic.) September 1998

TeamworkTeamwork

multi-agent plans roles authority relationships - can one assume the other will take

on tasks when requested? global information or partial information? individual or joint goals? conflicting priorities?

Page 31: Agent concepts and issues

Agent-based Software Engineering Workshop Software Engineering Australia (Vic.) September 1998

Coordination protocols, e.g.Coordination protocols, e.g.

contract net– manager / contractor multi-pass bidding system

partial global planning– agents exchange partial information on goals– use info on others’ goals to reason about own activities– use contract-net to assign tasks to underutilised agents

conversation plans– use predetermined knowledge of others’ capabilities and known

authority relationships to drive negotiation

Page 32: Agent concepts and issues

Agent-based Software Engineering Workshop Software Engineering Australia (Vic.) September 1998

Communication mechanismsCommunication mechanisms

blackboards contract net protocol

– manager / contractor multi-pass bidding system interaction protocols

– e.g. request, confirm, ... shared plans

– possibly using roles joint intentions, joint goals, joint commitments

Page 33: Agent concepts and issues

Agent-based Software Engineering Workshop Software Engineering Australia (Vic.) September 1998

Open environmentsOpen environments

agents need to find each other interoperability - agent communication languages middle agents

– matchmakers– brokers

agent difference

Page 34: Agent concepts and issues

Agent-based Software Engineering Workshop Software Engineering Australia (Vic.) September 1998

Agent Communication Languages Agent Communication Languages (ACLs)(ACLs)

general requirements– high level - concise, easy to parse, readable – separate communication acts from domain information– fit with modern networking technology - support

point-to-point, broadcast, multicast– be independent of transport mechanisms (http,

TCP/IP...)– support for “facilitators”

Page 35: Agent concepts and issues

Agent-based Software Engineering Workshop Software Engineering Australia (Vic.) September 1998

KQMLKQML

a proposed “standard” for inter-agent communication, still under development

((ask-oneask-one: sender joe: sender joe: content (: content (PRICE IBM ?PRICE IBM ?

priceprice)): receiver stock-server: receiver stock-server: reply-with ibm-stock: reply-with ibm-stock: language LPROLOG: language LPROLOG: ontology NYSE-: ontology NYSE-

TICKSTICKS))

(tell(tell: sender stock-: sender stock-

serverserver: content (: content (PRICE PRICE

IBM 14IBM 14)): receiver joe: receiver joe: in-reply-to ibm-: in-reply-to ibm-

stockstock: language : language

LPROLOGLPROLOG: ontology NYSE-: ontology NYSE-

TICKSTICKS))

Page 36: Agent concepts and issues

Agent-based Software Engineering Workshop Software Engineering Australia (Vic.) September 1998

CORBACORBA

Non-ACL Communication Infrastructure:

– popular for integration in intranets, Web

– current standard limited to OO RPC-style communication

– event service usable in a few cases, message service in future

Page 37: Agent concepts and issues

Agent-based Software Engineering Workshop Software Engineering Australia (Vic.) September 1998

Summary of issuesSummary of issues

complexity of agent agent architecture,

– behaviour based, plan based, hybrid many agents or few agent interactions

– competing, co-ordinating, co-operating, negotiating open environments

– agent diversity, middle agents, ACL's

Page 38: Agent concepts and issues

Agent-based Software Engineering Workshop Software Engineering Australia (Vic.) September 1998

Case study Case study

schedule the use of runways on an airport

arrivals departures multiple runways

AircraftAircraftAircraft

Air Traffic Controller

Runway

Runway

...

...

Page 39: Agent concepts and issues

Agent-based Software Engineering Workshop Software Engineering Australia (Vic.) September 1998

AgentsAgents

aircraft agents

– request runway slot from airport

– monitor progress of real aircraft

– compute holding / delay actions air traffic controller agents

– arbitrator of runway use

– airport procedures

– weather knowledge runway agents

– manage usage schedule

– slot in new aircraft

Page 40: Agent concepts and issues

Agent-based Software Engineering Workshop Software Engineering Australia (Vic.) September 1998

bidding solution bidding solution

aircraft

aircraft

atc

runway runway runway

aircraft

request

request

allocation

bidrequest bid

request

bid

allocation

Page 41: Agent concepts and issues

Agent-based Software Engineering Workshop Software Engineering Australia (Vic.) September 1998

aircraft agents (bidding)aircraft agents (bidding)

aircraft

flight planpositionATL / ATTETA

position updates

runway request runway allocation

Page 42: Agent concepts and issues

Agent-based Software Engineering Workshop Software Engineering Australia (Vic.) September 1998

airtraffic controller agent (bidding)airtraffic controller agent (bidding)

atc

runway statusairport proceduresweather

runway request

runway allocation

requestallocation

bid

rescheduling

Page 43: Agent concepts and issues

Agent-based Software Engineering Workshop Software Engineering Australia (Vic.) September 1998

runway agents (bidding)runway agents (bidding)

runway

schedulereadiness

request bid

allocationrescheduling

Page 44: Agent concepts and issues

Agent-based Software Engineering Workshop Software Engineering Australia (Vic.) September 1998

Example Example bidding interactionsbidding interactions

(aircraft)ABA345

(atc)Turichirappalli

(runway)East-West 1

request

(runway)East-West 2

request

request

bid

bid

allocationallocation

rescheduling (QF638)

Page 45: Agent concepts and issues

Agent-based Software Engineering Workshop Software Engineering Australia (Vic.) September 1998

aircraft

daisy chain solutiondaisy chain solution

aircraft

atc

runway runway runway

aircraft

request

request

best so farbest so far

allocation

best allocation

allocation rescheduling

Page 46: Agent concepts and issues

Agent-based Software Engineering Workshop Software Engineering Australia (Vic.) September 1998

aircraft agents (daisy chain)aircraft agents (daisy chain)

aircraft

flight planpositionATL / ATTETA

position updates

runway request runway allocation

Page 47: Agent concepts and issues

Agent-based Software Engineering Workshop Software Engineering Australia (Vic.) September 1998

airtraffic controller agent airtraffic controller agent (daisy chain)(daisy chain)

atc

runway statusairport proceduresweather

runway request

runway allocation

request best

allocation rescheduling

Page 48: Agent concepts and issues

Agent-based Software Engineering Workshop Software Engineering Australia (Vic.) September 1998

runway agents (daisy chain)runway agents (daisy chain)

runway

schedulereadiness

request andbest so far

request andbest so far

allocation rescheduling

Page 49: Agent concepts and issues

Agent-based Software Engineering Workshop Software Engineering Australia (Vic.) September 1998

ExampleExampledaisy chain interactionsdaisy chain interactions

(aircraft)ABA345

(atc)Turichirappalli

(runway)East-West 1

request

(runway)East-West 2

request

best so far

best

allocationallocation

rescheduling (QF638)

Page 50: Agent concepts and issues

Agent-based Software Engineering Workshop Software Engineering Australia (Vic.) September 1998

Case Study 2 - wrapupCase Study 2 - wrapup

the example focused more on the interactions among agents than their internal architecture

“intelligence” could be embedded in the agents, e.g. how the air traffic controller adapts to changed weather

different domains may require different conceptual and software tools either when designing or when building the systems

the diversity of domains justifies the existing variety of agent architectures and frameworks