Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "Software Agent -design issues-. Outline Agent review Approaches to building applications Agent & interagent programming tips Incremental system development."— Presentation transcript:

1 Software Agent -design issues-

2 Outline Agent review Approaches to building applications Agent & interagent programming tips Incremental system development & evaluation Summary 1/20

3 What is an Agent? Mobile Agents Programs that move among computer hosts Autonomous Agents Based on planning technologies Learning Agents User preferences, collaborative filtering,... Animated Interface Agents Avatars, chatbots,... Simulation-based Entities Data/Info finding, filtering and merging Cooperative Agents Cooperation among distributed heterogeneous programmatic components Voyager, Aglets, Ody ssey Robots, Softbots, BD I Microsoft Agent, Julia ModSAF, RoboCup OAA, KQML, FIPA FireFly, MIT Media L ab SIMS, InfoSleuth, IR 2/20

4 Approaches to Building Applications Monolithic Applications Object-Oriented Applications Distributed Object Applications OAA Applications Dynamic addition Objective Suitable for Internet environment Virtual community of dynamic services Adaptable to changing, evolving network resources Flexible interactions among components 3/20

5 Approaches to Distributed Computing Mobile objects Blackboard architectures Agent communication languages (ACL) Publish & subscribe brokers 4/20

6 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) 5/20

7 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) 6/20

8 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 7/20

9 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 Broker Ask Reply 8/20

10 Comparison of Distributed Approaches DistributedDist. Objects, Mobile Agents, ACL, Blackboards, Pub/Sub Heterogeneous languagesDistributed Objects, ACL, Blackboards Non-coded interactionsBlackboards, Pub/Sub Parallel ServicesBlackboards Compound Expressions (Mobile Agents) ConstraintsNo 9/20

11 Agent & Interagent Programming Tips Choosing an agent Interface Information sharing strategies Domain-specific vs. domain-independent agents Adding speech & NL to interfaces 10/20

12 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) 11/20

13 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 install 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)]) 12/20

14 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]) 13/20

15 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? 14/20

16 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 15/20

17 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 16/20

18 Subject Screen vs. Wizard Screen 17/20

19 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 enhancement Improvements from data analysis quantifiable General-purpose approach 18/20

20 Hybrid WOZ: Implementation System logging and playback “for free” using OAA collaboration facilities “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.”) 19/20

21 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, Cognitive 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. ( 김용준 ) 20/20


Download ppt "Software Agent -design issues-. Outline Agent review Approaches to building applications Agent & interagent programming tips Incremental system development."

Similar presentations


Ads by Google