An Object-Oriented Version Model for Context-Aware Data Management
A dissertation submitted to the
SWISS FEDERAL INSTITUTE OF TECHNOLOGY ZURICH
for the
degree
ofDoctor of Technical Sciences
presented by
Michael Grossniklaus Dipl. Informatik-lng.
ETHborn June
22,
1976citizen of
Zurich, ZH,
Switzerland andBeatenberg, BE,
Switzerlandaccepted
on the recommendation of Prof. Dr. Moira C.Norrie,
examinerProf. Dr. Stefano
Ceri,
co-examiner2007
Konstanzer Online-Publikations-System (KOPS) URL: http://nbn-resolving.de/urn:nbn:de:bsz:352-259129
-Bougie
MacLean: "Not Lie DownDon't waste your time or time will waste you.
-Muse:
"Knights of Cydonia'
Die Welt
liegt
uns zuFüssen,
denn wir stehendrauf.1
-Die Fantastischen Vier:
"MfG
The world is at our feet because we standon it.
Context-aware
computing
has beenrecognised
as apowerful
solutionto address the
requirements
of many modernapplication
domains. Forexample,
in mobilecomputing,
context is used toaugment
the user'sexperience
wheninteracting
with asystem by adapting
responses to their current situation. In the domain ofubiquitous
andpervasive computing,
the role of context is often to
compensate
for the lack of traditional userinterfaces.
Finally,
in webengineering,
context is used toadapt
contentdelivery
to numerous factors.Building
on contextinformation,
recentweb
systems support
multi-channel and multi-modal interaction as wellas
personalisation
and internationalisation. While several frameworks and models have beenproposed
togather, represent
and processcontext,
very few of these solutions consider the
management
of context-awareciata.
In the
past,
databasesystems
have been used to manage data for ap¬plications
from various domains. To address everchanging requirements,
database
systems
haveundergone
a remarkable evolution from mono¬lithic
heavyweight
databases tolightweight personal
information stores.Continuing
thisevolution,
it is ourapproach
to extend databasesystems
with
concepts
to cope with thechallenge
of context-aware data man¬agement.
Theproposed
solution is based on a two-dimensional version model that allowscontext-dependent
variants to bemanaged, while,
atthe same
time, keeping
track of the revisionalhistory.
Within the scope of this versionmodel,
queryprocessing
is realised based on amatching algorithm
that uses the current context state of thesystem
to select thebest version of every
object
that is accessedduring
query evaluation.Our version model has been
specified
based on the OMobject-oriented
data model and has been
implemented
aspart
ofa databasemanagement system
that is based on OM. As anapplication
of this extended data¬base
management system,
a web contentmanagement system
has beendesigned
andimplemented.
The intention of this Extensible ContentManagement System (XCM)
is toprovide
apowerful implementation
i
platform
for webengineering applications.
Most model-drivendesign methodologies
in thisapplication
domain feature some notion of context- drivenadaptation. However,
suitableimplementation platforms
to sup¬port
thesemethodologies
are sparse or tied in with aspecific design
method. To
implement
webengineering systems,
XCMseparates
theconcepts
ofcontent, structure,
view andpresentation.
Metadata about theseconcepts
ismanaged
within our extended database and therefore all fouraspects
of a websystem
can be made context-aware.The EdFest mobile tourist information
system
serves as aproof-of- concept
forXCM,
that is used as a contentmanagement component
in thissystem.
EdFest is anapplication
thatprovides
information about theEdinburgh
Festivals to tourists whilethey
arevisiting
thecity.
The sys¬tem offers multi-channel interaction
by supporting
standard web channelsas well as a novel
paper-based
channel. In terms of contextinformation,
EdFest has established new
requirements,
as notonly
traditional factors such aslocation,
device and user context areconsidered,
but also the in¬teraction context. Due to
specific requirements
of the interactive paperdelivery channel,
notonly
the content that is delivered to a tourist has to beadapted
but also the interaction process that leads to the contentdelivery.
Even
though
our version model for context-aware datamanagement
has been defined within the framework of the OM data
model,
the con¬cepts
can begeneralised
to data that isrepresented
in other models. Inparticular
this is the case for relational databasemanagement systems,
as our version model has its
origins
in solutions that have beenproposed
for
temporal
andengineering
databases that weredeveloped
based onthe relational model.
Unfortunately,
most oftoday's
information is notmanaged by
databasesystems
but rather stored inplain
files and it is therefore notpossible
to takeadvantage
of theproposed
version model.Concepts
from web contentmanagement
such as theexplicit
represen¬tation of the internal structure of a file or the reuse of different content
components
in differentplaces
could be used toimprove today's
file sys¬tems.
Only
in thissetting,
can the fullpotential
of context-aware datamanagement
befinally
unleashed inhandling everyday
information suchas
wordprocessing, spreadsheet
orpresentation
documents.Der
Einbezug
von Kontextinformation ist eine anerkannte undmächtige Lösung
für dieAnforderungen
vieler modernerAnwendungsbereiche.
Sowird Kontext
beispielsweise
in mobilenApplikationen verwendet,
um dieInteraktion mit dem Benutzer zu
verbessern,
indem sich dieAnwendung
an dessen Situation
anpasst.
Kontext wird auch dazuverwendet,
umin
allgegenwärtigen Systemen
den Umstand zukompensieren,
dass dieseoft keine traditionelle Benutzerschnittstelle haben. Aber auch in der
Entwicklung
vonWebangeboten
ist Kontext zurAnpassung
an verschie¬denste Faktoren essenziell. Neuere
Websysteme
nutzen dabei Kontextin¬formation,
um Inhalte über mehrereAusgabekanäle
zupublizieren,
sowiezur
Personalisierung
undInternationalisierung
von Webseiten. ObwohlSysteme
und Modelle zurAkquisition, Repräsentation
undBearbeitung
von Kontext entwickelt
wurden,
blieb dieVerwaltung
kontext-sensitiver Daten bisher aussen vor.Datenbanksysteme
wurden in derVergangenheit
wiederholt dazu ein¬gesetzt,
Daten verschiedensterAnwendungen
zu verwalten. Um mitden sich
ständig
veränderndenAnforderungen
Schritt zuhalten,
durch¬lebten Datenbanken die bemerkenswerte
Entwicklung
von monolithischen Datenbankservern hin zu flexiblenpersönlichen Informationsspeichern.
Das Ziel dieser Arbeit ist es
daher,
dieseEntwicklung fortzuführen,
in¬dem Datenbanken mit
Konzepten
erweitertwerden,
die dieVerwaltung
kontext-sensitiver Information
ermöglichen.
Dievorgeschlagene Lösung
basiert auf einem zweidimensionalen
Versionierungsmodell,
das sowohldie
Verwaltung
vonkontext-abhängigen
Varianten wie auch dasVerfolgen
der zeitlichen Evolution erlaubt. Die
Auswertung
vonAnfragen erfolgt
dabei durch einen
Algorithmus,
der anhand desgegenwärtigen
Kontextsdie
bestmögliche
Versionjedes Objektes auswählt,
auf das imZuge
derAnfragebearbeitung zugegriffen
wird.Unser
Versionierungsmodell
wurde unter derVerwendung
desobjekt¬
orientierten Datenmodells OM
spezifiziert
und innerhalb eines daraufm
basierenden
Datenbanksystems implementiert.
AlsAnwendung
diesererweiterten Datenbank wurde ein Web Content
Management System
im¬plementiert.
Die Absicht dieses Extended ContentManagement Sys¬
tem
(XCM)
ist es, einemächtige Implementationsplattform
fürWebap¬
plikationen
anzubieten. Die meisten modellbasierten Ansätze zur Ent¬wicklung
solcherSysteme verfügen
bereits überMethoden,
kontextab¬hängige Anpassungen
auszudrücken. Bisher wurdenjedoch
noch keinegenügend allgemeinen
odergeeigneten
Plattformengeschaffen,
um dieseModelle umzusetzen. XCM unterscheidet die vier
Grundkonzepte
In¬halt, Struktur,
Sicht undGestaltung.
Metadaten zu diesenKonzepten
werden in unserem erweiterten
Datenbanksystem
verwaltet und es istdaher
möglich, jedes
einzelne kontextsensitiv zu machen.EdFest,
ein mobilesInformationssystem
für Touristen verwendet un¬ser Content
Management System
alsKomponente
zur InformationsVer¬waltung
und dient alsLeistungsnachweis
von XCM. DieAufgabe
vonEdFest ist es,
Touristen,
dieEdinburgh besuchen,
mit Informationen über diedortigen Festspiele
zu versorgen. DasSystem
bietet neben dem ge¬wöhnlichen,
webbasiertenZugang
auchpapierbasierte
Interaktion an. Im Hinblick auf dieberücksichtigte
Kontextinformationgeht
EdFest weiter alsbisherige Systeme,
da nebenorts-,
benutzer- undgerätespezifischen
Faktoren auch der Interaktionskontext
einbezogen
wird. AlsFolge
derspeziellen Anforderungen
desZuganges
durch interaktivesPapier
reichtes nicht aus, nur die Inhalte anzupassen, sondern es ist auch
notwendig,
den Prozess zu
adaptieren,
über den auf Inhaltezugegriffen
wird.Obwohl unser
Versionierungsmodell
zurVerwaltung
von kontext-sen- sitiven Daten im Rahmen des OM Datenmodells definiertwurde,
lässtes sich auf Information
ausweiten,
die anhand anderer Modelle verwal¬tet wird. Dies trifft insbesondere auf das relationale Datenmodell zu, da unser
Versionierungsmodell
seinenUrsprung
intemporalen
und In¬genieurdatenbanken hat,
die für das relationale Modell entwickelt wur¬den. Da der Anteil von
Daten,
die vonDatenbanksystemen
verwaltetwerden
verglichen
mitdenen,
die in Dateiengespeichert sind,
ziemlichbescheiden
ist,
ist es momentan nichtmöglich
vomvorgeschlagenen
Mo¬dell zu
profitieren.
Wirglauben jedoch,
dass ContentManagement
Kon¬zepte,
wie dieexplizite Verwaltung
der internen Struktur einer Datei oder dieWiederverwendung
von Inhalten an mehreren Orten eine solide Basisdarstellen,
umheutige Dateisysteme
zu verbessern. Nur so liesse sich das volle Potenzial kontext-orientierterDatenverwaltung
im Um¬gang mit
alltäglicher
Information wieTextverarbeitungs-,
Tabellenkal- kulations- oder Präsentationsdokumenten verwirklichen.First and
foremost,
I would like to thank Prof. Moira C. Norrie for the constantsupport
she hasgiven
me over the last years. From the first time I met her as astudent,
Moirakept encouraging
me to pursue myown ideas and I am
grateful
that she gave me theopportunity
to do so inher research group. Whenever I needed to discuss
something
orsought guidance,
Moiraalways
had an open door andhelpful
advice for me. Iam sure that the
experience
I havegained
fromworking
with her will bea valuable asset in my future life.
I would also like to express my
gratitude
to Prof. Stefano Ceri thatwas kind
enough
to agree toco-supervise
my thesis. I have very muchappreciated
his invitation togive
a seminar about my work at Politecnico di Milano.During
the finalstages
of mythesis,
Stefano's comments havealways
beenhelpful,
constructive andencouraging.
Very special
thanks go, ofcourse, to mypresent
andpast
coworkers at the Global InformationSystems
research group.Working together
withevery
single
group member was ajoy
and I amproud
of thethings
we haveachieved as a team. I will never
forget
thesupportive
andcooperative atmosphere
thatprevailed
among us, both inside and outside the office.Some ofmy
colleagues, however,
deservespecial
a mention in the contextof this thesis. I would like to thank Beat
Signer
and Corsin Decurtins for all theinteresting
discussions that we had when I shared an office with each of them. I am also verygrateful
to Beat forfurnishing
thetemplate
I used to
layout
this thesis and for the valuable feedback heprovided.
The meticulous
proof-reading
and critical comments of Ela Hunt have been very muchappreciated
and havehelped
me toimprove
thequality
of this thesis
substantially. Finally,
I am also in Stefania Leone's debt fordiscovering
many mistakes when she readthrough
my thesis.Apart
frombeing
mycolleagues
at theoffice,
AlexiosPalinginis
andAlex de
Spindler
are both verygood
friends. Alexios and I walked the be¬ginning
of thepath
that led to the workpresented
in this thesistogether
v
and it saddens me that he decided to leave academia to pursue another road. I have met Alex when we were both students and it was his pas¬
sion for
carrying
out his ownprojects
that reassured me in my decision to pursue the academic trail. I am indebted to both of them for theirsupport
and thegood
memories I have whenthinking
back to the manyhappy
moments weexperienced together.
Finally,
I would like to thank mygood
friends—NoëmiLerch,
IrenaRistic,
DanielaSchaub,
Lisa vonBoehmer, Nicky Kern,
Fabian Krist- mann,Niggi
Schäfer and Daniel Zweifel—forbeing
there with me onvarious
stages
of thejourney. Last,
butby
no meansleast,
I am mostgrateful
to myparents
and my brothers thatsupported
methroughout
my whole
life, regardless
of whether times weregood
or bad. Thank you, this thesis would never have beenpossible
withoutyou!
1 Introduction 1
1.1 Motivation 4
1.2
Challenges
ofContext-Awareness
61.3 Contribution of this Thesis 8
1.4 Thesis Overview 10
2 Context-Aware
Computing
132.1 Forms of
Context
132.2
Ubiquitous
and PervasiveComputing
172.2.1 Location-Aware
Systems
182.2.2 Communication Tools 20
2.2.3
Intelligent
Environments 242.2.4
Models,
Frameworks and Infrastructures 282.3 Mobile
Computing
352.3.1 Location-Aware Information Access 37
2.3.2 Electronic Guides 38
2.3.3 Mobile Fieldwork 43
2.3.4
Models,
Frameworks and Infrastructures 442.4 Web
Engineering
512.4.1
Modelling Hypertext
andHypermedia Systems
. 542.4.2
Designing
andManaging
Web Sites 592.4.3
Building
the Semantic Web 642.4.4
Models,
Frameworks and Infrastructures 672.5
Analysis
andHypothesis
70VII
3 Version Models and
Systems
733.1
Concepts
andTerminology
743.2
Existing Systems
803.2.1
Temporal
Databases 803.2.2
Engineering
Databases 893.2.3 Software
Configuration
963.2.4
Hypertext Versioning
1073.2.5
Object-Oriented Systems
1123.3 Discussion 116
4 Context-Aware Data
Management
1174.1
Context,
ContextSpace
and Context State 120 4.2 AnObject-Oriented
Version Model 1244.2.1 TheOM Data Model 125
4.2.2
Integrating
Revisions and Variants 129 4.2.3Identifying
andReferencing Objects
1374.3 Context-Aware
Query Processing
1434.3.1
Influencing
the Context State 1434.3.2 Context
Matching
1454.4
Implementation
1564.5 Discussion 168
5 Web Content
Management
1755.1
Requirements
1765.2
Approach
1805.3
Implementation
1875.3.1 Content
Server
1895.3.2
Management
Client 1925.4 Discussion 205
6 A Mobile Personal Information
System
2076.1 The
Edinburgh
Festivals 2086.2 A Mobile Multi-Channel Information
System
2106.3
Implementation
2176.4 Discussion 233
7 Conclusion 237
7.1 Discussion 238
7.2 Outlook 242
1
Introduction
Database
systems
havealways played
animportant
role in many ap¬plications
across various domains.Originally
conceived as a means forefficient
storage
of information in classic databaseapplications
such aslibrary catalogues,
financialaccounting solutions,
airline reservation sys¬tems or
product inventories,
databasesystems
have evolvedcontinually
over time and have become
widespread
to apoint
wherethey
form apart
ofnearly
everytype
ofapplication
in existence.Nowadays, operating
sys¬tems use them to maintain a
directory
of installed software andhardware,
network
management
toolsoperate
ontop
of a databasecataloguing
allusers, hosts and the connections between them and
computer-aided
de¬sign
toolsemploy
databasesystems
tokeep
track of the course of theproduct development
process.However,
databasesystems
are to be found notonly
inspecialist
ap¬plications
andexpert
domains. Morerecently,
thesetechnologies
havealso
progressed
into the realm of consumer software. Multimedia tools such asimage
libraries or mediaplayers employ
databasesystems
to man¬age the vast amount of
digital images,
music files or videos. Personal or¬ganisers
such as mailclients,
calendar tools and contact managersalso usedatabases to
perform
their tasks and toprovide
the user with advanced search and notification facilities. In modern webbrowsers,
bookmarksare stored in
lightweight
datamanagement systems
that allow standard¬ised
querying
and easy dataexchange. Using techniques
from the field of informationretrieval, desktop
searchengines
index documents on a1
personal computer's
hard disk and thus constitute apowerful
means tofind files. When
helping
a driver to reach theirdestination, navigation systems
as installed in most recent cars draw theirknowledge
from ageographical
informationsystem,
a databasesystem
that is tailored andoptimised
to answerqueries
about routeplanning
and features of thesurrounding landscape. Lately,
the trend towardsomni-present
databasesystems
has even become visible in a manner thatspawned
discussions andplans
toreplace
the hierarchical filesystems
used to manage data ondisk
today
with filesystems
based on a databasesystem.
Such file sys¬tems could
provide
uniform database services to most of theapplications
discussed above and would eliminate the need for
proprietary
solutions.To address the ever
changing requirements
that have arisen fromtheir
dispersion,
databasesystems
haveundergone
a remarkable evo¬lution.
Very early
databases were built on apurely
hierarchical data model and this was sufficient for manysystems.
When morecomplex applications required many-to-many relationships,
the tree-based hierar¬chical model was abandoned and the
graph-based
network data modelwas introduced with CODASYL
[71]
as a standard. Inparallel,
datastructure
diagrams—later
renamed as Bachmandiagrams [9]
after their inventor—were created as a way tographically
describe the data stored in a databasesystem.
Since the network model wasdesigned
for sequen¬tial data
storage
onmagnetic tapes,
amajor
drawback that resulted from thistype
ofstorage
was the lack of ageneral
searchfunctionality.
With the advent of disk drives that were free of this
limitation,
ran¬dom access to data became
possible bringing
forward databasesystems
based on the relational model of data as first formalised
by
Codd[72].
Initially,
the relational model wasprimarily adopted by
the academiccommunity
whichpreferred
its mathematical foundations over the tech¬nical
specifications
of commercial databasesystems
based on the network model. As anapproach
toproviding
a "unified view ofdata",
Chen pro¬posed
theEntity-Relationship (E/R)
model[64]. Building
on the ideaof a
graphical
notation that describes a softwaresystem, E/R diagrams provided
a clearseparation
ofconcepts by distinguishing
between entities andrelationships.
At thetime,
these characteristics of theE/R
modelwere
major improvements. However, today
the abstraction from the un¬derlying implementation
model andproviding
aconceptual
view of data has also to berecognised
as one of the model'smajor
contributions. It is thisproperty
of the model that haspropelled
acontinuing
evolution man¬ifesting
itself in extensions toE/R
or in other modelsdeveloped
to con¬ceptualise specialist
domains.Apart
fromperformance,
theE/R
modelwas also one of the factors that led to the
adoption
of the relational model in commercial databasesystems
as it also established a well-defined pro¬cess for
developing
databaseapplications.
Even
though
the relational model hasnowadays
beenwidely accepted
as the standard
technology
to store andmanipulate
data in database sys¬tems,
it wascontinually adapted,
extended andoptimised
to suit the need of newapplications.
Forexample,
when therequirement
ofrepresenting
the
history
of the stored datasurfaced, attempts
were made torepresent
thisby simply adding
additional attributes toexisting
relations to cap¬ture the time when a
given tuple
is valid. Theseapproaches
thatmerely
used the relational model without
altering
the modelitself,
were soonfound to be too
simple
in nature. Data cubes and three-dimensional re¬lations were among the new
concepts
that were introduced to extend the foundation of the relational model to cope withtemporal
data. Otherapplication
domains such ascomputer-aided design, manufacturing
andsoftware
engineering
welcomed databasesystems supporting
historic ver¬sions but also introduced additional demands such as the
management
of alternative
versions,
the definition ofconfigurations
and thepossibil¬
ity
ofmerging
datadeveloped
inparallel.
To address thesedemands,
a number of
general
version models have beenproposed
andintegrated
into database
management systems.
As version models became more
complex
overtime,
theconcepts
of the relational model turned out to be a hindrance asthey
did notlend themselves to
representing
versionedobjects.
Whenobject-oriented programming languages
became the status quo inapplication engineer¬
ing,
theimpedance
mismatch between relational databases andobject-
oriented
applications
grew into a seriousproblem
andobject-oriented
databases
emerged
also. As thesesystems provided
theconcept
of anobject, they
were able toimplement versioning
at a natural level. At the sametime, using
the same data model in the database and for theprogramming language
reduced theprogramming
overheads to map data between the two models. As a reaction to thisevolution,
some relationaldatabases were
augmented by integrating object concepts
into the rela¬tion model to form what is known as the
object-relational
model. Whilepurely object-oriented
databases were able to overcome the drawbacks of the relationalmodel, they
often lackedsupport
for database manage¬ment. For
example,
fewsystems implemented
a standardised commonquery
language
such asObject Query Language (OQL)
that was pro¬posed by
theObject
DataManagement Group (ODMG)
and rather reliedon the
programming language
to retrieve andmanipulate
data. Theselimitations and the fact that relational databases also
provided
some sup¬port
forobject-orientation,
have restricted the success ofobject-oriented
databases and
today they only
exist in certain niches such as embedded databases used in the automotive or aerospaceindustry.
Although
thespread
of databasesystems
hasalready
made these tech¬nologies
an essentialpart
ofmost oftoday's systems,
their evolution is far fromcoming
to an end. With the advent ofpowerful portable personal
devices and
global
access todata,
the whole domain ofcomputer
science launches into a new era which willbring
newapplications,
newchallenges
and new demands. We believe that it is essential to continue
addressing
these demands
by advancing
the evolution of databasesystems
onestep
ahead. Anexample
of such a new demand that iscurrently perceived
inmost
applications
domains is thecapability
ofsystems
to expose context-aware behaviour.
Hence,
it is necessary todevelop
core databasesystem technologies
to cope with theserequirements.
In thisthesis,
we propose a version model forobject-oriented
databasesystems targeted
at context-aware data
management. Continuing
the evolution of versionmodels,
wehave extended
existing concepts
to addresstoday's requirements.
Theresulting
model storescontext-dependent
versions ofobjects,
while at thesame
providing
moretraditional,
revisionalversioning
features thathelp
to
keep
track of the evolution of asystem. Further, through
the use ofa
configurable matching algorithm
thatoperates
ontop
of this versionmodel,
our extended databasesystem
is able to deal withadaptation requirements
of diverseapplications.
1.1 Motivation
To corroborate the demand for context-aware database
systems,
we ex¬amine a set of fields within
computer
science that willprovide
evidencethat there are
applications being
built thatrequire
suchfunctionality.
Inthese
application domains,
at least threemajor trends,
that arealready
under way, can be witnessed at the moment. These
developments
havenot
yet
beenproperly
addressed in databasesystems
research and will thuspropel
the future evolution of thesetechnologies.
The
globalisation
of many modernapplications
is one suchdevelop¬
ment that will have a
strong impact
on how databasesystems
technolo¬gies
will evolve in the nearfuture. Globalapplications provide
world-wideaccess to their
functionality
and the datathey
manage.Although they
are built as a
single application using
asingle
source ofinformation, they
are
expected
to behaveeverywhere
as the local customs and culture de¬mand. In its
simplest form, globalisation
means that suchsystems
needto be
capable
ofdealing
withmultiple languages.
Morecomplex
chal¬lenges
arise from cultural differences such as whether text is read fromleft-to-right
or fromright-to-left,
how dates or numbers are formattedand what information is considered offensive or even forbidden. Another
aspect
ofglobalisation
is collaboration across theglobe. Clearly,
everyregion
is mostqualified
toprovide,
edit andupdate
the information that is intended for local use. A modern databasesystem
shouldprovide
fea¬tures to manage the same information
spanning multiple
nations and tokeep
track of its evolution in aglobal
collaborative environment.Another
important
trend that information research must face is per¬sonalisation. In contrast to
globalisation, personalisation
demands thatan
application adapts
to the needs and desires of an individual user. Per¬sonalisation can either be effected based on user behaviour and
history
or on
explicit input by
usersspecifying
how thesystem
should be con¬figured.
In the first case, asystem
can, forinstance, adapt
the way in which it interacts with a user,thereby optimising
the work processes auser has to carry out to achieve their task. As an
example
of the second case, users would like to be able to control the look and feel of an ap¬plication,
whichparts
of the stored data arepresented
to them and how theapplication
behaves in terms of when aspecific piece
of information isdisplayed. Whereas,
in the case ofglobalisation,
informationadapts
to
well-specified
rules of a whole set of users definedby
their commonculture, personalisation
leads toadaptivity
at a much finer level of gran¬ularity,
as thesystem
alters based onarbitrary preferences
of asingle
person. A database
system, therefore,
does notonly
need tokeep
trackof the data
managed by
an individual user, it also needs to record theconfiguration
andpreferences
of these users.The third
development
incomputer
science to affect databasesystems
is what we will call mobilisation
throughout
this thesis. With mobilisa¬tion we mean the influences that come from the fields of
mobile, pervasive
and
ubiquitous computing.
Each of these fieldsessentially
advocates ashift from the traditional
style
ofinteracting
withapplications
based ona
personal computer
towardsapplications
that are accessiblethrough
small devices or are
completely
embedded in the environment. Databasesystems technologies
havealready
faced similarchanges
incomputing paradigms
whenthey
evolved from mainframecomputers
to workstations and later topersonal computers.
This diversification led to a broaden¬ing
oftechnologies
that manifests itself in the range of databasesystems
available
today. Corporate applications rely
onhighly configurable
data¬bases that manage
large
amounts ofinformation,
while consumersystems employ lightweight storage
solutions that areoptimised
for much smaller data sets and are easier to administer. Itis, therefore, only logical
toassume that database
systems
will also takepart
in this latest transition ofcomputing paradigms.
In these novelenvironments,
databasesystems
need to address a whole set of additional
challenges. While,
forexample,
interaction with information in traditional
systems
was based onkey¬
board
input
andgraphical output
on screens, in these newapplications,
screens and
keyboards
are very limited in size or not available at all.Therefore,
the so-called interaction bandwidth isdrastically
reduced and databasesystems
need toprovide support
to use it aseffectively
as pos¬sible. Often
applications
will want toprovide
more than one interaction channel or combinearbitrary
channels to offercomplex
interaction facil¬ities.
Especially
in mobilescenarios,
thephysical
environment of a userplays
animportant
role. Whilepersonalisation requires adaptation
toa user's
preferences,
mobilisation demands that anapplication
and theinformation it delivers are also tailored to the conditions
surrounding
the user. As users are not assumed to be in constant interaction with
an
application
as it ispart
of theirentourage,
a databasesystem
alsoneeds to be
proactive.
When a new state in the user's environment isdetected,
that leads to theavailability
ofupdated
or additional infor¬mation,
aproactive
databasesystem
cannotify
the user about this newdata without the user
having
toexplicitly
query for it. While this canbe seen as extension of
trigger
mechanisms that arealready prevalent
indatabases,
it is also anexample
of how the limited bandwidth of suchsystems
can besuccessfully
used.1.2 Challenges of Context-Awareness
To obtain a
comprehensive
list ofrequirements
that need to be addressed in the field of databasesystems
to cope with these threedevelopments, globalisation, personalisation
andmobilisation,
we will have a look ata few
existing application
domains that havealready begun
to move inthose directions. While
examining
thosesystems,
the focuswill, however, always
be oninvestigating
thechallenges
of datastorage, management
and
delivery
that areput
forwardby
thoseapplications.
The
development
ofglobalisation
can be best observed in the do¬mains of web
engineering
and web informationsystems. Starting
outas a
platform
that would allow scientists toexchange
their data and re¬sults,
the World Wide Web evolved into the mostimportant
source ofinformation on the
planet. Nowadays,
it usedby private
individuals toaccess
up-to-date information,
tocommunicate,
to do e-commerce or topublish
information about themselves.Corporate companies employ
theweb to
present
themselves to customers orpartners
and to do business- to-customer or business-to-business trade. Morerecently,
the web has also become aplatform
to distribute and execute programs such as officeor e-mail
applications
on-line.Along
with this evolution of theweb,
therequirements
to webengineering
and web informationsystems
have alsochanged. While,
atfirst,
websystems
consisted of a collection of static web pages that were deliveredby
the web server to theclient,
more ad¬vanced
applications
demanded the presence ofdynamic
content and thusled to the
integration
of databasesystems
in theseapplications. Origi¬
nally,
these databases served as a source forcontent,
but it did not takelong
untilthey
were alsoemployed
to store information about the struc¬ture and
presentation
of a web site. Thisdevelopment
marked the birth of the first so-called contentmanagement systems
that would create everyrequested
page from the metainformation stored in a databasesystem.
These
systems
also led to the introduction of featurestargeted
atglob¬
alisation as many of them were
capable
ofhandling multi-lingual
sites.However,
these features werealways
addressed at theapplication
leveland thus never made it into the core of the database
system.
When websites still continued to grow in
complexity
andrequirements,
the needfor CASE tools led to the
development
of model-drivenapproaches
thatallow a web
application
to berepresented
as aconceptual
model. Thesemodels then serve as the basis for a
generation
process thatimplements
the
conceptual specification using
off-the-shelfcomponents. Lately,
mostof the model-driven
approaches
havebegun
to introduce some featuresto cope with
globalisation
such as thepossibility
to modeladaptation
of a web site under
special
conditions.Again,
these features areimple¬
mented within the
generation
process and are thus not addressed within the databasesystem.
As most of the data and metadata ofa web site aremanaged by
a databasesystem nevertheless,
we believe thatsupport
for theseglobalisation requirements
should beimplemented
at that level.Not unlike
globalisation,
therequirements put
forwardby personal¬
isation can also be witnessed in the fields of web
engineering
and webinformation
systems.
Portal sitesproviding personalised
access to infor¬mation while at the same time
allowing
content to bepublished by
indi¬viduals,
are agood
source of such newchallenges.
As mentionedbefore,
the
functionality required
toperform personalisation
is not unlike theones demanded
by globalisation.
Theonly
difference is thegranularity
of
adaptation
that is now reduced tosingle
individuals instead of cultural communities.Keeping
this observation inmind,
it isastounding
to notethat the
systems
that weredeveloped
to cope withpersonalisation
differgreatly
from theapproaches
that addressglobalisation.
While numerousplatforms
exist todevelop
andimplement portal sites,
theircapabilities
are often
orthogonal
to the ones offeredby
contentmanagement systems
or model-driven
approaches,
in the sense that neither sideprovides
sup¬port
to cope with theproblems
addressedby
the other side. Onceagain,
we believe that this
perplexing
situation exists because therequirements
of
personalisation
have not been addressed at the proper level. Similar to contentmanagement systems
and model-drivenapproaches, systems providing personalisation
handleadaptation
to an individual user withinthe
application
instead ofempowering
the databasesystem
to do so.Finally,
asbriefly
discussed in theprevious section,
thedevelopment
of mobilisation is best noted in the fields of
mobile, pervasive
andubiq¬
uitous
computing. Unfortunately,
not manyapplications
in these fieldscurrently rely
on databasesystems
tostore,
manage and deliver data.One reason for this is
undoubtedly
that mostsystems developed
in thesefields have very
special
hardwarerequirements
thatprevent
traditional databases frombeing
considered ascomponents.
As all of thesesystems
are embedded in a user's
surroundings,
another reason forimplementing proprietary
solutions is the lack ofsupport provided by
current databasesystems
toadapt
to the context of a user and their environment or to becomeproactive
if a certain state is detected. If databasesystems
areto continue to
play
theirimportant
role in mostapplications,
even ascomputing paradigms change,
it is necessary toprovide comprehensive support
formobile, pervasive
andubiquitous systems.
It is ouropinion
that
adaptation
tocomplex
context states asrequired
in theseapplica¬
tions,
is not dissimilar toadaptation
to individual users or groups of similar users.Therefore,
it ispossible
to address all of thesechallenges
with a
single concept
at the core of the databasesystems
that will be used in the future.1.3 Contribution of this Thesis
This thesis examines the field of context-aware
computing
from the per¬spective
of databasesystems by determining
therequirements
of datamanagement
asput
forwardby applications
from the domains of per¬vasive, ubiquitous
and mobilecomputing
as well as webengineering.
Afirst contribution of this thesis
is, therefore,
a detailedanalysis
ofcontext-aware
applications
that have beendeveloped
in these domains in recent years. To the best of ourknowledge, relating
theserequirements
to ver-sioning concepts,
that havealready
beendeveloped
forexisting specialist databases, represents
a novelapproach
to context-aware data manage¬ment.
Hence,
the documentation of this connection between the two fields has to be seen as both a contribution and a validation ofour work.The
in-depth presentation
of the definition of our version model for context-aware datamanagement
stands at the heart of this thesisand,
at the same
time, represents
its main contribution.Starting
from ex¬isting solutions,
ourapproach adapts
and extendsconcepts proposed
inearlier work to arrive at a version model that meets all demands of cur¬
rent context-aware
applications
and is flexibleenough
to cope with newrequirements
in the future. The formal definition of the version model isspecified
as an extension of the OM data model forobject-oriented
datamanagement.
OMprovides
acomprehensive graphical
notation as wellas an
object algebra
that can be used tospecify complex
constraints.Whereas the
graphical
notation is used to compare the structure of ver-sioned
objects
to the one of traditional OMobjects,
werely
onalgebraic expressions
tospecify
certain rules and conditionsunambiguously.
Fi¬nally,
the theoretical definition of our model is validatedby
a concreteimplementation
that takes the form of a databaseprogramming library providing
context-aware datamanagement
toapplications.
Apart
from this databaselibrary,
thepresented
version model has beenthoroughly
evaluated in two furtherprojects leading
to a richbody
of
experiences.
The first of theseprojects
is animplementation platform
for web
engineering applications
thatheavily
usescontext-dependent
ob¬ject
variants torepresent
all of its coreconcepts.
Based on this im¬plementation platform
an entire contentmanagement system consisting
of a server
component
and client tools has beenimplemented.
The ar¬chitecture and
functionality
of thissystem
is discussed in detail as itdemonstrates the