Java Context-Awareness Framework (JCAF)

Context-awareness covers the idea of computers reacting upon, and adapting to the user’s context, e.g. location, time of day, the specific task the user is engaged in, etc. Context is sensed by tracking location of persons and objects, through sensors in the environment, and by trying to understand what the user is doing, by e.g. looking in his or her calendar.

The Runtime Architecture of the JCAF Framework. a – An example of a deployment situation of a set of context monitors, context actuators, and a set of cooperating context services. b – Details of a context service.

As a basic infrastructure for enabling context-awareness, I have designed and implemented the Java Context-Awareness Framework (JCAF) [1].

JCAF is a java-based programming API and distributed runtime environment for the development and deployment of context-aware applications. JCAF is also distinctive in at least three ways: (i) JCAFs service-oriented infrastructure is a distributed system based on the idea of dividing context acquisition, management, and distribution in a network of cooperating context services; (ii) JCAF embodies a general-purpose, robust, modifiable, event-based, secure architecture; and (iii) JCAF has a generic, extensible, and expressive Java programming model for the deployment and development of context-aware applications and context models.

Documentation & Download

Applications

AWARE Architecture

The UI of the AwarePhone. Left: The contact list showing the context of each user (current activity, OR schedule, and physical location). Right: A list of test messages.

Maintaining social awareness of the working context of fellow co-workers is crucial to successful cooperation. For mobile, non co-located workers, however, this social awareness is hard to maintain. The AWARE architecture [4] is a generic platform for supporting context-mediated social awareness. The concept of Context-Mediated Social Awareness denotes how context-aware computing can be used to facilitate social awareness.

Based on the AWARE architecture we have developed the AwarePhone, which is a smartphone system designed to support context-mediated social awareness among hospital clinicians.

Proximity-Based User Authentication

The ‘Proximity-Based User Authentication’  protocol.

The concept of Proximity-Based User Authentication denotes that users can simply walk up to a computer and their mere presence will log them in. We see proximity-based user authentication as a usability-wise ideal for UbiComp systems. Proximity-based user authentication is based on a context-aware user authentication protocol, which (1) uses a JavaCard for identification and cryptographic calculations, (2) uses a context-awareness system for verifying the user’s location, and (3) implements a security fall-back strategy. In the UbiComp 2003 paper [5] we analyze the security of this protocol and discuss the tradeoff between usability and security. We also present our current implementation of the protocol and discuss future work.

Context-Aware Hospital Applications

The Context-Aware Hospital Bed.

We have built a number of applications of context-aware computing for medical work in hospitals, which has shown to be a strong case for applying context-aware computing. JCAF is used as a general context-awareness infrastructure in place in a hospital that all clinical applications can access and use to adapt to the context in which they currently are running. To illustrate these ideas, we have been designing and implementing examples of context-aware clinical applications, including a context-aware Electronic Patient Record (EPR), a context-aware pill container, and a context-aware hospital bed – all of which reacts and adapts according to what is happening in their context [6].

References

