SlideShare a Scribd company logo
1 of 21
Design Issues
Outline

  • Agent review

  • Approaches to building applications

  • Agent & interagent programming tips

  • Incremental system development & evaluation

  • Summary




                                                  2/20
What is an Agent?

     Voyager, Aglets,
           Odyssey      Mobile Agents
                           Programs that move among computer hosts
    Robots, Softbots,   Autonomous Agents
                 BDI
                           Based on planning technologies
   FireFly, MIT Media   Learning Agents
                 Lab
                           User preferences, collaborative filtering,...
     Microsoft Agent,
                Julia
                        Animated Interface Agents
                           Avatars, chatbots, ...
  ModSAF, RoboCup       Simulation-based Entities
 SIMS, InfoSleuth, IR   Data/Info finding, filtering and merging
   OAA, KQML, FIPA      Cooperative Agents
                           Cooperation among distributed
                           heterogeneous programmatic components

                                                                           3/20
Approaches to Building Applications




                         Monolithic      Object-Oriented     Distributed Object
                        Applications      Applications          Applications

            Objective

     Suitable for Internet environment
Virtual community of dynamic services
     Adaptable to changing, evolving                         Dynamic addition
                   network resources
         Flexible interactions among             OAA
                          components          Applications



                                                                                  4/20
Approaches to Distributed Computing

  • Mobile objects

  • Blackboard architectures

  • Agent communication languages (ACL)

  • Publish & subscribe brokers




                                          5/20
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
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            tuple(abc,1,2,3)
    – Polling




                                                                         7/20
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                                       Broker
     – Simple filtering, unitary messages




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

                                                         Ask
                ANS, Service Broker
                                                         Reply


                                                                        9/20
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
                                                        10/20
Agent & Interagent Programming Tips

  • Choosing an agent Interface

  • Information sharing strategies

  • Domain-specific vs. domain-independent agents

  • Adding speech & NL to interfaces




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

                                                               13/20
                                                               13/20
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
                                                              14/20
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
                                                                        15/20
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
                                                                   16/20
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
                                                                        17/20
Subject Screen vs. Wizard Screen




                                   18/20
                                   18/20
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
                                                                           19/20
                                                                           19/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.”)




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




                                                                                       21/20
                                                                                       21/20

More Related Content

Viewers also liked

Fractures
FracturesFractures
Fracturescpreis
 
The Landscape of Citizen Science
The Landscape of Citizen ScienceThe Landscape of Citizen Science
The Landscape of Citizen ScienceDarlene Cavalier
 
Productinformatie Conneo
Productinformatie ConneoProductinformatie Conneo
Productinformatie ConneoJ.R. Voorhorst
 
Digital Vision for CALP
Digital Vision for CALP Digital Vision for CALP
Digital Vision for CALP taipida
 
Electrospn 2 tucker-full
Electrospn 2 tucker-fullElectrospn 2 tucker-full
Electrospn 2 tucker-fullmiroli
 
Super matematika gasing
Super matematika gasing Super matematika gasing
Super matematika gasing Budi Santoso
 
2011 digital media foundation
2011 digital media foundation2011 digital media foundation
2011 digital media foundationFacepalm!
 
Libary 2.0
Libary 2.0Libary 2.0
Libary 2.0avanwert
 
GT PLC Session 3- Learning Stations
GT PLC Session 3- Learning StationsGT PLC Session 3- Learning Stations
GT PLC Session 3- Learning Stationsmicklethwait
 
3 interrogative words
3 interrogative words3 interrogative words
3 interrogative wordsLaura Riddle
 
5 challenges in_building_enterprise_mashups-rick_b
5 challenges in_building_enterprise_mashups-rick_b5 challenges in_building_enterprise_mashups-rick_b
5 challenges in_building_enterprise_mashups-rick_bIBM
 
2 trasnformation design_patterns-sandeep_katoch
2 trasnformation design_patterns-sandeep_katoch2 trasnformation design_patterns-sandeep_katoch
2 trasnformation design_patterns-sandeep_katochIBM
 
Тенденции развития рынка
Тенденции развития рынкаТенденции развития рынка
Тенденции развития рынкаArtem
 
Public Engagement in Science: Open Access PHL
Public Engagement in Science: Open Access PHLPublic Engagement in Science: Open Access PHL
Public Engagement in Science: Open Access PHLDarlene Cavalier
 
The Big Miracle vocabulary
The Big Miracle vocabularyThe Big Miracle vocabulary
The Big Miracle vocabularymicklethwait
 

