Agent concepts and issues

Lin Padgham Artificial Intelligence Group Dept. of Computer Science RMIT
Thanks to AOS and E. Sonenberg for some borrowed slides

Agent-based Software Engineering Workshop

Software Engineering Australia (Vic.)

September 1998

Many choices
 Smart

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

Agent-based Software Engineering Workshop

Software Engineering Australia (Vic.)

September 1998

Agent approaches
 Behaviour

based  situated, reactive  (Brooks, Maes …)
 Plan-based  deliberative,

reasoning  (Bratman, Georgeff&Rao, …)

Agent-based Software Engineering Workshop

Software Engineering Australia (Vic.)

September 1998

Behaviour based architecture

behaviour layer n

percepts
behaviour layer 3 behaviour layer 2 behaviour layer 1

actions

Agent-based Software Engineering Workshop

Software Engineering Australia (Vic.)

September 1998

Behaviour based philosophy
 no

internal world model  no symbolic reasoning  goals a function of observer  „intelligence‟ is emergent

agent behaviours

environment

Agent-based Software Engineering Workshop

Software Engineering Australia (Vic.)

September 1998

) September 1998 .Example behaviours go to point avoid obstacle Agent-based Software Engineering Workshop Software Engineering Australia (Vic.

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

) September 1998 .go-around example Agent-based Software Engineering Workshop Software Engineering Australia (Vic.Merging .

) September 1998 .won‟t always work weighting suppression activation Agent-based Software Engineering Workshop Software Engineering Australia (Vic.Merging .

) September 1998 .Oscillating behaviours  run to ball vs mark opponent run to ball mark opponent Agent-based Software Engineering Workshop Software Engineering Australia (Vic.

) September 1998  no Agent-based Software Engineering Workshop .Behaviour based summary  impressive robotics systems – e. walking insect-like robots well to a certain complexity  work  many layers and behaviours lead to difficulty in understanding and dealing with interactions.g. methodology to help with managing interactions Software Engineering Australia (Vic.

) September 1998 .Pragmatic 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 Agent-based Software Engineering Workshop Software Engineering Australia (Vic.

can be updated  desires/goals .) September 1998 .predetermined sequences of actions (or calls to other plans) that can accomplish specified tasks  intentions .multiple concurrently  events .elementary things the agent can do to communicate.things that „happen‟. can be internal or external  Agent-based Software Engineering Workshop Software Engineering Australia (Vic.what the agent is trying to accomplish  actions .local knowledge base. or change the environment  plans .BDI basic concepts beliefs .currently “adopted” plans .

BDI architecture beliefs / events world model goals / desires plans intentions Agent-based Software Engineering Workshop Software Engineering Australia (Vic.) September 1998 .

may be atomic action or more complex Agent-based Software Engineering Workshop Software Engineering Australia (Vic.when should plan be considered  context condition .Plan selection and execution  invocation condition/trigger .actions.abort if broken  fail procedure . sub-plans  maintenance condition . sub-goals.) September 1998 .under what conditions is plan appropriate  body .

Ongoing reasoning  when an event occurs. examines applicability – selects an applicable plan & starts executing  ongoing questions – what goal to pursue or event to react to . more/less sensitive to change Agent-based Software Engineering Workshop Software Engineering Australia (Vic.) September 1998 .now ! – how to pursue it – when to suspend / abandon / change – level of commitment. the agent – looks for a relevant plan – for each relevant plan.

if not find out  Wait-for – monitor periodically while doing other things – Agent-based Software Engineering Workshop Software Engineering Australia (Vic.) September 1998 .High level programming constructs  Achieve semantics of try and retry until achieved or possibilities exhausted  Test – check if known.

Illustrative example  Airport – – – runway air traffic controller multiple aircraft taking off landing Agent-based Software Engineering Workshop Software Engineering Australia (Vic.) September 1998 .

R2. time)(place time)…) – altitude(height) – next-arrival(place.) September 1998 ..R3) – ..  Aircraft – schedule((place.. time)…) – runways(R1. time)(plane-id. Agent-based Software Engineering Workshop Software Engineering Australia (Vic.. time) – .Example beliefs  Aircraft controller – arrivals((plane-id.

) September 1998 .Example 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. Agent-based Software Engineering Workshop Software Engineering Australia (Vic.

) September 1998 .Example goals and sub-goals  land – – – the plane determine runway fly landing pattern execute approach runway  assign Agent-based Software Engineering Workshop Software Engineering Australia (Vic.

Example plan Invocation: plane enters radar area establish communication allocate runway Context: plane not scheduled Maintenance: no emergency monitor approach and land direct to park Fail: send message "holding pattern" Agent-based Software Engineering Workshop Software Engineering Australia (Vic.) September 1998 .

Hybrid systems   Layered architecture – reactive layer – deliberative layer Further layers – plan generation – social awareness – emotion/personality – … percepts actions Agent-based Software Engineering Workshop Software Engineering Australia (Vic.) September 1998 .

plan the task. 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 .Vacuum cleaner example  vacuum cleaner problem (Firby.furniture. children – deliberative: map the room. interact with humans Agent-based Software Engineering Workshop Software Engineering Australia (Vic.) September 1998 .

dirt – simple strategies can cover the room without a map (e.g. may move between cleanings people occasionally move through the room  reactive architecture appropriate / sufficient for navigation – minimal state.. rug. slow spiral outwards. convex) stationary during cleaning..) Software Engineering Australia (Vic.g. simple sensing e.) September 1998 Agent-based Software Engineering Workshop .Vacuum cleaner . random walk. etc.part 1  simple – – – vacuum task (vacuum as agent) objects in room are simple (e.g.

Vacuum cleaner .part 2  synthetic vacuum task – complex objects (clean around.) September 1998 . 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 Agent-based Software Engineering Workshop Software Engineering Australia (Vic.

” be able to operate correctly in varied situations need higher level understanding of goals and plans  useful to retain reactive properties for obstacle avoidance Agent-based Software Engineering Workshop Software Engineering Australia (Vic.” “Stay away from the baby.) September 1998 .part 3  intelligent – –  vacuum task negotiate with user “Do under the sofa first.” “Do here later.Vacuum cleaner .

(DAI)  no global control mechanism  each agent has limited knowledge/capability  asynchronous computation  Interaction – co-ordination – co-operation – competition – negotiation Agent-based Software Engineering Workshop Software Engineering Australia (Vic.Multi-agent systems .) September 1998 .

Co-operation vs co-ordination  co-ordination (traffic) – individual goals – mutual benefit – avoid potential conflict  co-operation (soccer game) – shared goals – shared plans – commitment Agent-based Software Engineering Workshop Software Engineering Australia (Vic.) September 1998 .

) September 1998 .Teamwork  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? Agent-based Software Engineering Workshop Software Engineering Australia (Vic.

e.) September 1998 .  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 Agent-based Software Engineering Workshop Software Engineering Australia (Vic.g.Coordination protocols.

Communication mechanisms  blackboards  contract net protocol – manager / contractor multi-pass bidding system  interaction protocols – e.. .) September 1998 . joint commitments Agent-based Software Engineering Workshop Software Engineering Australia (Vic. joint goals..g. confirm. request.  shared plans – possibly using roles  joint intentions.

Open environments  agents need to find each other  interoperability .) September 1998 .agent communication languages  middle agents – matchmakers – brokers  agent difference Agent-based Software Engineering Workshop Software Engineering Australia (Vic.

support point-to-point.Agent Communication Languages (ACLs)  general requirements – high level . multicast – be independent of transport mechanisms (http..) September 1998 Agent-based Software Engineering Workshop .concise. readable – separate communication acts from domain information – fit with modern networking technology . TCP/IP. easy to parse.) – support for “facilitators” Software Engineering Australia (Vic.. broadcast.

) September 1998 . still under development (tell : sender stock-server : content (PRICE IBM 14) : receiver joe : in-reply-to ibm-stock : language LPROLOG : ontology NYSE-TICKS) (ask-one : sender joe : content (PRICE IBM ?price) : receiver stock-server : reply-with ibm-stock : language LPROLOG : ontology NYSE-TICKS) Agent-based Software Engineering Workshop Software Engineering Australia (Vic.KQML a proposed “standard” for inter-agent communication.

Web – current standard limited to OO RPC-style communication – event service usable in a few cases.) September 1998 . message service in future Agent-based Software Engineering Workshop Software Engineering Australia (Vic.CORBA  Non-ACL Communication Infrastructure: – popular for integration in intranets.

Summary of issues  complexity of agent  agent architecture. hybrid  many agents or few  agent interactions – competing. ACL's Agent-based Software Engineering Workshop Software Engineering Australia (Vic. middle agents. co-ordinating.) September 1998 . – behaviour based. co-operating. plan based. negotiating  open environments – agent diversity.

Case study  schedule the use of runways on an airport arrivals departures multiple runways Aircraft Aircraft Aircraft    .) September 1998 . Agent-based Software Engineering Workshop Software Engineering Australia (Vic. Air Traffic Controller Runwa y Runway .....

Agents    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 Agent-based Software Engineering Workshop Software Engineering Australia (Vic.) September 1998 .

bidding solution aircraft aircraft aircraft request allocation atc request bid request allocation bid bid request runway Agent-based Software Engineering Workshop runway Software Engineering Australia (Vic.) runway September 1998 .

aircraft agents (bidding) flight plan position ATL / ATT ETA position updates aircraft runway allocation runway request Agent-based Software Engineering Workshop Software Engineering Australia (Vic.) September 1998 .

) September 1998 .airtraffic controller agent (bidding) runway allocation runway status airport procedures weather runway request atc rescheduling request bid allocation Agent-based Software Engineering Workshop Software Engineering Australia (Vic.

) September 1998 .runway agents (bidding) allocation request bid schedule readiness rescheduling runway Agent-based Software Engineering Workshop Software Engineering Australia (Vic.

Example bidding interactions (aircraft) ABA345 request (atc) Turichirappalli (runway) East-West 1 (runway) East-West 2 request request bid bid allocation allocation rescheduling (QF638) Agent-based Software Engineering Workshop Software Engineering Australia (Vic.) September 1998 .

) .daisy chain solution aircraft aircraft aircraft request allocation atc request allocation rescheduling best allocation runway best so far runway best so far runway September 1998 Agent-based Software Engineering Workshop Software Engineering Australia (Vic.

aircraft agents (daisy chain) flight plan position ATL / ATT ETA position updates aircraft runway allocation runway request Agent-based Software Engineering Workshop Software Engineering Australia (Vic.) September 1998 .

) September 1998 .airtraffic controller agent (daisy chain) runway allocation runway status airport procedures weather runway request atc request best allocation rescheduling Agent-based Software Engineering Workshop Software Engineering Australia (Vic.

runway agents (daisy chain) allocation rescheduling schedule readiness request and best so far runway request and best so far Agent-based Software Engineering Workshop Software Engineering Australia (Vic.) September 1998 .

) September 1998 .Example daisy chain interactions (aircraft) ABA345 request (atc) Turichirappalli (runway) East-West 1 (runway) East-West 2 request best so far best allocation allocation rescheduling (QF638) Agent-based Software Engineering Workshop Software Engineering Australia (Vic.

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 Software Engineering Australia (Vic.wrapup     the example focused more on the interactions among agents than their internal architecture “intelligence” could be embedded in the agents.g.Case Study 2 .) September 1998 Agent-based Software Engineering Workshop . e.

Sign up to vote on this title
UsefulNot useful