SCXML. Michael Bodell.

Similar documents
Voice Browser Working Group (VBWG) Input on application backplane topics. Scott McGlashan (HP) Rafah Hosn (IBM)

SCXML State Chart XML

SCXML State Chart XML. Previously, in this course...

Model-Based UI W3C XG

CA314 Object Oriented Analysis & Design - 7. File name: CA314_Section_07_Ver01 Author: L Tuohey No. of pages: 16

Finite State Machines and Statecharts

Rich Web Application Backplane

Multi-modal Web IBM Position

INTRODUCTION TO VOICEXML FOR DISTRIBUTED WEB-BASED APPLICATIONS

visualstate Reference Guide

Dynamic Modeling - Finite State Machines

Composition of State Machines

SCXML Overview. Jim Barnett. Genesys

State Machine Diagrams

Spatial Audio with the W3C Architecture for Multimodal Interfaces

CaptainCasa Enterprise Client. CaptainCasa Enterprise Client. CaptainCasa & Java Server Faces

Meltem Özturan

Declarative Formats for Web Applications WWW2006 Art Barstow Chair of the Web Application Formats (WAF) WG

LABORATORY 117. Intorduction to VoiceXML

Finite State Machine Modeling for Software Product Lines. Finite State Machines and Statecharts

States Transitions Connectors Esterel Studio

UNIVERSITY OF OSLO Department of Informatics. Exploration of UML State Machine implementations in Java. Master thesis. Morten Olav Hansen

Software Design and Analysis CSCI 2040

Unified Modeling Language 2

AADL Graphical Editor Design

User Interface Design with Components

Steps in Using COMET/UML

HTML 5 and CSS 3, Illustrated Complete. Unit L: Programming Web Pages with JavaScript

Component Model for Multimodal Web Applications

Exam Express Exam EE0-411 voice xml application developer exam Version: 5.0 [ Total Questions: 118 ]

Layered UI and Adaptation Policies for Ubiquitous Web Applications

The Business Value of Open Standards. Michael(tm) Smith

CAMEO SIMULATION TOOLKIT. version 1.0. user guide

Position Statement for Multi-Modal Access

EE Voice xml application developer exam.

Enterprise Architect. User Guide Series. UML Models. Author: Sparx Systems. Date: 30/06/2017. Version: 1.0 CREATED WITH

W3C DPIG Charting the Path Forward for the Future of Publishing with the Open Web Platform

Modal Models in Ptolemy

An Approach to VoiceXML Application Modeling

Software Architecture With ColdFusion: Design Patterns and Beyond Topics Outline Prepared by Simon Horwith for CFUnderground 6

