Sisl: Several Interfaces, Single Logic

Modern interactive services incorporate automatic speech recognition and natural language understanding, and include touch-tone telephone interfaces, graphical user interfaces on the desktop and web-based interfaces using applets and HTML forms. Duplication is a problem in this context: there is a different service logic (i.e., the code that defines the essence of the service) for every different user interface to the service. Furthermore, to support natural language style interfaces, services must allow users freedom in input by supporting different orderings of information, partial information together with early error detection, correction of information, lookahead, and reverting back to earlier points in the service. Current approaches for multi-modal services are based on finite-state machines, every possible ordering of information must be described explicitly, and hence the resulting finite state machines are huge and impossible to maintain.

We have developed Sisl, an architecture and domain-specific language for structuring services with multiple user interfaces.  Sisl supports services with multiple interfaces based on graphics, web, touch-tone telephony, and automatic speech recognition with natural language understanding. Sisl allows the flexibility in inputs described above, and enables service providers to support multiple interchangeable interfaces to a single consistent source of service logic and data. Sisl service logics are based on a novel form of event-driven directed graphs, called reactive constraint graphs. These graphs can be specified through a XML mark-up language. Sisl is implemented as a library in Java, and automatically generates the variety of interfaces described above. Sisl is integrated with Java
Server Pages, allowing the content of user interfaces to be separated from presentation.  This allows user interfaces
to be customized or programmed by a third-party, without requiring changes to the Sisl service logic. Sisl also supports an extensive testing facility through integration with VeriSoft, a systematic state-space exploration tool.

In a collaboration with Lucent Switching Solutions, we are currently exploring the use of Sisl in circuit-based and packet-based call processing applications.  Many of these applications are multi-modal in nature, being required to support interaction through automatic speech recognition, touch-tone telephony, and web and terminal/GUI-based interfaces.  Furthermore, customers are increasingly demanding interfaces that support more flexibility in user inputs for all modes of interaction.  As part of the collaboration, we are evaluating the use of Sisl as a service creation framework for such applications.

Implementation and Availability

Sisl programs can be specified in a XML markup language. Sisl is implemented as a Java library, and is compatible with Java 1.1x and up. It includes infrastructure for web user interfaces based on the Java Servlet API, and automatic speech recognition interfaces based on the Java Speech API.  It also generates VoiceXML interfaces.

Please contact Lalita Jagadeesan if you would like a copy of Sisl, including the XML markup language.

People

The Sisl team consists of Ken Cox, Pete Danielsen, Troy Echols, Patrice Godefroid, Beki Grinter, Stacie Hibino, Lalita Jagadeesan, Radha Jagadeesan, Konstantin Läufer.
 

Applications

We are currently applying Sisl in the following projects:

Papers

The following paper on Sisl is to appear in the International Journal of Speech Technology published by Kluwer Academics.  ps and pdf versions available.

The following short paper on multi-modal interfaces to information visualization, using Sisl and InfoStill, appeared in the Conference on Advanced Visual Interfaces, May 2000.  Pdf version available.

Related Work

The initial version of Sisl was written using Triveni, a framework and API that integrates threads and events in
concurrent object-oriented programming.
 

Educational Use

Sisl is being in the course Comp 338/488: Interactive Services Programming at Loyola University Chicago since January 2000.
 
lalita@research.bell-labs.com

Last updated  Fri May 12 2000 Copyright ©Lucent Technologies 2000. All rights reserved.