Tags: albrecht schmidt, commerce applications, elements, heinrich hussmann, ifi, input text, lmu, ludwig maximilians university, mobile devices, mobile services, munich germany, stressful task, t9, university munich,
Privacy-enhanced Intelligent Automatic Form Filling
for Context-aware Services on Mobile Devices
Enrico Rukzio, Albrecht Schmidt, Heinrich Hußmann
Ludwig-Maximilians-University Munich
80333 Munich, Germany
{enrico.rukzio, albrecht.schmidt, heinrich.hussmann}@ifi.lmu.de
Abstract · it is too complicate to use and setup
In this paper we describe our approach to intelligent · it is complicate to input text with T9 or a stylus
automatic form filling in the context of mobile services
based on user data. In a small study we show that manual In our research we wanted to find out more details about
form filling is slow and perceived a stressful task. And the last mentioned problem and how to build a system to
hence it is not surprising that most current mobile services overcome this problem. In this paper we outline a system
provide primary information, more complex interactions through which the user can be unburdened from the input
such as ordering a specific product are often very of text through an intelligent automatic form filling process
complicate and time consuming tasks or are even not for mobile services. Our work is also concerned with a
provided. In our approach the individual forms elements further requirement: ensuring privacy. Particularly for e-
are preset based on the content and context of the form, commerce applications based on transactions such as
existing rules and the user's preferences. ordering a product or reserve a special service this is
essential for many customers.
Our work is grounded in an analysis of requirements. We
investigated popular current WAP based mobile services This work was performed in the context of the EU-project
and their characteristics. Through an analysis of Simplicity [1] and the depicted architecture and the
conventional HTML based services we concluded which prototype are part of a current implementation process
data a user has to type in when filling out a form. which leads to a bigger prototype that represents the whole
Furthermore we analyzed the behavior of people during project. The key concept of this EU-project is the
filling out forms. Based on these observations and Simplicity Device which might be an enhanced SIM card
additional interviews, we present an overall architecture. A that is worn by the user which stores the user data and
prototype, taking into account these findings is outlined at preferences. Based on this data, terminals, services and
the end of the paper. networks will be adapted through the Simplicity
framework.
Keywords The paper is organized as follows. The next section relates
Intelligence, Mobile Device, Context, Services, Automatic our work to existing approaches. Afterwards existing
Form Filling, Privacy mobile services and conventional web based services are
analyzed. Furthermore we describe an initial user test
INTRODUCTION which investigates the input of text into forms with a stylus
In the late nineties during the omnipresent internet hype based mobile device. In the next section we present a
also the phrase Mobile Commerce and the corresponding generic architecture for our concept. Afterwards we depict
technologies for mobile services such as the Wireless a prototype which is currently under development. The
Application Protocol (WAP), Wireless Markup Language paper is completed by a discussion and outline of our
(WML), compact HTML (cHTML) and i-mode appeared. further work.
Until now these services are not widely accepted in
Europe. RELATED WORK
Many people have devices and service contracts so that In this section we analyze in the context of mobile devices
they could use mobile services but they still do not use and services, the state of the art of text input, automatic
these services. When talking to people several general form filling, adaptive web services and the usage of
reasons often are given why these mobile services are not artificial intelligence in rule- and policy-based systems that
used e.g.. support these adaptations.
· users see no need for such services There are big differences between the text input on a
desktop PC and on a mobile device. Basically we can
· it often does not work at all or it is not clear whether or
distinguish between three different text entry techniques for
not it will work in the given context
mobile devices: key-based, stylus-based and predictive
· it is too expensive for the added value provided input techniques [2]. There are big differences regarding
the text entry speed which is normally measured in words
per minute (wpm). A skilled touch typist using a The exploration and development of context-aware
conventional keyboard can enter an average of 72 wpm [3]. services is currently a field that is considered by a lot of
The text entry on a mobile device is slower as you can see researchers and scientific projects. The basis for this is
in the following table: context information [10] like user data, device, location,
Table 1. Text entry speed on mobile devices surrounding devices, profiles, time, activity etc. This
context information is used to adapt the services and
Name WPM User skills Ref. contents. In the application area of this paper particularly
PDA personalized web applications for mobile devices have to
Graffiti 21,5 average user [3] be concerned that adapt web applications according the
QWERTY keyboard 20,2 novice user [3] user and according the used device [11, 12, 13, 14].
Mobile Phone
The usage of rule- or policy-based systems that are based
T9 41-46 expert user [4] on concepts of the field of artificial intelligence are one
Multi-press method 25-27 expert user [4] standard approach when designing systems for context-
Graffiti which is popular in PALM-OS - based systems is a aware services. Suryanarayana and Hjelm presented an
stylus based input technology that is based on handwritten architecture [15] that takes different profiles such as user
letters. In mobile phones every button also represents three profile, application profile and transport profile into
letters. The T9 system uses a predictive algorithm which is account. Regarding the processing of this data they discuss
based on a dictionary where words have a probability possibilities that are based on rules languages such as
associated. Thus in many cases the user has only to select RuleML and policies. They concern also the usage of XSL
the buttons which represents among others also the Transformations (XSLT) to adapt services according the
intended letter to write a word. When using the traditional context. A platform supporting coordinated adaptation in
multi-press method the user has to select the intended letter mobile systems that is based on policies is presented in [16]
through multiple pressing a key until reaching the desired and [17]. They distinguish strictly between the monitored
one. context information, the policies and the adaptation
As one can see in Table 1 the T9 system is the fastest mechanisms. It is possible to use policies for different
approach that is based on a predictive algorithm which adaptations and the adaptation mechanisms are independent
takes the frequency or probability of specific words stored from the policies. Through this the mobile services can be
in a corresponding database into account. Unfortunately adapted in a system-wide manner. Rei, a policy language
words that are used for format filling like name, address or for pervasive computing application was presented by
e-mail often are not included in these databases. Because of Kagal et al. [18]. It is possible to express rules for rights,
this T9 is not very effective for form filling and often the obligations, dispensations, and prohibitions. We restrict our
traditional multi-press method on mobile phones is used approach to the domain of form filling for mobile services,
that reaches 25-27 wpm when used by experts. Besides this which reduces the complexity to a great extend.
it has to be taken into account that most users are not
experts in T9 or Graffiti. ANALYSIS
After looking at related work this chapter analyses mobile
When using commercial websites the user very often has to services that are actually used and discussed actual
input data in different kinds of forms. There are various problems regarding their usage. Afterwards we analyzed 20
proposals and concepts how this process can be automated. different existing traditional web services and concentrated
Chusho et al. [5] presented a system where an agent particularly on data users have to fill in for a transaction
supports the automatic filling of forms in web applications. like e.g. order a book, rent a car or reserve a hotel room.
Therefore a corresponding architecture that is similar to We finish our analysis with an initial user test where we
modern AI architectures was developed that includes an tested our concept through a mock-up.
inference engine, a learning facility and a knowledgebase.
Furthermore there exists a W3C working draft Client Side Services
Automated Form Entry [6] which includes among others an Currently the most services provided and used are based on
ontology for the description of identity, contact, postal, WAP (Wireless Application Protocol) [19], cHTML,
billing and organisational information. Barton et al. HTML and XHTML. The following Table 2 shows the top
presented their XForms approach [7] that supports adaptive 5 services of mobile services from three different German
services through clients that fill forms with sensor data. mobile network operators.
Furthermore there are already some existing commercial
applications like RoboForm [8] or iOpus Internet Macros
[9] available that have functions for automatic form filling.
In contrast to these approaches we concentrate on mobile
devices and mobile services.
Table 2. Top 5 of three German mobile operators for that field. From this we concluded that the usage of
synonym lists for attribute names is essential for the
T-Mobile O2 Germany E-Plus
development of our system. Through this input fields that
[20] [21] Germany [22]
are related to an element of our context model could be
Top 5 1. Ring tones 1. Live chat 1. Ring tones addressed in a uniform manner.
Services 2. Download 2. eBay 2. Playboy In Table 3 specific sets of variable names are shown. When
games building a system for form filling this has to be taken into
3. Chat 3. O2 E-Mail 3. Sport news account.
4. Soccer 4. O2 Ring 4. Poptone Table 3. Variable names in three different forms
tones Amazon.com Sixt.com Hilton.com
5. MMS- 5. O2 Games 5. eBay Address
services First Name name firstName
Format WAP/WML WAP/WML cHTML, Last Name name nam1 lastName
i-mode
Adress1 adress1 adress1
Data 28/06/2004 28/06/2004 01/07/2004 Adress2 adress2 adress2
from
E-Mail- email emai email
As depicted in Table 2 mobile entertainment services like Address
games, chat and ring tones are mostly used. Furthermore City city city
the mobile network operators provide often specific content State/Provin state state ||
that is accessed by a pre-configured mobile phone which ce/Region otherstate
has a corresponding soft-link to the corresponding portal of
ZIP/Postal zip postalCode
the mobile network operator. Code
We have recognized that a lot of commercial websites do Country country name country
not provide forms because it is so complicate to fill them
Phone voice tel phoneNumber
with the limited text input capabilities of mobile devices.
Number
For instance the WAP version of a German online book
shop Booxtra [23] has only these three possibilities to order Payment
a book after it was selected by the user: call Booxtra with Payment paymentMethod zah
the phone, sending of a corresponding email to my Method
personal email account or using an existing Booxtra Credit Card newCreditCardIssuer
account. It's not possible to order a book online without Credit Card newCreditCardNumber ccnr CCNumber
having an existing Booxtra account. In the WAP version of No.
a German mobile phone distributor [24] the user has to Expiration newCreditCardMonth, CCExpMonth
input his phone number after finding the desired mobile Date newCreditCardYear ,CCExpYear
phone, afterwards the distributor calls the potential Cardholder's newCreditCardName
customer. name
Furthermore our survey showed that most mobile services As one can see at the variable names at Amazon.com that
provide information only that is accessible through simply begin with new these names has also to be concerned. This
navigating hyperlinks. More complex interactions that indicates that a system will require sub-string analysis of
require text input or form filling are seldom found. variable names. At Sixt.com system specific attributes and
uncommon abbreviation are used. At Hilton.com an
Needed Personal Data
example of predefined values and alternatives is given. The
Due to this fact that there are very few mobile services that
variable state is represented by a selection list and
ask for user information we looked at web pages designed
alternatively it is also possible to use a text input field
for desktop systems to identify the data that is required for
(otherstate).
potential services. We analyzed 20 different existing
commercial HTML services on the internet and looked at Initial User Test
the data that the user has to fill in when he/she wants to In an initial user test we studied the behaviour and
order or reserve something. Based on this analysis we experiences of the potential users using a web service on a
concluded that it is possible to implement such a system PDA. We used a P800 smartphone from Sony Ericsson
because most of these forms where quite similar. We which accessed the internet via a Bluetooth connection. We
recognized that most of the services asked for a basic set of have built a mock-up HTML-based hotel reservation
very similar data. Furthermore we found out that there are service that was visualized by "Opera for
fixed groups of labels on the fields and of variable names Smartphone/PDA" on the P800. We provided two different
versions of the reservation service. In the first version the numbers and mixed input of text, special signs and
user has to fill out every form field by herself whereby in numbers such as email addresses. But this was not the main
the other version the fields where already filled out with focus of our investigation.
user data. In the second version we integrated two errors We show in the following Table 4 the durations for the
(wrong street name and credit card) that the tester has to filling of the empty forms and the completion time for pre-
identify and to correct. This mock-up can be found under filled forms. Furthermore we also show the average times
[25] and can be used with any web browser. the testers needed in the first, the second and the third run.
Figure 1. Screenshot of our mock-up web application Table 4. Average input times over all users, user were
and activated virtual keyboard ask to perform several runs
Empty forms Pre-filled forms
1. run 240 seconds 60 seconds
2. run 170 seconds 37 seconds
3. run 115 seconds 33 seconds
The most important result was that the testers need about
four times longer to fill the empty form compared to the
pre-filled form which needed corrections. Furthermore we
recognized that the testers learned quit fast to use the
virtual keyboard and the styles. But anyway they factor
four exists also after three runs. From this we conclude that
a form filling application would be extremely helpful and
would if intensively used, support the further development
of mobile services.
Beside this numeric results we recognized that most users
where really frustrated when they used the stylus of the
smartphone when they inserted text. Therefore we
concluded it is very important that the user has to type in as
few as possible.
At the beginning of every test we explained the tester the
intension of the different forms. We explained them that in
the second version there is an intelligent assistant which
tries to fill out all fields based on the available user data.
After this explanation many testers said they do not want to
give their personal data away, e.g. as in the Microsoft .NET
Passport [26]. From this we concluded the requirement that
all data has to be stored on a physical device that is owned
by the user himself. This supports the concept of the
Simplicity Device as the key concept of the Simplicity
In booth versions the first name, last name, address, city, project where the user carries personal data stored on a
ZIP, phone number, e-mail address, method of payment, private physical device. Furthermore the users liked being
card number and expiration date have to be filled in, in control and want to see what data is filled in the different
accepted or corrected. fields and so he/she has the possibility to delete or change
We tested this with 8 users (colleagues from our the automatically inserted data. This approach provides the
department) whereby all where familiar with web forms user an overview where and when data is transmitted and
and the concept of mobile services but used a P800 for the what data is given to which service.
first time. As you can see in the Picture 1 the virtual
keyboard was used to fill out the forms. THE OVERALL ARCHITECTURE
In this section we present an overall architecture that
We took into consideration the usage of a mobile phone
supports automatic form filling for mobile services that for
which supports the T9 system. We rejected this possibility
instance are realized with WAP, X(HTML) or cHTML.
because the potential testers were mostly familiar with
This agent-based architecture is build on the evolving
keyboards but their experience with T9 differed greatly. It
Simplicity framework, our analysis presented in Section
would be an interesting test to evaluate the speed of
Analysis and on the work of Chusho et al. [5] that we
predictive systems like T9 when filling out forms because
adapted for mobile devices.
there are special requirements such as using special signs
(e.g. +, @, -,.), input of numbers for ZIPs or credit card Figure 2 depicts the elementary parts of our overall
architecture. The mobile device includes the four
components proxy, web browser, personal assistant and interaction. For the context model existing ontologies and
user data. After the user requests a specific website which infrastructures such as the 3GPP Generic User Profile [27]
includes a form, it is transmitted from the server to the and the W3C working draft Client Side Automated Form
mobile device. To get access to the transmitted HTML-data Entry [6] are used.
a proxy is integrated in the mobile device. Before a website The other type is data that is already existing in the web
is transmitted to the web browser and before a website is form. This includes a lot of information that is taken into
transmitted to the server, the proxy has to be passed. The account by the personal assistant. Examples are caption of
proxy provides an interface to access the actual web page. the field (e.g. Name), definition of the field, the context of
Such a proxy has the advantage that every existing web the field (e.g. fields before and afterwards, title of and
browser can be used by our system because we do not have heading in webpage), variable names, and context of the
to access the web browser through a special interface. The user (e.g. he/she is in an airport). By the field definition
web browser interprets the different mobile services and (e.g. ) it is possible to get a lot of information
The personal assistant uses the interface of the proxy to get about the desired input such as attribute name (Name), data
the access to the current website. Based on this information type (text) and length (between 20 and 30 characters). But
and the user data the personal assistant performs the there is of course ambiguity as the services developers
automatic form filling. choose the names of attributes. This depends on the
Figure 2. Overall architecture methodology of the developer or the conventions of the
used web authoring software. This problem might become
Mobile Service A Mobile Service B Mobile Service C
less important through the further usage of XML or
(WAP-based ((X)HTML-based (cHTML-based Resource Description Framework (RDF) in the
forms) forms) forms) development of mobile services.
Personal Assistant
The personal assistant is an active entity on the mobile
device which works in the background and which is not
Mobile Device directly visible to the user. After a new website of a mobile
service (e.g. WAP-, (X)HTML- or cHTML-side) is
requested the personal assistant analyses this and tries to
Proxy Web Browser fill out the fields of the included forms.
The personal assistant is a rule based agent whereby the
User inference engine that uses a rule base is responsible for the
Personal Assistant decisions which field is filled out with which content.
Furthermore there is a learning facility included that
enhances the rule base and the synonym lists.
Inference Learning
Engine Facility Based on the approach from Chusho et al. [5] we will also
use sets of synonyms that are related to our own context
Rule base model and rules that concern the context of a field. Our
ontology for user data includes for instance the variable
LastName. It is possible to predefine a set of synonyms that
User Data can be used also as alternative variable names such as
Address:
FamilyName, surename or name2. As rules we use IF-
First Name, Last Name, Address, City/ THEN statements which have the following structure: IF
ZIP, E-Mail, Phone
`constraints' THEN `insert value'. In the constraint
Bank account: statement we address the input field trough the synonym
Credit card, Number, Expiration set rather then a concrete attribute name. The different
attributes that can be considered in the constraint statement
have been already described in subsection Available Data.
Available Data The learning facility is able to extend the existing
There are two different types of data which are the basis for synonyms and to generate new rules. If there is e.g. a form
the decision that has to be made by the personal assistant. including a field with variable name name_2 this might be
not filled out by the personal assistant because this one is
One type is data related to the user, such as address, bank not part of the existing synonyms. So the user has to fill out
account or preferences (e.g. non-smoker, "I like window this field with his family name by himself. This filled field
seats", etc.). This data can be initially defined by the user is transmitted through the proxy to server. The personal
or could be learned through the observation of the user assistant recognizes that there is a field whose value
corresponds to the family name of the person. So the The user data conforms to a special ontology that is
existing synonym list (e.g. FamilyName, surename or currently developed in the Simplicity project and consists
name2) is extended by name_2. of different profiles such as user, device, services, etc. For
Furthermore the personal assistant includes a function the storage of these data we use J2ME records.
which receives and sends new rules and synonyms from We will use the Jess (Java Expert System Shell) [29] as the
and to a central server. If for instance the personal assistant basis for the implementation of the personal assistant. The
of user A has identified a new synonym because he/she personal assistant observes all received web pages which it
was one of the first users filling out the new form of a gets form the proxy. Based on this, the user data and the
specific service, users B's form is already correctly filled rule base of the personal assistant try to fill in the correct
because of the updated synonym list. data. Afterwards the personal assistant sends the changed
web pages and transfers it to the web browser. The user can
Prototype now control the filled data and maybe he/she has to correct
Based on the overall architecture we are currently some of them or has to fill in leftover empty fields.
developing a corresponding prototype in the context of the
To reduce the processing power required on the mobile
EU-Project Simplicity [1]. As a first step there will be two
device we do not run the interference engine locally. We
different web based services available which can be used
used a function of the Jade middleware which can split an
by a user through a mobile device. The personal assistant
agent in a front end and a backend where only the front end
on the mobile device will try to fill out the transmitted
is running on the mobile device and the backend is running
forms based on the available information.
on the server. Therefore it is possible to migrate the
As you can see in Figure 3 our prototype will consist of a inference engine to the server. The corresponding Jade
mobile device (Nokia 6600) and a server (Laptop Sony agent is depicted in the server of Figure 3.
Vaio PCG-Z1XMP).
In the next step we will use existing mobile services to test
Figure 3. Components of the prototype to evaluate the our approach with this prototype.
approach for automated form filling on mobile devices
Mobile Device Server
CONCLUSION
(Nokia 6600) (Sony Vaio PCG-Z1XMP) In this paper we presented a conceptual system which
supports the automatic filling of forms in web based mobile
User Data Personal Assistant
services. The basic idea is that there is a personal assistant
(as J2ME
Service A (HTML-based)
running in the background of the mobile devices taking the
Service B (HTML-based)
Web browser
Records)
Rule base Jade-Agent
user data and the content and context of the form into
(Load account. Based on this information and corresponding rules
balancing
for Jess) the forms are filled. The user has only to control, correct
Jess-
Application and confirm this pre filled forms.
(Inference
Engine) Proxy
ACKNOWLEDGEMENTS
Jade Middleware
Jade
Web server This work was performed in the context of the framework
Middleware
Bluetooth API Bluetooth API of IST Project Simplicity funded by the EU and the DFG
J2ME / MIDP 2.0 J2SE funded research group "embedded interaction". The
authors wish to express their gratitude to the other
We use Java as the implementation language. As our members of the Simplicity Consortium [7] and the
platforms we use on the mobile device J2ME (Java 2 embedded interaction research group [30] for valuable
Platform, Micro Edition) and on the server J2SE (Java 2 discussions.
Platform, Standard Edition). The communication between
mobile device and server is done via a Bluetooth REFERENCES
connection. Based on the Java runtime environments we [1] Simplicity Project, http://www.ist-simplicity.org
use the middleware Jade (Java Agent Development [2] I. MacKenzie and R. Soukoreff, ,,Text entry for mobile
Framework) [28] which runs on J2SE as well as on J2ME. computing: Models and methods, theory and practice",
So we do not have to concern the special aspects of Human-Computer Interaction, 17, 147-198. 2002.
programming applications for mobile devices (e.g.
asynchronous communication, unreliable connections, and [3] J. Pierce and H. Mahaney, "Opportunistic Annexing
limitations of mobile devices) because Jade provides an for Handheld Devices: Opportunities and Challenges",
abstraction layer which hides these aspects. Human-Computer Interface Consortium, 2004.
Furthermore the server will run a web server and the two [4] M. Silfverberg, I. MacKenzie and P. Korhonen,
already mentioned web based services. We plan to provide ,,Predicting Text Entry Speed on Mobile Phones",
as a first step a hotel reservation service and a car rental Proceedings of the SIGCHI conference on Human
service. factors in computing systems, The Hague, The
Netherlands, ISBN 1-58113-216-6, pp. 9-16, 2000.
[5] T. Chusho, K. Fujiwara and K. Minamitani, International Workshop on Policies for Distributed
"Automatic Filling in a Form by an Agent for Web Systems and Networks, Lake Como, Italy, pp. 63.
Applications", Asia-Pacific Software Engineering 2003.
Conference 2002, IEEE Computer Society, pp.239- [19] WAP Forum, http://www.openmobilealliance.org/
247, 2002. tech/affiliates/wap/wapindex.html
[6] P. Hallam-Baker, "Client Side Automated Form [20] T-Zones, T-Mobile Germany, http://www.t-
Entry", W3C Working Draft WD-form-filling-960416 zones.de/de/Getting_started/Wap/50simulator.html
http://www.w3.org/TR/WD-form-filling.html
[21] Wap Portal O2 online, wap.o2online.de
[7] J. Barton, T. Kindberg, H. Dai, N. Priyantha and F. Al-
[22] E-Plus Germany, www.eplus-imode.de
bin-ali, ,,Sensor-enhanced Mobile Web Clients: an
XForms Approach", Proceedings of the twelfth [23] Booxtra, http://wap.booxtra.de
international conference on World Wide Web, ISBN [24] Getmobile, http://wap.getmobile.de/
1-58113-680-3, Budapest, Hungary, pp. 80-89, 2003. [25] Web service for initial user test,
[8] RoboForm, http://www.roboform.com/ http://www.rukzio.de/formfilling/
[9] iOpus Internet Macros, http://www.iopus.com [26] Microsoft .NET Passport, http://www.passport.net
[10] G. Abowd and A. Dey, "Towards a Better [27] 3GPP Generic User Profile, Different documents
Understanding of Context and Context-Awareness", under www.3gpp.org
in: Technical Report GIT-GVU-99-22, College of [28] Java Agent Development Framework (JADE),
Computing, Georgia Institute of Technology, pp. 12, http://jade.tilab.com/
1999.
[29] Java Expert System Shell (Jess),
[11] P. Korpipää, J. Mäntyjärvi, J. Kela, H. Keränen and E- http://herzberg.ca.sandia.gov/jess/
J Malm, "Managing context information in mobile
[30] Research Group "Embedded Interaction",
devices". IEEE Pervasive Computing 2(3):42-51.
http://www.hcilab.org/
2003.
[12] G. Rossi, D. Schwabe and R. Guimar, "Designing
Personalized Web Applications", Proceedings of the
tenth international conference on World Wide Web,
Hong Kong, ISBN 1-58113-348-0, pp. 275-284, 2001.
[13] D. Billsus, C. Brunk, C. Evans, B. Gladish and M.
Pazzani, "Adaptive interfaces for ubiquitous web
access", Communications of the ACM 45/5, pp. 34-38,
2002.
[14] Z. Fiala, M. Hinz, K. Meißner and F. Wehner, ,,A
Component-based Approach for Adaptive, Dynamic
Web Documents", Journal of Web Engineering, Vol.2
No.1&2, pp. 58-73, Rinton Press, September, 2003
[15] L. Suryanarayana and J. Hjelm, "Profiles for the
situated web", Proceedings of the eleventh
international conference on World Wide Web,
Honolulu, Hawaii, USA ISBN 1-58113-449-5, pp.
200-209, 2002.
[16] C. Efstratiou, A. Friday, N. Davies and K. Cheverst,
"A Platform Supporting Coordinated Adaptation in
Mobile Systems", Proceedings of the 4th {IEEE}
Workshop on Mobile Computing Systems and
Applications (WMCSA) 2002, pp 128-137, 2002.
[17] C. Efstratiou, A. Friday, N. Davies and K. Cheverst,
"Utilising the Event Calculus for Policy Driven
Adaptation in Mobile Systems", Proceedings of the
3rd International Workshop on Policies for Distributed
Systems and Networks (POLICY 2002), 2002.
[18] L. Kagal, T. Finin and A. Joshi, " A Policy Language
for a Pervasive Computing Environment", IEEE 4th