Component Description
Ariadne Client/Server Architecture
Interactive Systems Labs
Prepared by:
Matthias Denecke
[email protected]
Date
1
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


2
Client/Server Communication Scheme
Message Passing Communication Scheme
2 - Architecture Overview
3
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
4
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
5
3 - Component Description II: Database Server

handles and supports data base requests


6
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
7
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
• …

8
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
ard_servercmd
ard_servercmd
ard_servercmd
ard_servercmd
ard_servercmd
9
Map.manager map --port 9000 --host localhost
map getintersectionindex “forbes ave” “murray ave” start
map getintersectionindex “forbes ave” “market sq” dest
map sssp $start
map calcpath $start list
map highlightpath $list 1 true
3 - Component Description VI :Ariadne

Dialogue Processing Module

Can be Client of other modules
Blackboard architecture:




Add’l Data Structures to model dialogue



possibly disjunctive typed feature structures
Entire system behavior defined in Rule Language


10
Stacks : dialogue goals, intentions
Trees: dialogue structure
Representations of choice


blackboard stores orthographic, syntactic, semantic repr.
Servers may modify representations through Ariadne
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


11
JANUS Speech recognizer
TKNPen Handwriting recognizer
5 - 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
Our wrapper Our wrapper
Map
12
GPS
CPoF wrapperCPoF 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

13
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
14
8 - Operating Environments and COTS
Component
Name
Required
Hardware
Operating
System
Map Server
Alpha/Sun/
Linux PC
Unix/Linux
C++
libtcl8.0.a,
libtk8.0.a
Alpha/Sun/
Linux PC
Unix/Linux
C++
libtcl8.0.a,libtk8.0.a
Msql
Linux PC
Unix/Linux
C++
libtcl8.0.a,
libtk8.0.a
Alpha/Sun/
Linux PC
Unix/Linux
C++
libtcl8.0.a,
libtk8.0.a
Ariadne
Alpha/Sun/
Linux PC
Unix/Linux
C++
libtcl8.0.a,
libtk8.0.a
ardwish
Alpha/Sun/
Linux PC
Unix/Linux
C++
libtcl8.0.a,
libtk8.0.a
Data Base Server
GPS Server
Parser Server
15
Language
Required
COTS
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

16
This information will also be used to plan for the
CPOF experiments
Descargar

No Slide Title