160 likes | 317 Views
Component Description Ariadne Client/Server Architecture Interactive Systems Labs Prepared by: Matthias Denecke denecke@cs.cmu.edu Date. 1 - Overview: Ariadne. Architecture suitable for Multimodal Dialogue Processing Integrates: Terminological Knowledge Base defines content
E N D
Component Description Ariadne Client/Server Architecture Interactive Systems Labs Prepared by: Matthias Denecke denecke@cs.cmu.edu Date
1 - Overview: Ariadne • Architecture suitable for • Multimodal Dialogue Processing • Integrates: • Terminological Knowledge Base • defines content • task dependent • Scripting languages (Tcl/Tk, own language) • defines behavior of the system • Client/Server Communication Scheme • Message Passing Communication Scheme
3 - Component Overview: Servers Each Server: • Has two communication modes • RPC s (passive mode, ex: display icon on map) • generate events (active mode, ex. Speech / gesture recognizer) • May have a terminological knowledge base • May represent information in Typed Feature Structures • Has lock mechanisms to synchronize critical sections • ensures synchronized access for servers w/ internal state
3 - Component Description I : Map Server • handles and displays commercial map data bases • supported map formats: GDF 2.1, GDF 3.0, MBS • displays maps quickly , zooms and pans • allows for multimodal input in the map display • allows retrieval and grouping of sets of map feature according to certain criteria • group all map feeatures whose name is “fifth ave” and • whose Road Class feature value exceeds 3 • applies operations to groups of map features • highlight the last retrieved group
3 - Component Description II: Database Server • handles and supports data base requests • underlying data base: msql • maps operations on typed feature structures (subsumption,…) adequately onto SQL commands
3 - Component Description III : GPS Server • connects to and handles information from a NMEA GPS • generates GPS events if GPS position changes • allows access to additional GPS information
3 - Component Description IV : NLP Server Work in progress: • Fast HPSG style parsing • Ranking of parse trees according to • # violated feature constraints • # skipped / missing words • … • Generates typed semantic representation of utterance
3 - Component Description V : ardwish • Supports full Tcl / Tk language • allows convenient access to servers from Tcl Script language • example : Highlight a path in the map ard_addserver Map.manager map --port 9000 --host localhost ard_servercmd map getintersectionindex “forbes ave” “murray ave” start ard_servercmd map getintersectionindex “forbes ave” “market sq” dest ard_servercmd map sssp $start ard_servercmd map calcpath $start list ard_servercmd map highlightpath $list 1 true
3 - Component Description VI :Ariadne • Dialogue Processing Module • Can be Client of other modules • Blackboard architecture: • blackboard stores orthographic, syntactic, semantic repr. • Servers may modify representations through Ariadne • Add’l Data Structures to model dialogue • Stacks : dialogue goals, intentions • Trees: dialogue structure • Representations of choice • possibly disjunctive typed feature structures • Entire system behavior defined in Rule Language • simple integration of other RPCs / messages • simple definition / extension of systems behavior
4 - External Interfaces • Every module offers its API through sockets • Parameters for RPCs represented in Typed Feature Structures • allows complex parameters to be passed • set of TFS supersedes standard data types: strings, ints etc…. • Allows for type checking : avoid misrecognitions, faulty msg passing • Socket API works together with • different processes running • Tcl/Tk • C++ under Windows NT • Integration of • JANUS Speech recognizer • TKNPen Handwriting recognizer
5 - Existing Software “Bridges” Our wrapper Our wrapper Map GPS • each module may execute Tcl/Tk Scripts • other than that, no bridges have been implemented • however, the wrapper providing the bridge between socket communication and internal data structures may be replaced easily CPoF wrapper CPoF wrapper Map GPS
6 - Information Flow • How can other components send data to your system • send text on a socket • What are the inputs to your system • depends on the function to be executed • API for each server, Ariadne: • defines: • syntax • input output characteristics and types of parameters • available at runtime • What are the outputs of your system • cf. input
7 - Plug-n-play • Part 1 - Have you identified how your components interact with other CPOF components? TBD • Part 2 - Are there components in your system that are functionally “similar” to another CPOF component? TBD • Part 3 - Are any of your components complementing other CPOF components? TBD
8 - Operating Environments and COTS Component Name Required Hardware Operating System Required COTS Language Alpha/Sun/ Linux PC libtcl8.0.a, libtk8.0.a Map Server Unix/Linux C++ Alpha/Sun/ Linux PC libtcl8.0.a,libtk8.0.a Msql Unix/Linux Data Base Server C++ libtcl8.0.a, libtk8.0.a Linux PC Unix/Linux GPS Server C++ Alpha/Sun/ Linux PC libtcl8.0.a, libtk8.0.a Parser Server Unix/Linux C++ Alpha/Sun/ Linux PC libtcl8.0.a, libtk8.0.a Ariadne Unix/Linux C++ Alpha/Sun/ Linux PC libtcl8.0.a, libtk8.0.a ardwish Unix/Linux C++
9 - Hardware Platform Requirement • Hardware required to support system Typical system to run the entire system (Ariadne + 4 Server + Speech Recognizer) • Pentium Pro Linux PC, > 200 MHz • > 64 MB Memory or • reasonably equipped Sun • This information will also be used to plan for the CPOF experiments