software agent -design issues-. outline agent review approaches to building applications agent &...

21
Software Agent -design issues-

Post on 22-Dec-2015

216 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Software Agent -design issues-. Outline Agent review Approaches to building applications Agent & interagent programming tips Incremental system development

Software Agent-design issues-

Page 2: Software Agent -design issues-. Outline Agent review Approaches to building applications Agent & interagent programming tips Incremental system development

Outline

• Agent review

• Approaches to building applications

• Agent & interagent programming tips

• Incremental system development & evaluation

• Summary

2/20

Page 3: Software Agent -design issues-. Outline Agent review Approaches to building applications Agent & interagent programming tips Incremental system development

What is an Agent?

Mobile AgentsPrograms that move among computer hosts

Autonomous Agents Based on planning technologies

Learning AgentsUser preferences, collaborative filtering,...

Animated Interface AgentsAvatars, chatbots, ...

Simulation-based EntitiesData/Info finding, filtering and mergingCooperative Agents

Cooperation among distributed heterogeneous programmatic components

Voyager, Aglets, Odyssey

Robots, Softbots, BDI

Microsoft Agent, Julia

ModSAF, RoboCup

OAA, KQML, FIPA

FireFly, MIT Media Lab

SIMS, InfoSleuth, IR

3/20

Page 4: Software Agent -design issues-. Outline Agent review Approaches to building applications Agent & interagent programming tips Incremental system development

Approaches to Building Applications

MonolithicApplications

Object-Oriented Applications

Distributed ObjectApplications

OAAApplications

Dynamic addition

Objective

Suitable for Internet environment

Virtual community of dynamic services

Adaptable to changing, evolving network resources

Flexible interactions among components

4/20

Page 5: Software Agent -design issues-. Outline Agent review Approaches to building applications Agent & interagent programming tips Incremental system development

Approaches to Distributed Computing

• Mobile objects

• Blackboard architectures

• Agent communication languages (ACL)

• Publish & subscribe brokers

5/20

Page 6: Software Agent -design issues-. Outline Agent review Approaches to building applications Agent & interagent programming tips Incremental system development

Mobile Objects (Agents)

• Objects move under their own power (e.g., Voyager, Aglets)

• Advantages– Network bandwidth for certain classes of problems– Parallelism - many objects can be spawned

• Disadvantages– Programmatically specify where to go and what to do, through a known interface– Little automated support for inter-object cooperation– Programming language specific (non-heterogeneous)

6/20

Page 7: Software Agent -design issues-. Outline Agent review Approaches to building applications Agent & interagent programming tips Incremental system development

Blackboard Architectures

• Knowledge Sources read and write tuples from a common information space (e.g. LINDA, FLiPSiDE)

• Advantages– Eliminates explicitly programmed interactions among participants

• Disadvantages– KS cannot coordinate interactions– Polling

tuple(abc,1,2,3)

7/20

Page 8: Software Agent -design issues-. Outline Agent review Approaches to building applications Agent & interagent programming tips Incremental system development

Publish & Subscribe Brokers

• Clients register interest, broker routes/filters msgs

• Examples: Talarian SmartSockets, Active Software’s ActiveWeb, ACL Brokers

• Advantages– Destination process(es) not explicitly encoded– No polling

• Disadvantages– Simple filtering, unitary messages

Broker

8/20

Page 9: Software Agent -design issues-. Outline Agent review Approaches to building applications Agent & interagent programming tips Incremental system development

Agent Communication Languages

• Communication message types based on speech acts (e.g., ask, tell, deny) + conversational policies

• Examples: FIPA ACL, KQML

• Advantages– Rich interaction model, peer-to-peer based– Standardized message types, content-agnostic

• Disadvantages– Conformance to specs not universal– Explicitly coded interactions among participants

ANS, Service BrokerAsk

Reply

9/20

Page 10: Software Agent -design issues-. Outline Agent review Approaches to building applications Agent & interagent programming tips Incremental system development

Comparison of Distributed Approaches

Distributed Dist. Objects, Mobile Agents, ACL, Blackboards, Pub/Sub

Heterogeneous languages Distributed Objects,ACL, Blackboards

Non-coded interactions Blackboards, Pub/Sub

Parallel Services Blackboards

Compound Expressions (Mobile Agents)

Constraints No

10/20

Page 11: Software Agent -design issues-. Outline Agent review Approaches to building applications Agent & interagent programming tips Incremental system development

Agent & Interagent Programming Tips

• Choosing an agent Interface

• Information sharing strategies

• Domain-specific vs. domain-independent agents

• Adding speech & NL to interfaces

11/20

Page 12: Software Agent -design issues-. Outline Agent review Approaches to building applications Agent & interagent programming tips Incremental system development

