Towards a profile driven service authoring and adaptation
platform
Ruud Siebelink
Corporate Research Center
Alcatel Bell
Francis Wellesplein 1,
2018 Antwerpen, Belgium
ruud.siebelink@alcatel.be
The modern telecom and Internet world is characterized by a
whole
plethora of devices which the user may use to access a given service. When
confronted with
such a richness of user devices, the traditional way of creating a service
i.e.
writing separate code for each type of user device no longer seems
appropriate. A
more sophisticated approach is called for in order to facilitate the
implementation of
"any service, any time, any place" scenarios. The development of
device
independent authoring tools will be crucial in this context.
In recent years XML-based technologies have gained a
widespread
acceptance as they opened up a whole avenue for creating and managing telecom
and Internet
services. Well-known examples of XML languages comprise XHTML for use in
standard
PCs, WML for WAP GSMs and VoiceXML for voice enabled devices (such
as ordinary
phones). Each of these languages was designed with a limited set of devices in
mind.
Therefore, it is difficult (if not impossible) to select one of these languages
and use it
as a basis for a device independent authoring. Instead we propose to build a new
XML
language that from the outset takes into account the following design
principles:
- It should allow for "author-once deploy-many" scenarios
- It should achieve a clean separation between the behavior, content and
presentation of
the service.
- It should contain support for automatic adaptation and personalization of
the service.
Below we will outline our vision on new ways to create
adaptive
information and communication services in a highly efficient manner. This vision
is based
on (i) the use of XML as enabler to separate the services data model, its
presentational and behavioral components and (ii) a unified RDF-based profile
framework
(describing user, terminal, service, etc.) which will drive the adaptation
process.
1.- The Abstract User Interface Language
We have started the design of a device-independent XML
language. This
language is called the Abstract User Interface markup Language (AUIL) and it
forms the
basis of the "service authoring and adaptation platform". The idea is
to
describe the generic properties of a given interactive voice or information
service with
the Abstract User Interface markup Language, and then automatically adapt the
service
content, behavior and presentation towards the various device-specific XML
languages
(XHTML, WML, VoiceXML etc.). The service adaptation process will be based on the
users preferences, his terminal capabilities, his current location, the
service
requirements etc.
The Abstract User Interface Language consists of three types
of
elements.
- First there are core AUIL elements. AUIL is designed for authoring a
"skeleton
service", which mainly concentrates on the behavioral aspect of the
service. In
particular a service is divided into several "units", which
describe separate
dialogs between the user and the service (forms, menus
). The
description of the
service workflow also includes event handling and the use of variable-value
pairs. AUIL
documents may contain explicit content as well, but in view of the desired
separation of
behavior, content and presentation the explicit content in AUIL documents
should be kept
minimal. AUIL contains no (or at least very little) support for
presentation. Presentation
should be dealt with by applying style sheets.
Core AUIL elements are subject to device-specific but service-independent
XSLT
transformations. These XSLT transformations define a mapping from the core
AUIL elements
to e.g. WML, VoiceXML or XHTML elements. On the result of the first XSLT
transformation a
second service-dependent style sheet may be applied as well, in order to
further determine
the look and feel of the service.
- AUIL elements that provide support for run-time retrieval of profile
information. The
profile tags must be processed by the service authoring and adaptation
framework. In
particular, profile information may influence the service workflow and may
determine which
content will be rendered to the user.
- AUIL elements that allow retrieving of dynamic content, for instance from
third party
content providers. A JSP-like technique probably will be useful here.
2.- From profiles to personalized services
Todays service providers have to take into account the
various
wishes and needs of their end-users. These are usually captured in user
preference
profiles and have a strong relation with the service configuration. The user
preferences
are also constrained by the capabilities of the device used to interact with the
network:
limited display, reduced amounts of memory, sporadic connections with a high
latency and
low bandwidth are typical characteristics of most common personal devices such
as GSMs .
An effective service adaptation process should rely on a
complete and
just-in-time acquisition of all service delivery parameters, which is not an
easy
requirement. First of all, knowledge about terminal features, network speed,
location
information, user preferences etc. is often spread over the network, as
different parties
own their own types of information. Secondly, some information will be quite
static (e.g.
the users name) while others may be very dynamic in nature (the
users
location).
We propose to use the power of RDF to express profiles,
combined with
well-chosen algorithms for advanced querying and matching, thus allowing the
adaptation of
the service in a non-trivial provisioning context.
Based on a detailed study of standards from different bodies
including
W3C, IETF, ETSI and OMG, we have recently defined several types of profiles that
are
relevant to the service-provisioning context. This has resulted in a
"Unified Profile
Scheme", consisting of the following profile components:
- The Terminal profile describes all terminal capabilities and
characteristics.
- The User profile describes various types of information related to an
'economic entity'
(a person or an organization).
- The Service profile describes a service, offered to a certain economic
entity by another
economic entity.
- The Preferences/Interest profile describes all 'personal'
preferences/interests of a
certain economic entity. A preference is a kind of (implicit) rating on
something, e.g. an
interest.
- The Location profile describes the presence of a certain terminal or other
object. This
includes also descriptions of routes from one location to another (which can
be useful to
anticipate some events or user interests).
- The Network profile describes the network that the terminal of the
economic entity uses
to get a certain service
3.- Implementation
At present we are implementing the various building blocks of
the
service authoring and adaptation platform. These consist of
- an authoring environment for voice and information services based on the
Abstract User
Interface Language
- an application server hosting various types of adaptation servlets, which
support
amongst others XSLT style-sheeting and dynamic content generation
mechanisms.
- profile servers, supporting a newly developed RDF-based profile management
protocol,
taking into account the distributed nature (both in time and space
dimensions) of
profiles.
References
- "Extensible Markup Language (XML) 1.0", W3C Recommendation 10
February 1998,
http://www.w3.org/TR/1998/REC-xml-19980210
- "XHTML 1.0: The Extensible HyperText Markup Language", W3C
Recommendation 26
January 2000,
http://www.w3.org/TR/xhtml1
- "HTML 4.01 Specification", W3C Recommendation, 24 December 1999,
D. Raggett,
A. Le Hors, I. Jacobs, on-line at
http://www.w3.org/TR/1999/REC-html401-19991224
- "Voice eXtensible Markup Language (VoiceXML) version 1.0",
W3C Note 05
May 2000,
http://www.w3.org/TR/voicexml/
- "Wireless Markup Language Specification, version 1.3", 19
February 2000 http://www1.wapforum.org/tech/terms.asp?doc=WAP-191-WML-20000219-a.pdf
- "Resource Description Framework (RDF) Model and Syntax
Specification", W3C
Recommendation, 22 February 1999, on-line at
http://www.w3.org/TR/REC-rdf-syntax/
- The World Wide Web Consortium (W3C),
http://www.w3.org/
- IETF: The Internet Engineering Task Force,
http://www.ietf.org/
- ETSI: The European Telecommunications Standards Institute, http://www.etsi.org/
- The Object Management Group (OMG),
http://www.omg.org/