[1] [pdf] J. E. Bardram, “The Java Context Awareness Framework (JCAF) – A Service Infrastructure and Programming Framework for Context-Aware Applications,” in Proceedings of the 3rd International Conference on Pervasive Computing (Pervasive 2005), Munich, Germany, 2005, p. 98–115.
[Bibtex]
@inproceedings{pervasive2005:bardram,
Address = {Munich, Germany},
Author = {Jakob E. Bardram},
Booktitle = {Proceedings of the 3rd International Conference on Pervasive Computing (Pervasive 2005)},
Editor = {Hans Gellersen and Roy Want and Albrecht Schmidt},
Month = May,
Pages = {98--115},
Pdf = {jcaf.pervasive.2005.printed.pdf},
Publisher = {Springer Verlag},
Series = {Lecture Notes in Computer Science},
Tag = {aware,jcaf,conference},
Title = {{The Java Context Awareness Framework (JCAF) - A Service Infrastructure and Programming Framework for Context-Aware Applications}},
Volume = 3468,
Year = 2005}
[2] [pdf] J. E. Bardram, “Design, Implementation, and Evaluation of the Java Context Awareness Framework (JCAF),” Centre for Pervasive Healthcare, Aarhus, Denmark 2005.
[Bibtex]
@techreport{bardram:jcaf,
Address = {Aarhus, Denmark},
Author = {Jakob E. Bardram},
Institution = {Centre for Pervasive Healthcare},
Note = {Available from http://www.daimi.au.dk/~bardram/jcaf/},
Pdf = {jcaf.v15.pdf},
Tag = {jcaf,tech},
Title = {{Design, Implementation, and Evaluation of the Java Context Awareness Framework (JCAF)}},
Year = 2005}
[3] [pdf] J. E. Bardram, “Tutorial for the Java Context Awareness Framework (JCAF), version 1.5,” Centre for Pervasive Healthcare, Aarhus, Denmark 2005.
[Bibtex]
@techreport{bardram:jcaf_tutorial,
Address = {Aarhus, Denmark},
Author = {Jakob E. Bardram},
Institution = {Centre for Pervasive Healthcare},
Note = {Available from http://www.daimi.au.dk/~bardram/jcaf/},
Pdf = {jcaf.tutorial.v15.pdf},
Tag = {jcaf,tech},
Title = {{Tutorial for the Java Context Awareness Framework (JCAF), version 1.5}},
Year = 2005}
[4] [pdf] J. E. Bardram and T. R. Hansen, “The AWARE architecture: supporting context-mediated social awareness in mobile cooperation,” in Proceedings of the 2004 ACM conference on Computer supported cooperative work, 2004, p. 192–201.
[Bibtex]
@inproceedings{cscw2004:bardram,
Author = {Jakob E. Bardram and Thomas R. Hansen},
Booktitle = {Proceedings of the 2004 ACM conference on Computer supported cooperative work},
Isbn = {1-58113-810-5},
Location = {Chicago, Illinois, USA},
Pages = {192--201},
Publisher = {ACM Press},
Tag = {aware,jcaf,conference},
Title = {{The AWARE architecture: supporting context-mediated social awareness in mobile cooperation}},
Url = {http://doi.acm.org/10.1145/1031607.1031639},
Year = {2004},
Bdsk-Url-1 = {http://doi.acm.org/10.1145/1031607.1031639}}
[5] [pdf] J. E. Bardram, R. E. Kjær, and M. Pedersen, “Context-Aware User Authentication – Supporting Proximity-Based Login in Pervasive Computing,” in Proceedings of UbiComp 2003, Seattle, Washington, USA, 2003, p. 107–123.
[Bibtex]
@inproceedings{ubicomp2003:bardram,
Address = {Seattle, Washington, USA},
Author = {Jakob E. Bardram and Rasmus E. Kj{\ae}r and Michael Pedersen},
Booktitle = {Proceedings of UbiComp 2003},
Editor = {Anind Dey and Joe McCarthy and Albrecht Schmidt},
Month = oct,
Pages = {107--123},
Pdf = {prox.user.auth.pdf},
Publisher = {Springer Verlag},
Series = {Lecture Notes in Computer Science},
Tag = {jcaf,conference,login},
Title = {{Context-Aware User Authentication - Supporting Proximity-Based Login in Pervasive Computing}},
Url = {http://www.springerlink.com/index/Q1MCV12D4N0B5X4L},
Volume = 2864,
Year = 2003,
Bdsk-Url-1 = {http://www.springerlink.com/index/Q1MCV12D4N0B5X4L}}
[6] [pdf] J. E. Bardram, “Applications of Context-Aware Computing in Hospital Work – Examples and Design Principles,” in Proceedings of the 2004 ACM Symposium on Applied Computing, 2004, p. 1574–1579.
[Bibtex]
@inproceedings{sac2004:bardram,
Author = {Jakob E. Bardram},
Booktitle = {Proceedings of the 2004 ACM Symposium on Applied Computing},
Isbn = {1-58113-812-1},
Location = {Nicosia, Cyprus},
Pages = {1574--1579},
Publisher = {ACM Press},
Tag = {jcaf,conference,phc},
Title = {{Applications of Context-Aware Computing in Hospital Work - Examples and Design Principles}},
Url = {http://doi.acm.org/10.1145/967900.968215},
pdf = {p1574-bardram.pdf},
Year = {2004},
Bdsk-Url-1 = {http://doi.acm.org/10.1145/967900.968215}}