Viewers also liked (19)

Fractures
FracturesFractures
Fractures
 
The Landscape of Citizen Science
The Landscape of Citizen ScienceThe Landscape of Citizen Science
The Landscape of Citizen Science
 
Productinformatie Conneo
Productinformatie ConneoProductinformatie Conneo
Productinformatie Conneo
 
Digital Vision for CALP
Digital Vision for CALP Digital Vision for CALP
Digital Vision for CALP
 
Zfx ca csm1405
Zfx ca csm1405Zfx ca csm1405
Zfx ca csm1405
 
Electrospn 2 tucker-full
Electrospn 2 tucker-fullElectrospn 2 tucker-full
Electrospn 2 tucker-full
 
Super matematika gasing
Super matematika gasing Super matematika gasing
Super matematika gasing
 
2011 digital media foundation
2011 digital media foundation2011 digital media foundation
2011 digital media foundation
 
Libary 2.0
Libary 2.0Libary 2.0
Libary 2.0
 
GT PLC Session 3- Learning Stations
GT PLC Session 3- Learning StationsGT PLC Session 3- Learning Stations
GT PLC Session 3- Learning Stations
 
Commission recherche, renforcement de capacité, formation - Ecovillage Madaga...
Commission recherche, renforcement de capacité, formation - Ecovillage Madaga...Commission recherche, renforcement de capacité, formation - Ecovillage Madaga...
Commission recherche, renforcement de capacité, formation - Ecovillage Madaga...
 
Markstrat Ceo Debrief
Markstrat Ceo DebriefMarkstrat Ceo Debrief
Markstrat Ceo Debrief
 
3 interrogative words
3 interrogative words3 interrogative words
3 interrogative words
 
5 challenges in_building_enterprise_mashups-rick_b
5 challenges in_building_enterprise_mashups-rick_b5 challenges in_building_enterprise_mashups-rick_b
5 challenges in_building_enterprise_mashups-rick_b
 
2 trasnformation design_patterns-sandeep_katoch
2 trasnformation design_patterns-sandeep_katoch2 trasnformation design_patterns-sandeep_katoch
2 trasnformation design_patterns-sandeep_katoch
 
Тенденции развития рынка
Тенденции развития рынкаТенденции развития рынка
Тенденции развития рынка
 
Public Engagement in Science: Open Access PHL
Public Engagement in Science: Open Access PHLPublic Engagement in Science: Open Access PHL
Public Engagement in Science: Open Access PHL
 
The flaites
The flaitesThe flaites
The flaites
 
The Big Miracle vocabulary
The Big Miracle vocabularyThe Big Miracle vocabulary
The Big Miracle vocabulary
 

Similar to 7

Natural language interaction with the web of things
Natural language interaction with the web of thingsNatural language interaction with the web of things
Natural language interaction with the web of thingsdadahl
 
Kristiaan De Roeck at UX Antwerp Meetup - 30 January 2018
Kristiaan De Roeck at UX Antwerp Meetup - 30 January 2018Kristiaan De Roeck at UX Antwerp Meetup - 30 January 2018
Kristiaan De Roeck at UX Antwerp Meetup - 30 January 2018UX Antwerp Meetup
 
I'll See You On the Write Side of the Web
I'll See You On the Write Side of the WebI'll See You On the Write Side of the Web
I'll See You On the Write Side of the WebStuart Charlton
 
Mikehall FutureWorld 2010 - enabling connectivity
Mikehall FutureWorld 2010 - enabling connectivityMikehall FutureWorld 2010 - enabling connectivity
Mikehall FutureWorld 2010 - enabling connectivityMicrosoft Windows Embedded
 
My research proposal slides.
My research proposal slides.My research proposal slides.
My research proposal slides.Bu Sawoo
 
EclipseConEurope2012 SOA - Models As Operational Documentation
EclipseConEurope2012 SOA - Models As Operational DocumentationEclipseConEurope2012 SOA - Models As Operational Documentation
EclipseConEurope2012 SOA - Models As Operational DocumentationMarc Dutoo
 
Deepak_QA-Manual$Automation_5 Years_MCA_CV_FIS
Deepak_QA-Manual$Automation_5 Years_MCA_CV_FISDeepak_QA-Manual$Automation_5 Years_MCA_CV_FIS
Deepak_QA-Manual$Automation_5 Years_MCA_CV_FISDeepak kumar
 
Mobile porting and testing - Xoriant
Mobile porting and testing - Xoriant Mobile porting and testing - Xoriant
Mobile porting and testing - Xoriant Xoriant Corporation
 