JavaScript & DHTML Cookbool(

Statecharts 1.- INTRODUCTION 1.- INTRODUCTION

CaseComplete Roadmap

QuickBooks Windows Web Connect

CUIML: A Language For the Generation of Multimodal Human-Computer Interfaces

W3C Workshop on Multimodal Interaction

Tips for Navigating the Lyon County Fair Blue Ribbon Fair Online Pre-entry System

A Scripting Language for Multimodal Presentation on Mobile Phones

[Maria Jackson Hittle] Thanks, Michael. Since the RSR was implemented in 2009, HAB has been slowing shifting its focus from data submission to data

AT&T Mobile Share Setup Guide for Administrators

Special Lecture (406) Spoken Language Dialog Systems VoiceXML: Dialogs, Forms and Fields

Voice Extensible Markup Language (VoiceXML)

Combined Modeling and Programming with State Machines

Achieving full redundancy in automated control room installations. David Workman VP, News Automation Systems Vizrt USA

Oracle Developer Day

Łabiak G., Miczulski P. (IIE, UZ, Zielona Góra, Poland)

(Refer Slide Time: 01:40)

Exercise Unit 2: Modeling Paradigms - RT-UML. UML: The Unified Modeling Language. Statecharts. RT-UML in AnyLogic

Network Working Group. Category: Informational January 2006

Composer Help. Accessing the Editors and Templates

Using Declarative Models in Multi-device Smart Space

Application Notes for Deploying a VoiceXML Application Using Avaya Interactive Response and Audium Studio - Issue 1.0

Speaker Verification in BeVocal VoiceXML

Introduction to Software Engineering. 6. Modeling Behaviour

FlexFlow: Workflow for Interactive Internet Applications

Introducing the VoiceXML Server

QuickBooks Windows Web Connect to Direct Connect

Standards for Multimodal Interaction: Activities in the W3C Multimodal Interaction Working Group. Group

VClarity Voice Platform

Topics. Introduction to Repetition Structures Often have to write code that performs the same task multiple times. Controlled Loop

c122jan2714.notebook January 27, 2014

Understanding the Web Design Environment. Principles of Web Design, Third Edition

INTRODUCTION TO UNIFIED MODELING MODEL (UML) & DFD. Slides by: Shree Jaswal

CREATING AN AD HOC QUERY

Form. Settings, page 2 Element Data, page 7 Exit States, page 8 Audio Groups, page 9 Folder and Class Information, page 9 Events, page 10

Paste them together (lining up the x-axis in each piece) to create the graph of the piecewise-defined function.

COMSC-030 Web Site Development- Part 1. Part-Time Instructor: Joenil Mistal

Remote Desktop Services Guide. Android DG ITEC ESIO - STANDARDS

Voice Foundation Classes

Lecture 6B Hierarchical/Concurrent State Machine Models (HCFSM)

Tools and Toolkits for Voice and Animated Character based Interventions. Overview

Creating sequences. Using the Custom Animation dialogue

Dynamic Web Programming BUILDING WEB APPLICATIONS USING ASP.NET, AJAX AND JAVASCRIPT

LeakDAS Version 4 The Complete Guide

Automatic Semantic Platform- dependent Redesign. Giulio Mori & Fabio Paternò. HIIS Laboratory ISTI-C.N.R.

Getting Started with HCA and Client Server

New Directions for Web Applications 1/11

Creating A Web Page. Computer Concepts I and II. Sue Norris

Unit 20: Extensions in ActiveBPEL

HTML5 MOCK TEST HTML5 MOCK TEST I

PathMATE Modeler s Guide

Chapter 12 Notes: Optics

NOTES ON OBJECT-ORIENTED MODELING AND DESIGN

VoiceXML Application Development Recommendations

DOING MORE WITH EXCEL: MICROSOFT OFFICE 2013

APPLICATION NOTE. Date Issued: Subject: Easy Database connection from POV. Revision: 1

Poet Image Description Tool: Step-by-step Guide

Contents. Remote Control Playback Controls What s on TV? Using the OK Button Using the Info Button... 6

Fall UI Design and Implementation 1

COGNOS (R) ENTERPRISE BI SERIES COGNOS REPORTNET (TM)

Transcription:

SCXML Michael Bodell bodell@tellme.com

Prologue (VXML 2.0/2.1) VoiceXML 2.0/2.1 is a standard out of the Voice Browser Working Group of the W3C VXML is to networked phone browsers as HTML is to internet web browsers VXML leverages all the same web technologies VXML answers billions of phone calls with thousands of different applications

Overview What is SCXML Motivation behind SCXML Theory of SCXML SCXML in a voice-only context SCXML in a multimodal context Q & A

What is SCXML?

What is SCXML? SCXML is State Chart XML A W3C standard from the Voice Browser WG The Multimodal WG is also planning on using SCXML as a core part of its work

Motivation behind SCXML

Motivation behind SCXML VBWG VXML 3.0 architecture MMIWG overall multimodal architecture

VBWG Motivation VXML 2.0/2.1 is a great specification that meets most of the WG s needs But want improvements in the following: Reusability Faster, cheaper application development Integrate with other W3C standards Specifically work in a multimodal context Solution involves new architecture for VXML 3.0

VXML 3.0 Architecture Three tiered DFP architecture with: D is for data F is for flow P is for presentation Similar to a traditional Model-View-Controller architecture Can pick and choose different languages to solve each tier but VBWG has some languages in mind

VXML 3.0 Architecture

MMI Motivation Need a way to mix different W3C languages together Want to incorporate existing and future languages Need a way to synchronize between input from multiple modalities Interaction manager is the piece that solves this problem and SCXML is the authoring interface to the interaction manager

MMI Architecture

Bringing it all together SCXML fits as the flow controller in the VBWG DFP architecture SCXML fits as the interaction manager in the MMIWG Multimodal architecture SCXML also has interest from other W3C working groups like XHTML, XForms, SVG, etc.

Theory of SCXML

Theory of SCXML SCXML is based on David Harel s statecharts Harel statecharts are a mathematical representation of state machines with a few powerful wrinkles Harel statecharts are the underpinning of UML state semantics

statechart semantics statecharts have all the traditional statemachine semantics: states transitions events conditions Important advanced features of statecharts are: hierarchical states parallel states action handlers

Basic statechart example Dot represents the initial state Normal processing gets a begin event, 0 or more data events, and an end event out of sequence events or error events cause transitions to the error state

Hierarchical statechart example Superstate incorporates two other states This factors out one of the error arcs Note: statecharts are not like Venn diagrams, one can t be in Superstate but not be in either Start or Process one can transition to states inside the superstate directly, or one can transition to the superstate itself, which then goes to the initial state in superstates there can be the idea of a history state that remembers which substate you were in last time

Parallel statechart example Simple statechart to accept exactly one of a, b, and c in any order followed by a d, with any other thing (d before c, 2 b events, etc.) as an error

Parallel statechart example With parallel regions what was 10 lowest level states and 30 transitions becomes 8 lowest level states and 10 transitions Note parallel regions are just shorthand for this type of cross product simplification. They don t necessarily imply parallel execution

Action handlers Statecharts allow actions to be triggered Actions handlers can be triggered in 4 ways: on exit of a state on a transition on entry to a state while in a state Typical things that one does in action handlers can include: cause another event to fire update the data model interact with the outside world

Action handlers The order that the action handlers happen is: 1. all the on exit handlers are triggered for each state that you are exiting starting with the most deeply nested state 2. the handlers on the transition are triggered 3. all the on entry handlers are triggered for each state that you are entering starting with the highest level state 4. while you are then in each state the while handler is triggered

SCXML semantics SCXML basically follows the Harel semantics with a few small changes: while handler is replaced with <invoke> which can only be in a simple state when multiple transitions are eligible at the same level SCXML uses document order to resolve them instead of leaving it indeterminate

SCXML in a voice-only context

Voice-only SCXML uses Continue using normal VXML 2.0/2.1 tags and execution inside each individual <form>, i.e., intradialog flow stays the same Rather than using <goto next= URI /> and <submit> instead at <form> completion return control, and collected data, to SCXML which selects the next <form> to execute, i.e., interdialog flow is using SCXML

Voice-only SCXML uses In the voice-only context it is less likely that parallel will be as useful More likely that the SCXML flow control will adapt something like a VISIO flow chart a UI designer would make with each box becoming a state which invokes a VXML 2.x dialog and the arrows joining them would be the transitions

SCXML in a multimodal context

Multimodal SCXML use cases Could use SCXML to do sequential multimodal (I.e., where you use multiple modalities but only one at a time) by having a simple state machine where each state choose the modality it wanted to invoke. Primary focus of MMIWG is on simultaneous multimodal (I.e., not just voice-in and dataout but multiple modalities simultaneously)

Multimodal SCXML use cases Likely here parallel would get used much more Main idea is that at a high level you may want to collect a sequence of information (I.e., acct #, pin #, action) and at each stage you could use parallel to allow the information to be collected from any modality (voice, visual, ink, etc.) Once input is collected from any modality all modalities prompt for the next piece of information

Q & A

backup