SCXML and Voice Interfaces Graham Wilcock University of Helsinki - - PowerPoint PPT Presentation

scxml and voice interfaces
SMART_READER_LITE
LIVE PREVIEW

SCXML and Voice Interfaces Graham Wilcock University of Helsinki - - PowerPoint PPT Presentation

SCXML and Voice Interfaces Graham Wilcock University of Helsinki graham.wilcock@helsinki.fi Outline DFP & SCXML Based on VoiceXML 3.0 Preview Example: SCXML Stopwatch Based on Apache Jakarta SCXML Demo Stopwatch 1:


slide-1
SLIDE 1

SCXML and Voice Interfaces

Graham Wilcock

University of Helsinki graham.wilcock@helsinki.fi

slide-2
SLIDE 2

Graham Wilcock Baltic HLT 2007 2

Outline

  • DFP & SCXML
  • Based on VoiceXML 3.0 Preview
  • Example: SCXML Stopwatch
  • Based on Apache Jakarta SCXML
  • Demo
  • Stopwatch 1: SCXML + GUI
  • Stopwatch 2: SCXML + GUI + TTS
  • Stopwatch 3: SCXML + GUI + TTS + ASR
slide-3
SLIDE 3

Graham Wilcock Baltic HLT 2007 3

DFP: Data Flow Presentation 1

  • W3C framework for

voice applications

  • Data: canonical data

representation

  • Flow: controls

application flow

  • Presentation:

interaction with user

slide-4
SLIDE 4

Graham Wilcock Baltic HLT 2007 4

Separating Flow & Presentation

  • Simplifies Code Reuse
  • Presentation not tangled with <goto> logic
  • Improves Intelligibility
  • Flow description separate from presentation

details

  • Natural Extension to Multiple Modes
  • Same flow layer, multiple presentation layers
slide-5
SLIDE 5

Graham Wilcock Baltic HLT 2007 5

DFP: Data Flow Presentation 2

  • W3C framework for

multimodal applications

  • Data: canonical data

representation

  • Flow: controls application

flow and coordinates presentation

  • Presentation: multiple

interactions with user

slide-6
SLIDE 6

Graham Wilcock Baltic HLT 2007 6

Flow Layer

  • Flow Represents Application Logic
  • Does Not Interact with User
  • Flow Layer Removes Control from

Presentation Layer

  • Various Flow Languages Possible
  • CCXML (Call Control XML)
  • SCXML (State Chart XML)
slide-7
SLIDE 7

Graham Wilcock Baltic HLT 2007 7

SCXML (State Chart XML)

  • Designed as Dialog Flow Language
  • A State Machine Language
  • Based on Harel State Charts
  • A few dialog-specific extensions
  • Powerful, Compact Control Abstractions
slide-8
SLIDE 8

Graham Wilcock Baltic HLT 2007 8

States, Events & Transitions

  • States
  • Represent Status of System
  • Events
  • What Happens
  • Transitions
  • Move between States
  • Triggered by Events
slide-9
SLIDE 9

Graham Wilcock Baltic HLT 2007 9

Example: Stopwatch

<scxml xmlns="http://www.w3.org/2005/07/scxml" version="1.0" initialstate="reset"> <state id="reset"> <transition event="watch.start" target="running" /> </state> <state id="running"> <transition event="watch.split" target="paused" /> <transition event="watch.stop" target="stopped" /> </state> <state id="paused"> <transition event="watch.unsplit" target="running" /> <transition event="watch.stop" target="stopped" /> </state> <state id="stopped"> <transition event="watch.reset" target="reset" /> </state> </scxml>

slide-10
SLIDE 10

Graham Wilcock Baltic HLT 2007 10

Example: Stopwatch

slide-11
SLIDE 11

Graham Wilcock Baltic HLT 2007 11

Example: Stopwatch

slide-12
SLIDE 12

Graham Wilcock Baltic HLT 2007 12

Example: Stopwatch

slide-13
SLIDE 13

Graham Wilcock Baltic HLT 2007 13

Demo (1)

  • GUI Stopwatch
  • Flow Layer: SCXML
  • Presentation Layer 1: GUI
  • Demo from Apache Jakarta SCXML
slide-14
SLIDE 14

Graham Wilcock Baltic HLT 2007 14

Demo (2 and 3)

  • Voice Stopwatch
  • Flow Layer: SCXML (same)
  • Presentation Layer 2:

added speech output (GUI + TTS)

  • Presentation Layer 3:

added speech input (GUI + TTS + ASR)

slide-15
SLIDE 15

Graham Wilcock Baltic HLT 2007 15

Summary

  • DFP & SCXML
  • Based on VoiceXML 3.0 Preview
  • Example: SCXML Stopwatch
  • Based on Apache Jakarta SCXML
  • Demo
  • Stopwatch 1: SCXML + GUI
  • Stopwatch 2: SCXML + GUI + TTS
  • Stopwatch 3: SCXML + GUI + TTS + ASR