Client Server Architecture
Client Server ArchitectureClient Server Architecture
Client Server ArchitectureRence Montanes
 
SOA an architecture on the Desktop
SOA an architecture on the DesktopSOA an architecture on the Desktop
SOA an architecture on the DesktopVincent Perrin
 
Codestrong 2012 breakout session the role of cloud services in your next ge...
Codestrong 2012 breakout session   the role of cloud services in your next ge...Codestrong 2012 breakout session   the role of cloud services in your next ge...
Codestrong 2012 breakout session the role of cloud services in your next ge...Axway Appcelerator
 
Enabling High Level Application Development In The Internet Of Things
Enabling High Level Application Development In The Internet Of ThingsEnabling High Level Application Development In The Internet Of Things
Enabling High Level Application Development In The Internet Of ThingsPankesh Patel
 
Challenges In Building Enterprise Mashups - Rick B
Challenges In Building Enterprise Mashups - Rick BChallenges In Building Enterprise Mashups - Rick B
Challenges In Building Enterprise Mashups - Rick BRoopa Nadkarni
 
Mapping sessionu ispost
Mapping sessionu ispostMapping sessionu ispost
Mapping sessionu ispostDavid Card
 
Manoj resume
Manoj resumeManoj resume
Manoj resumetekwissen
 
Gis - open source potentials
Gis  - open source potentialsGis  - open source potentials
Gis - open source potentialsTim Willoughby
 
Mobile Services & E-Services Case Study By Osama Abushaban
Mobile Services & E-Services Case Study By Osama AbushabanMobile Services & E-Services Case Study By Osama Abushaban
Mobile Services & E-Services Case Study By Osama AbushabanOsama Abushaban
 

Similar to 7 (20)

Natural language interaction with the web of things
Natural language interaction with the web of thingsNatural language interaction with the web of things
Natural language interaction with the web of things
 
Dial2Do ICIN 09
Dial2Do ICIN 09Dial2Do ICIN 09
Dial2Do ICIN 09
 
Kristiaan De Roeck at UX Antwerp Meetup - 30 January 2018
Kristiaan De Roeck at UX Antwerp Meetup - 30 January 2018Kristiaan De Roeck at UX Antwerp Meetup - 30 January 2018
Kristiaan De Roeck at UX Antwerp Meetup - 30 January 2018
 
I'll See You On the Write Side of the Web
I'll See You On the Write Side of the WebI'll See You On the Write Side of the Web
I'll See You On the Write Side of the Web
 
Mikehall FutureWorld 2010 - enabling connectivity
Mikehall FutureWorld 2010 - enabling connectivityMikehall FutureWorld 2010 - enabling connectivity
Mikehall FutureWorld 2010 - enabling connectivity
 
My research proposal slides.
My research proposal slides.My research proposal slides.
My research proposal slides.
 
Naresh Babu
Naresh BabuNaresh Babu
Naresh Babu
 
EclipseConEurope2012 SOA - Models As Operational Documentation
EclipseConEurope2012 SOA - Models As Operational DocumentationEclipseConEurope2012 SOA - Models As Operational Documentation
EclipseConEurope2012 SOA - Models As Operational Documentation
 
Deepak_QA-Manual$Automation_5 Years_MCA_CV_FIS
Deepak_QA-Manual$Automation_5 Years_MCA_CV_FISDeepak_QA-Manual$Automation_5 Years_MCA_CV_FIS
Deepak_QA-Manual$Automation_5 Years_MCA_CV_FIS
 
Mobile porting and testing - Xoriant
Mobile porting and testing - Xoriant Mobile porting and testing - Xoriant
Mobile porting and testing - Xoriant
 
Client Server Architecture
Client Server ArchitectureClient Server Architecture
Client Server Architecture
 
SOA an architecture on the Desktop
SOA an architecture on the DesktopSOA an architecture on the Desktop
SOA an architecture on the Desktop
 
Codestrong 2012 breakout session the role of cloud services in your next ge...
Codestrong 2012 breakout session   the role of cloud services in your next ge...Codestrong 2012 breakout session   the role of cloud services in your next ge...
Codestrong 2012 breakout session the role of cloud services in your next ge...
 
Enabling High Level Application Development In The Internet Of Things
Enabling High Level Application Development In The Internet Of ThingsEnabling High Level Application Development In The Internet Of Things
Enabling High Level Application Development In The Internet Of Things
 
Mark logic for dita
Mark logic for ditaMark logic for dita
Mark logic for dita
 
