scxml and voice interfaces
play

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:


  1. SCXML and Voice Interfaces Graham Wilcock University of Helsinki graham.wilcock@helsinki.fi

  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 Graham Wilcock Baltic HLT 2007 2

  3. DFP: Data Flow Presentation 1 • W3C framework for voice applications • Data: canonical data representation • Flow: controls application flow • Presentation: interaction with user Graham Wilcock Baltic HLT 2007 3

  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 Graham Wilcock Baltic HLT 2007 4

  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 Graham Wilcock Baltic HLT 2007 5

  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) Graham Wilcock Baltic HLT 2007 6

  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 Graham Wilcock Baltic HLT 2007 7

  8. States, Events & Transitions • States • Represent Status of System • Events • What Happens • Transitions • Move between States • Triggered by Events Graham Wilcock Baltic HLT 2007 8

  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> Graham Wilcock Baltic HLT 2007 9

  10. Example: Stopwatch Graham Wilcock Baltic HLT 2007 10

  11. Example: Stopwatch Graham Wilcock Baltic HLT 2007 11

  12. Example: Stopwatch Graham Wilcock Baltic HLT 2007 12

  13. Demo (1) • GUI Stopwatch • Flow Layer: SCXML • Presentation Layer 1: GUI • Demo from Apache Jakarta SCXML Graham Wilcock Baltic HLT 2007 13

  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) Graham Wilcock Baltic HLT 2007 14

  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 Graham Wilcock Baltic HLT 2007 15

Recommend


More recommend