Developing context-aware pervasive computing applications: Models and approach

https://doi.org/10.1016/j.pmcj.2005.07.003Get rights and content

Abstract

There is growing interest in the use of context-awareness as a technique for developing pervasive computing applications that are flexible, adaptable, and capable of acting autonomously on behalf of users. However, context-awareness introduces a variety of software engineering challenges. In this paper, we address these challenges by proposing a set of conceptual models designed to support the software engineering process, including context modelling techniques, a preference model for representing context-dependent requirements, and two programming models. We also present a software infrastructure and software engineering process that can be used in conjunction with our models. Finally, we discuss a case study that demonstrates the strengths of our models and software engineering approach with respect to a set of software quality metrics.

Section snippets

Motivation

It is well known that pervasive computing introduces a set of design challenges that are not present in traditional desktop computing. In particular, it requires applications that are capable of operating in highly dynamic environments and placing minimal demands on user attention. Context-aware applications aim to meet these requirements by adapting to selected aspects of the context of use, such as the current location, time and user activities.

In recent years, a variety of prototypical

Context modelling techniques

Recent research in the field of context-awareness has predominantly adopted an infrastructure-centred approach; that is, it has assumed that the complexity of engineering context-aware applications can be substantially reduced solely through the use of infrastructure capable of gathering, managing and disseminating context information to applications that require it. In line with this approach, a variety of solutions that acquire and interpret context information from sensors, and manage

Preference model

Appropriate context modelling techniques are a necessary, but not sufficient, prerequisite to managing the complexity involved in engineering context-aware applications. In all but the most trivial applications, additional tools are also desirable to support the decision-making process involved in mapping the context to appropriate application behaviours. This process is complicated by well known usability challenges associated with context-awareness, such as those related to predictability and

Programming models

Suitable programming models are crucial in helping to limit the complexity and effort involved in implementing context-aware applications; however, progress in developing new models has been slow. Although context servers are now frequently used for acquiring and managing context information, most applications do not make use of any form of support (for instance, programming toolkits or infrastructure) for interpreting and making decisions about context. In general, context-aware software is

Software infrastructure

We have implemented a software infrastructure incorporating our programming toolkit and support for related tasks, such as management of context information. In this section, we present an overview of the architecture and implementation.

The infrastructure is organised into loosely coupled layers as shown in Fig. 6. The context gathering layer acquires context information from sensors and then processes this information, through interpretation and data fusion (aggregation), to bridge the gap

Software engineering methodology

The models and infrastructure that we have presented are designed to support a wide variety of software engineering tasks. In this section, we outline the process that is generally followed when building a context-aware application using these tools. This process was abstracted from our experiences with building several context-aware applications, some of which are described in Section 7.

Fig. 7 illustrates our generic software engineering process graphically. The steps can be partitioned into

Case study: Context-aware communication

As a means of validating our models and infrastructure, we carried out a case study in which we built a context-aware communication tool. This section presents the objectives, design and outcomes of this study. Since completing the case study, we have further demonstrated the value of our approach by applying it to a variety of applications, some of which are briefly outlined in Section 7.3.3. A full discussion of these applications is beyond the scope of this paper; however, we refer the

Concluding remarks

This paper presented a set of conceptual models designed to facilitate the development of context-aware applications by introducing greater structure and improved opportunities for tool support into the software engineering process. As the evaluation in the previous section showed, our models and approach lead to applications that are maintainable, evolvable and based upon a set of reusable foundations, such as context definitions and context processing components. Further, they support a high

Acknowledgements

We gratefully acknowledge the contributions of Ted McFadden, Sasitharan Balasubramaniam, Peter Mascaro and Jessica Purser to the applications developed following our initial case study, which were described briefly in Section 7.3.3.

Karen Henricksen is a research scientist in the pervasive computing group at the Collaborative Research Centre for Enterprise Distributed Systems Technology (DSTC). Her research interests include context modelling and management, development and evaluation of context-aware applications, and privacy issues in pervasive computing. She received her Ph.D. in the area of context-aware pervasive computing from the University of Queensland in 2004. Contact her at [email protected].

References (30)

  • K. Cheverst et al., Experiences of developing and deploying a context-aware tourist guide: The GUIDE project, in: 6th...
  • S.N. Patel et al.

    The ContextCam: Automated point of capture video annotation

  • Y. Shi

    The smart classroom: Merging technologies for seamless tele-education

    IEEE Pervasive Computing

    (2003)
  • H. Chen et al., Intelligent agents meet semantic web in a smart meeting room, in: 3rd International Joint Conference on...
  • S. Helal et al., Enabling location-aware pervasive computing applications for the elderly, in: 1st IEEE Conference on...
  • A.K. Dey et al.

    A conceptual framework and a toolkit for supporting the rapid prototyping of context-aware applications

    Human-Computer Interaction

    (2001)
  • G. Chen, D. Kotz, Context aggregation and dissemination in ubiquitous computing systems, in: 4th IEEE Workshop on...
  • J. Pascoe, Adding generic contextual capabilities to wearable computers, in: 2nd International Symposium on Wearable...
  • H. Lei

    The design and applications of a context service

    ACM SIGMOBILE Mobile Computing and Communications Review

    (2002)
  • K. Henricksen et al.

    Modeling context information in pervasive computing systems

  • A. Schmidt

    Advanced interaction in context

  • T.A. Halpin

    Information Modeling and Relational Databases: From Conceptual Analysis to Logical Design

    (2001)
  • K. Henricksen et al.

    Modelling and using imperfect context information

  • K. Henricksen, J. Indulska, A. Rakotonirainy, Generating context management infrastructure from context models, in: 4th...
  • K. Henricksen, A framework for context-aware pervasive computing applications, Ph.D. Thesis, School of Information...
  • Cited by (0)

    Karen Henricksen is a research scientist in the pervasive computing group at the Collaborative Research Centre for Enterprise Distributed Systems Technology (DSTC). Her research interests include context modelling and management, development and evaluation of context-aware applications, and privacy issues in pervasive computing. She received her Ph.D. in the area of context-aware pervasive computing from the University of Queensland in 2004. Contact her at [email protected].

    Jadwiga Indulska is an associate professor in the School of Information Technology and Electrical Engineering at The University of Queensland. Her research interests include pervasive/ubiquitous computing, autonomic networks, mobile computing, distributed computing and high speed networks. In the past she led projects on pervasive and autonomic environments in the Collaborative Research Centre for Enterprise Distributed Systems Technology and currently leads a project on context-awareness and autonomic networks in National ICT Australia. She is a member of the IEEE Computer Society and the ACM. Contact her at [email protected], www.itee.uq.edu.au/~jaga.

    The work reported in this paper has been funded in part by the Co-operative Research Centre for Enterprise Distributed Systems Technology (DSTC) through the Australian Federal Government’s CRC Programme (Department of Education, Science, and Training).

    View full text