Challenges In Building Enterprise Mashups - Rick B
Challenges In Building Enterprise Mashups - Rick BChallenges In Building Enterprise Mashups - Rick B
Challenges In Building Enterprise Mashups - Rick B
 
Mapping sessionu ispost
Mapping sessionu ispostMapping sessionu ispost
Mapping sessionu ispost
 
Manoj resume
Manoj resumeManoj resume
Manoj resume
 
Gis - open source potentials
Gis  - open source potentialsGis  - open source potentials
Gis - open source potentials
 
Mobile Services & E-Services Case Study By Osama Abushaban
Mobile Services & E-Services Case Study By Osama AbushabanMobile Services & E-Services Case Study By Osama Abushaban
Mobile Services & E-Services Case Study By Osama Abushaban
 

More from Giang Nguyễn

Php can ban_bai1_laptrinhwebphp.com
Php can ban_bai1_laptrinhwebphp.comPhp can ban_bai1_laptrinhwebphp.com
Php can ban_bai1_laptrinhwebphp.comGiang Nguyễn
 
Lap trinh web dong voi php my sql
Lap trinh web dong voi php my sqlLap trinh web dong voi php my sql
Lap trinh web dong voi php my sqlGiang Nguyễn
 
Kentcources 110109221507-phpapp01
Kentcources 110109221507-phpapp01Kentcources 110109221507-phpapp01
Kentcources 110109221507-phpapp01Giang Nguyễn
 
Hay php architect eav modeling
Hay php architect   eav modelingHay php architect   eav modeling
Hay php architect eav modelingGiang Nguyễn
 
Haiphongit.com.tai lieu-php.my sql-thiet-ke-web-dong
Haiphongit.com.tai lieu-php.my sql-thiet-ke-web-dongHaiphongit.com.tai lieu-php.my sql-thiet-ke-web-dong
Haiphongit.com.tai lieu-php.my sql-thiet-ke-web-dongGiang Nguyễn
 
Haiphongit.com.tai lieu-laptrinh ph-pvamysql
Haiphongit.com.tai lieu-laptrinh ph-pvamysqlHaiphongit.com.tai lieu-laptrinh ph-pvamysql
Haiphongit.com.tai lieu-laptrinh ph-pvamysqlGiang Nguyễn
 
Haiphongit.com.tai lieu-learning-php-my sql
Haiphongit.com.tai lieu-learning-php-my sqlHaiphongit.com.tai lieu-learning-php-my sql
Haiphongit.com.tai lieu-learning-php-my sqlGiang Nguyễn
 
Joomla administratormanual vi_20060206
Joomla administratormanual vi_20060206Joomla administratormanual vi_20060206
Joomla administratormanual vi_20060206Giang Nguyễn
 
Canbanvethietkevalaptrinhgame
CanbanvethietkevalaptrinhgameCanbanvethietkevalaptrinhgame
CanbanvethietkevalaptrinhgameGiang Nguyễn
 
Building websites-with-joomla-1-5-sample-chapter-chapter-7-the-menus-menu
Building websites-with-joomla-1-5-sample-chapter-chapter-7-the-menus-menuBuilding websites-with-joomla-1-5-sample-chapter-chapter-7-the-menus-menu
Building websites-with-joomla-1-5-sample-chapter-chapter-7-the-menus-menuGiang Nguyễn
 
Eclipse pdt indigo release review
Eclipse pdt   indigo release reviewEclipse pdt   indigo release review
Eclipse pdt indigo release reviewGiang Nguyễn
 
Bai tap lap trinh web voi joomla csau
Bai tap   lap trinh web voi joomla csauBai tap   lap trinh web voi joomla csau
Bai tap lap trinh web voi joomla csauGiang Nguyễn
 

More from Giang Nguyễn (20)

Php can ban_bai1_laptrinhwebphp.com
Php can ban_bai1_laptrinhwebphp.comPhp can ban_bai1_laptrinhwebphp.com
Php can ban_bai1_laptrinhwebphp.com
 
Os xmldomphp
Os xmldomphpOs xmldomphp
Os xmldomphp
 
Os php-7oohabits
Os php-7oohabitsOs php-7oohabits
Os php-7oohabits
 
Os php-5.3new1
Os php-5.3new1Os php-5.3new1
Os php-5.3new1
 
Lap trinh web dong voi php my sql
Lap trinh web dong voi php my sqlLap trinh web dong voi php my sql
Lap trinh web dong voi php my sql
 
