University of Stirling (SCOTLAND)
Translation from CRESS to VoiceXML and LOTOS
CADP (Construction and Analysis of Distributed Processes)
VoiceXML (Voice Extended Markup Language) is an XML application
allowing to implement automated telephone enquiry systems. Several
commercial packages (e.g., Covigo Studio, Nuance V-Builder, Voxeo
Designer) provide a graphical representation of VoiceXML, but none
of them gives a clear view of the structure and flow of VoiceXML
scripts. Also, VoiceXML does not have an explicit notion of feature,
although features are extremely useful building blocks for telephone
services. Finally, there is no way of checking or analysing a VoiceXML
The approach proposed here is to use, in conjunction with VoiceXML, a graphical language named CRESS (Chisel Representation Employing Systematic Specification), which allows to define interactive voice services at a more abstract level. The CRESS environment contains several code generators, in particular to VoiceXML and LOTOS. The LOTOS translation has two benefits: it allows to analyze CRESS descriptions automatically using the CADP toolbox (e.g., for feature interaction detection), and provides a formal semantics to VoiceXML scripts.
The approach is illustrated on the VoiceXML description of a banking system allowing donations by telephone. The resulting LOTOS specification can be checked against various properties of interest: deadlock and livelock freedom (the latter being rather easy to introduce in VoiceXML scripts), unreachable states, unspecified receptions, safety properties (e.g., "a bank account must not be debited without the correct person identification number"), liveness properties (e.g., "a call must end with a goodbye message"), freedom from loops (e.g., "the same prompt must not be issued more than three times"), and feature interactions (e.g., "a feature introducing extra choices in a menu does not interfere with the current use of the digits to select from the menu").
The CRESS language was shown to be an adequate representation for
interactive voice services. In addition, translators from CRESS
descriptions into VoiceXML and LOTOS were developed. In this way,
the CRESS environment combines the benefits of an accessible graphical
notation, an automated implementation of VoiceXML applications, and
a formal analysis of problems in service descriptions.
Kenneth J. Turner.
"Specifying and Realising Interactive Voice Services".
In Hartmut Konig, Monica Heiner, and Adam Wolisz, editors,
Proceedings of the 23rd IFIP WG 6.1 International Conference on
Techniques for Networked and Distributed Systems FORTE'2003 (Berlin,
Germany), Lecture Notes in Computer Science vol. 2767, pp. 15-30,
Available on-line at http://www.cs.stir.ac.uk/~kjt/research/pdf/spec-voice.pdf
or from the CADP Web site in PDF or PostScript
Prof. Kenneth J. Turner
University of Stirling
Computing Science and Mathematics
Stirling FK9 4LA
Tel: +44 1786 467 423
Fax: +44 1786 464 551
|Further remarks:||This tool, amongst others, is described on the CADP Web site: http://cadp.inria.fr/software|