Database of Research Tools Developed Using CADP

Analysis of VoiceXML Interactive Voice Services

Organisation: University of Stirling (SCOTLAND)

Functionality: Translation from CRESS to VoiceXML and LOTOS

Tools used: CADP (Construction and Analysis of Distributed Processes)

Period: 2003

Description: 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 script formally.

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").

Conclusions: 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.

Publications: [Turner-03] 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, September 2003.
Available on-line at
or from our FTP site in PDF or PostScript
Prof. Kenneth J. Turner
University of Stirling
Computing Science and Mathematics
Room 4B78
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:

Last modified: Fri Feb 19 09:13:01 2016.

Back to the CADP research tools page