Title: Component Description
1- Component Description
- Ariadne Client/Server Architecture
- Interactive Systems Labs
- Prepared by
- Matthias Denecke
- denecke_at_cs.cmu.edu
- Date
21 - 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
32 - Architecture Overview
43 - 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
53 - 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
63 - 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
73 - 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
83 - 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
93 - 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
103 - 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 - Addl 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
114 - 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
125 - Existing Software Bridges
- 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
136 - 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
147 - 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
158 - Operating Environments and COTS
Alpha/Sun/ Linux PC
libtcl8.0.a, libtk8.0.a
Map Server
C
Unix/Linux
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
C
GPS Server
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
C
Unix/Linux
Ariadne
Alpha/Sun/ Linux PC
libtcl8.0.a, libtk8.0.a
C
Unix/Linux
ardwish
169 - Hardware Platform Requirement
- Hardware required to support system
- Typical system to run the entire system
- (Ariadne 4 Server Speech Recognizer)
- Pentium Pro Linux PC, gt 200 MHz
- gt 64 MB Memory
- or
- reasonably equipped Sun
- This information will also be used to plan for
the CPOF experiments