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:
-
As a service creation framework for call processing applications for a
family of Lucent programmable switches.
-
Multi-modal interfaces to information exploration and presentation, that
provide natural language guidance to the user. In particular, we have integrated
Sisl with the toolset for information visualization, and have written an
application in which users can explore organizational information in a
Lucent database using queries such as "How has department (favorite department
number) grown over time?" A short paper
on this work.
-
Multi-modal access, including automatic speech recognition and natural
language understanding, in collaborative systems.
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.