Kentcources 110109221507-phpapp01
Kentcources 110109221507-phpapp01Kentcources 110109221507-phpapp01
Kentcources 110109221507-phpapp01
 
Hay php architect eav modeling
Hay php architect   eav modelingHay php architect   eav modeling
Hay php architect eav modeling
 
Haiphongit.com.tai lieu-php.my sql-thiet-ke-web-dong
Haiphongit.com.tai lieu-php.my sql-thiet-ke-web-dongHaiphongit.com.tai lieu-php.my sql-thiet-ke-web-dong
Haiphongit.com.tai lieu-php.my sql-thiet-ke-web-dong
 
Haiphongit.com.tai lieu-laptrinh ph-pvamysql
Haiphongit.com.tai lieu-laptrinh ph-pvamysqlHaiphongit.com.tai lieu-laptrinh ph-pvamysql
Haiphongit.com.tai lieu-laptrinh ph-pvamysql
 
Chuong07 php
Chuong07 phpChuong07 php
Chuong07 php
 
Bai th08 php voi csdl
Bai th08 php voi csdlBai th08 php voi csdl
Bai th08 php voi csdl
 
Haiphongit.com.tai lieu-learning-php-my sql
Haiphongit.com.tai lieu-learning-php-my sqlHaiphongit.com.tai lieu-learning-php-my sql
Haiphongit.com.tai lieu-learning-php-my sql
 
Hd lap pttkht2008
Hd lap pttkht2008Hd lap pttkht2008
Hd lap pttkht2008
 
Joomla administratormanual vi_20060206
Joomla administratormanual vi_20060206Joomla administratormanual vi_20060206
Joomla administratormanual vi_20060206
 
Canbanvethietkevalaptrinhgame
CanbanvethietkevalaptrinhgameCanbanvethietkevalaptrinhgame
Canbanvethietkevalaptrinhgame
 
C1
C1C1
C1
 
Building websites-with-joomla-1-5-sample-chapter-chapter-7-the-menus-menu
Building websites-with-joomla-1-5-sample-chapter-chapter-7-the-menus-menuBuilding websites-with-joomla-1-5-sample-chapter-chapter-7-the-menus-menu
Building websites-with-joomla-1-5-sample-chapter-chapter-7-the-menus-menu
 
Eclipse pdt indigo release review
Eclipse pdt   indigo release reviewEclipse pdt   indigo release review
Eclipse pdt indigo release review
 
Bai tap lap trinh web voi joomla csau
Bai tap   lap trinh web voi joomla csauBai tap   lap trinh web voi joomla csau
Bai tap lap trinh web voi joomla csau
 
Analyse
AnalyseAnalyse
Analyse
 

7

  • 2. Outline • Agent review • Approaches to building applications • Agent & interagent programming tips • Incremental system development & evaluation • Summary 2/20
  • 3. What is an Agent? Voyager, Aglets, Odyssey Mobile Agents Programs that move among computer hosts Robots, Softbots, Autonomous Agents BDI Based on planning technologies FireFly, MIT Media Learning Agents Lab User preferences, collaborative filtering,... Microsoft Agent, Julia Animated Interface Agents Avatars, chatbots, ... ModSAF, RoboCup Simulation-based Entities SIMS, InfoSleuth, IR Data/Info finding, filtering and merging OAA, KQML, FIPA Cooperative Agents Cooperation among distributed heterogeneous programmatic components 3/20
  • 4. Approaches to Building Applications Monolithic Object-Oriented Distributed Object Applications Applications Applications Objective Suitable for Internet environment Virtual community of dynamic services Adaptable to changing, evolving Dynamic addition network resources Flexible interactions among OAA components Applications 4/20
  • 5. Approaches to Distributed Computing • Mobile objects • Blackboard architectures • Agent communication languages (ACL) • Publish & subscribe brokers 5/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) 6/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 tuple(abc,1,2,3) – Polling 7/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 Broker – Simple filtering, unitary messages 8/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 Ask ANS, Service Broker Reply 9/20
  • 10. 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 10/20
  • 11. Agent & Interagent Programming Tips • Choosing an agent Interface • Information sharing strategies • Domain-specific vs. domain-independent agents • Adding speech & NL to interfaces 11/20 11/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) 12/20 12/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)]) 13/20 13/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]) 14/20 14/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? 15/20 15/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 16/20 16/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 17/20 17/20
  • 18. Subject Screen vs. Wizard Screen 18/20 18/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 19/20 19/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.”) 20/20 20/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 21/20 21/20