Choosing an Agent Interface

• Natural-language inspired interfaces– Imperative Verb, Direct Object, ParamList, (Result)– Parameter lists hold Adjs, Advs & Prepositions as well as extensible programmatic

instruction

• Classes tagged by type– inform(phone, ringing, Params)– send_message(MsgRef, Params) :-

memberchk(by(fax), Params)

• Succeed once with list vs. Multiple success– get(email, message_headers, +Params, -ListOfHeaders)– phone_number(Person, PhoneNum)

12/20

Page 13: Software Agent -design issues-. Outline Agent review Approaches to building applications Agent & interagent programming tips Incremental system development

Information Sharing Strategies (1)

• Example: Phone dialer agent

• 1. Query– When an agent wants to know the status of the

phone, it asks the Facilitator who asks the phone agent

– pa: oaa_Declare(status(phone, S),[])– ?a: oaa_Solve(status(phone, S), [])

• 2. Post (Blackboard)– The phone agent writes its status to the Facilitator;

agents can query the facilitator for status, and in-stall a trigger which proactively monitors changes to status

– pa: oaa_AddData(status(phone, busy), [])– ia: oaa_Solve(status(phone, S), []),

oaa_AddTrigger(data, status(phone,S), notify(Me, phone(S)), [on(change)])

13/20

Page 14: Software Agent -design issues-. Outline Agent review Approaches to building applications Agent & interagent programming tips Incremental system development

Information Sharing Strategies (2)

• 3. Inform– Broadcast time-critical events to interested parties– ia: oaa_Declare(msg(phone, Msg), [])– pa: oaa_Solve(msg(phone, ringing, []), [inform])

14/20

Page 15: Software Agent -design issues-. Outline Agent review Approaches to building applications Agent & interagent programming tips Incremental system development

Domain-specific vs. Domain-independent

• Move domain-dependent code into separate agent• Employ hooks and parameters to allow domain-specific tailoring of

functionality

• Always ask:Domain-specific or domain independent?

– Phone agent?– Office interface?– Notify agent?– Speech recognition?– Natural language?– Facilitator?

15/20

Page 16: Software Agent -design issues-. Outline Agent review Approaches to building applications Agent & interagent programming tips Incremental system development

Adding Speech & NL

• User Interface responsible for:– accepting user input, sending requests, displaying results– controlling interactions of speech and NL

• Complex interpretation processed by external domain agent

16/20

Page 17: Software Agent -design issues-. Outline Agent review Approaches to building applications Agent & interagent programming tips Incremental system development

Incremental System Development & Evaluation

• Collaborative Multimodal Map application adapted for Wizard Of Oz (WOZ) experiment to elicit data about coordinated use of language and gesture

17/20

Page 18: Software Agent -design issues-. Outline Agent review Approaches to building applications Agent & interagent programming tips Incremental system development

Subject Screen vs. Wizard Screen

18/20

Page 19: Software Agent -design issues-. Outline Agent review Approaches to building applications Agent & interagent programming tips Incremental system development

Hybrid Wizard Of Oz Experiment

• Naive user free to write, draw, or speak without constraints imposed by current technology

• Wizard must respond quickly and accurately by using existing means, including pen and voice

• Simultaneous evaluation of:– Experienced user manipulating real system– New user, providing data for future extensions

• Bootstrap effect: continuous loop from data to theory, to system en-hancement

• Improvements from data analysis quantifiable

• General-purpose approach

19/20

Page 20: Software Agent -design issues-. Outline Agent review Approaches to building applications Agent & interagent programming tips Incremental system development

Hybrid WOZ: Implementation

• System logging and playback “for free” using OAA collaboration facili-ties

• “Subject mode”: functional interpretation (mostly) turned off

• Addition of simple Wizard Feedback panel (separate agent) for text-to-speech messages (e.g., “Function not available.”)

20/20

Page 21: Software Agent -design issues-. Outline Agent review Approaches to building applications Agent & interagent programming tips Incremental system development

Summary

• Review of designing issues in software agents

• Not good for every application, but good for:– integrating numerous components which need to cooperate, often across language

boundaries– supporting media translation– distributed reference resolution– tasking through adaptable or multimodal user interfaces– human/agent collaborative systems & incremental dvpt– exploring direct manipulation/task delegation tradeoffs

• Next class ( 인지구조 )– 1. Human symbol manipulation within an integrated cognitive architecture, Cogni-

tive Science, 2005. ( 최봉환 )– 2. The importance of cognitive architectures: An analysis based on CLARION,

Journal of Experimental and Theoretical Artificial Intelligence, 2007. ( 이영설 )– 3. A Gentle Introduction to Soar: 2006 update, 2006. ( 김용준 )

21/20