Author Topic: Separation of Concerns in VoiceXML Applications  (Read 3608 times)

0 Members and 1 Guest are viewing this topic.


  • Newbie
  • *
  • Posts: 48
  • Karma: +0/-0
    • View Profile
Separation of Concerns in VoiceXML Applications
« on: April 23, 2011, 10:49:08 am »
Author : Sukhada P. Bhingarkar
International Journal of Scientific & Engineering Research, IJSER - Volume 2, Issue 4, April-2011
ISSN 2229-5518
Download Full Paper -

Abstract— Many commercial applications provide customer services over the web like flight tracking, emergency notification, order inquiry etc. VoiceXML is an enabling technology for creating streamlined speech-based interface for such web-based information ser-vices. Whereas in computing, aspect-oriented programming (AOP) is a programming paradigm, which aims to increase modularity. AOP includes programming methods and tools that support the modularization of concerns at the level of the source code.  The aim of this paper is to integrate AOP with VoiceXML. Aspect-Oriented Programming (AOP) encapsulates common low-level scattered code within reusable components called aspects. There are certain tags in VoiceXML like ‘<nomatch>’, ‘<noinput>’, ‘<error>’ which appear commonly in every VoiceXML document. These tags can be considered as the concerns and can be put inside an aspect. This eliminates the need to programmatically write these tags in every VoiceXML document and modularizes the crosscutting-concerns.

Index Terms— AOP, AspectJ, ASR, IVR, TTS, VoiceXML, VXML

The WWW has become primary source of information all over the world and accounts for the major proportion of entire Internet traffic. The next leading edge for the research on the web is to make it accessible via voice and audio. Considerable work has been done in this direction, which includes the design of VoiceXML and voice browsers. It allows voice applications to be devel-oped and deployed in an analogous way to HTML for visual applications.
Aspect orientation is not a completely new approach to writing software. Aspect orientation is becoming a commonly adopted and de facto approach to practicing older ideas that can be traced to almost the beginning of software development. Development environments and tools that weave code, pragma instructions, and even debuggers all contain some of the behavior that underlies the aspect-oriented approach. It is a more modular implementation of the advantages that these technologies have brought to their own domains in the past. Aspect-oriented programming entails breaking down program logic into distinct parts called as concerns. All programming paradigms support some level of grouping and encapsulation of concerns into separate, independent entities by providing abstractions (e.g., procedures, modules, classes, methods) that can be used for implementing, abstracting and composing these concerns. But some concerns defy these forms of implementation and are called crosscutting concerns because they "cut across" multiple abstractions in a program. This paper tries to integrate this feature of AOP with VoiceXML. VoiceXML has certain tags which appear across the scope of every VoiceXML page. These tags are crosscutting concerns that can be defined in a modular fashion with the help of aspect-oriented programming. This helps modularization and code reuse in VoiceXML based applications.

The rest of the paper is organized in following way: section II presents related work in this field. Section III and IV discusses VoiceXML and AOP respectgively. The paper, then, proposes an integration of AOP with VoiceXML in Section V. Finally, the paper finishes with conclusion in Section VI.

2 Related Work
During past few years, several applications are developed to assist visually impaired, technologically uneducated and underprivileged people to acoustically access the information that was originally intended to be accessed visually via a personal computer (PC). Voice response facilities are used for various kinds of information over the phone: time, weather, horoscopes, sports, cultural events and so on. Nuance is one of the providers for speech and imaging solutions for businesses and customers around the world that is based on IVR systems. The VoiceXML along with Nuance 8.5 speech recognition software can reduce cost and effort of deploying voice-driven services. In [1], a VoiceXML-driven audio wiki application is presented that is accessible via both the Public Switched Telephone Network and the Internet. Users may access wiki content via fixed or mobile phones or via a PC using web browser or a Voice over IP service. Silog is a biometric authentication system that extends the conventional PC logon process using voice verification [2].  SeeCCT is a prototype of a multimodal social networking system designed for sharing geographical bookmarks [3]. In [4], VoiceXML portal is developed that allows people with a mobile or usual phone to get informed about cultural activities by dialing a phone number and by interacting with a computer via voice. Domain-specific dialogs are created in native languages viz. slavic languages using VoiceXML [5]. HearSay is a non-visual Web browser developed for visually impaired users [6].
AspectJ is one of the oldest and well-known aspect languages and it helped to bring AOP to the mainstream. AspectJ is an extension of the Java language which de-fines a special syntax for declaring aspects. The first ver-sions of AspectJ featured compile-time source code weaving and bytecode weaving. It later merged with AspectWerkz which brought load-time weaving as well as AspectWerkz’s annotation style to the language. AOP is used in a variety of fields. Aspect-oriented software development had played an important role in the design and implementation of PUMA which is a framework for the development of applications that analyze and trans-form C or C++ source code [7]. A framework for middle-ware design is invented which is based on the Concurrent Event-based Aspect-Oriented paradigm [8]. A fully dynamic and reconfigurable monitoring system is designed based on the concept of Adaptable Aspect-Oriented Programming (AAOP) in which a set of AOP aspects is used to run an application in a manner specified by the adaptability strategy [9]. The model can be used to implement systems that are able to monitor an application and its execution environment and perform actions such as changing the current set of resource management constraints applied to an application if the application/environment conditions change. An aspect-oriented approach is advocated as an improvement to the object oriented approach in dealing with the issues of code tangling and scattering in case of multilevel security [10].

3   VoiceXML
VoiceXML is HTML of Voice Web. It is W3C’s standard XML format for specifying interactive voice dialogues between a human and a computer. VoiceXML is a mar-kup language for creating voice user interfaces. It uses Automatic Speech Recognition (ASR) and/or touchtone (DTMF keypad) for input, and prerecorded audio and text-to-speech (TTS) synthesis for output. Numerous commercial vendors such as IBM, TellMe and BeVocal provide voice browsers that can be used to “play” Voice-XML documents. Current voice interfaces to the web are of two types: voice interface to screen display and voice-only interface. The dynamic voice interface presented in this paper is a voice-only interface that uses a telephone as an input and output device.

Read More: