Elsevier

Journal of Systems and Software

Volume 133, November 2017, Pages 113-125
Journal of Systems and Software

A novel analysis approach for the design and the development of context-aware applications

https://doi.org/10.1016/j.jss.2017.07.013Get rights and content

Highlights

  • A literature review of context analysis approaches is provided.

  • An approach that facilitates designing and developing context-aware applications.

  • It is described by procedures helping designers to design context-aware applications.

  • Performance metrics are calculated and they have very acceptable values.

  • The processing time and the overhead of the analysis approach are negligible.

Abstract

In this paper, we propose a novel analysis approach, called ANALOG, for the design and the development of context-aware applications able to detect context change and to predict context parameter values. Our approach is described by two analysis procedures, (a) an analysis procedure for detection and (b) an analysis procedure for prediction. The proposed analysis procedures aim to offer a support for application designers allowing them to design easily context-aware applications. Each procedure is achieved by a sequence of steps performed by the designers. We describe first our analysis approach presented by the analysis procedures. Then, we give some implementation details of our approach. Afterwards, we show the usefulness of the analysis approach through presenting two execution scenarios related to a smart building case study. Finally, to illustrate the effectiveness of our approach, we present different experiments related to (i) the processing time of the analysis approach and (ii) the CPU and the memory overhead introduced by our approach.

Introduction

Computing devices and applications are now used beyond the desktop, in diverse environments and this trend toward ubiquitous computing is accelerating. This paradigm protects users from the complexity of technology and provides them with computing devices that can be used intuitively and subconsciously (Lupiana et al., 2009). The ubiquitous computing paradigm will surround users with a comfortable and convenient information environment and a smart space that merges physical and computational infrastructures into an integrated habitat (Sen, 2012).

A first interesting part in the vision of ubiquitous computing that must be taken into account is the design and the development of context-aware applications.

Indeed, The term context is widely used with very different meaning. Dey defined context as “Any information that can be used to characterize the situation of an entity. An entity is a person, place, or object that is considered relevant to the interaction between a user and an application, including the user and applications themselves” (Dey, 2001). Furthermore, in our previous work (Khabou and Bouassida Rodriguez, 2013), we have discussed different definitions of the term context.

On the one hand, the term context-aware was first introduced in 1994 by Schilit and Theimer to refer a system that can provide context relevant information and services to users and applications (Poslad, 2009). Many other similar definitions of context-aware systems can be found in Schilit et al. (1994); Dey et al. (2001). On the other hand, a context-aware application is defined by Schilit as “The ability of a mobile user’s applications to discover and react to changes in the environment they are situated in.’’ (Schilit and Theimer, 1994).

In ubiquitous environments, the design and the implementation of context-aware applications is a challenging task since these environments are dynamic and characterized by a frequent context change. A review in the literature has allowed us to study different researches interested in the design of context-aware applications. In these research area, studies have defined different context lifecycles used to manage context. An overview of the proposed context lifecycles is found in Perera et al. (2014). In our work, we focus on the context lifecycle proposed by Dobson et al. (2006). They proposed a control loop formed by four phases namely Collect, Analysis, Decide and Act to deal with context.

In the Collect phase, context information are collected via different sources such as sensors. The collected context information must be analyzed. In the analysis phase, it is useful to evaluate, detect the context changes and trigger notifications to assess the application state. In the Decide phase, appropriate adaptation actions are planned to respond to a context change. These actions are finally executed in the Act phase.

In this paper, we focus on the analysis phase. We define the term analysis as “the evaluation of context information received from the collect phase, the detection of context change and the generation of a notification that may be used by the decide phase to find the correct actions”.

In this area (context analysis), our bibliographical study has allowed us to reveal many gaps dealing with this phase and related to a conceptual viewpoint and an implementation viewpoint.

  • Conceptual viewpoint: the design of the analysis phase is a challenging task since it affects the application accuracy. That is, an application is not able to detect properly context changes if the analysis phase is not designed correctly. However, no work proposed a design approach to conceive the analysis phase allowing to develop context-aware applications.

  • Implementation viewpoint: in the studies that have dealt with the analysis phase, the implementations of the analysis phase did not provide an efficient solution to the problem of context analysis since the studied analysis approaches always used only fixed threshold to detect context changes.

Faced with these problems, in this paper, we propose first a design procedure of an analysis approach that facilitates the design of context-aware applications able to deal efficiently with context changes and to predict context. Our design approach is presented by two analysis procedures, (a) an analysis procedure for detection and (b) an analysis procedure for prediction. The procedures are described as steps that assist the application designers to conceive context-aware applications easily. Then, we present some implementation details of our analysis approach. The main idea in the analysis approach implementation is to use adaptive thresholds to detect context changes and to use both the Extreme Value Theory and prediction models to predict context.

The rest of this paper is structured as follows. In Section 2, we discuss studies that have dealt with the analysis phase. We present and we provide a detailed description of the analysis approach in Section 3. We present some implementation details of our analysis approach in Section 4. To illustrate our approach, we present a case study named Smart Building in Section 5 that we have designed and implemented in order to produce energy savings. In Section 6, we illustrate the effectiveness of our analysis approach through experiments related to the processing time of our analysis approach, the CPU and the memory overhead introduced by the approach. The last section concludes the paper and gives some directions for future work.

Section snippets

Related work

The concept of context analysis is addressed by many researchers in many fields in the literature. Context analysis is used to detect context changes and raise notifications related to the detected changes. Based on a literature survey, we have divided the studies that have dealt with context analysis into four categories according to the technique used to detect context changes. Consequently, we distinguish threshold-based approaches, statistical approaches, entropy-based approaches and

The proposed approach

In this paper, we propose an analysis approach called ANALOG (ANalysis Approach for the deveLOping context-aware applications). It aims at facilitating both the design and the development of context-aware applications. We present the architecture of our analysis approach in Fig. 1. In Fig. 1, we distinguish three phases, namely the Design phase (1), the Implementation phase (2) and the Execution phase (3). In the Design phase, the analysis assistant (in our work, it refers to “us”) provides

Implementation

As we have discussed in Section 3, in the implementation phase of our ANALOG approach, we have provided an analysis module as an API (Application Programming Interface) to the application developer. Our analysis module aims to assist the application developers to implement easily context-aware applications.

It includes all the functionalities of the analysis procedures that we have presented previously (in Section 3). In the analysis module, we implemented all the functionalities of the analysis

Case study: smart building

Smart spaces are environments such as apartments, offices, museums, hospitals, schools, malls, university campuses, buildings and outdoor areas that are enabled for the cooperation of objects (e.g. sensors, devices appliances) and systems that have the capability to self-organize themselves, based on given policies (Sciuto and Nacci, 2014). Diane Cook and Sajal Das (Gilman et al., 2013) give a generic definition of smart spaces as follows: a “Smart space is able to acquire and apply knowledge

Experimentation and validation

We choose to evaluate the effectiveness of our approach first by calculating the processing time of our analysis module, second, by calculating the analysis module overhead in terms of memory consumption as well as CPU usage. In all the experiments conducted in this section, the physical machine which we have used has the characteristics illustrated in Table 4.

Conclusion and future work

In this paper, we presented a novel analysis approach for the development of context-aware applications. The analysis approach described by two analysis procedures (an analysis procedure for detection and an analysis procedure for prediction), allows to guide the application designers to design context-aware applications. First, we have given an overview of the existing approaches of context analysis. Then, a detailed study of our analysis approach for the development of context-aware

References (38)

  • I. Abdennadher et al.

    Designing energy efficient smart buildings in ubiquitous environments

    Proceedings of the Fifteenth International Conference on Intelligent Systems Design and Applications (ISDA)

    (2015)
  • ASME

    The Performance Test Standard PTC 19.1-2005 Test Uncertainty

    Technical Report

    (2005)
  • BaiY.-W. et al.

    Automatic room light intensity detection and control using a microprocessor and light sensors

    IEEE Trans. Consum. Electron.

    (2008)
  • Y. Bensalah

    Steps in Applying Extreme Value Theory to Finance: A Review

    Working Papers

    (2000)
  • M. Birje et al.

    Multiagent model for device state control in the wireless grid

    Proceedings of the Third International Conference on Electronics Computer Technology (ICECT)

    (2011)
  • M.S. Bouassida et al.

    A cooperative and fully-distributed congestion control approach within vanets

    Proceedings of the Ninth International Conference on Intelligent Transport Systems Telecommunications,(ITST)

    (2009)
  • I. Bouassida Rodriguez et al.

    A model-driven adaptive approach for collaborative ubiquitous systems

    Proceedings of the Third Workshop on Agent-oriented Software Engineering Challenges for Ubiquitous and Pervasive Computing

    (2009)
  • T. Cioara et al.

    A self-adapting algorithm for context aware systems

    Proceedings of the Ninth Roedunet International Conference (RoEduNet)

    (2010)
  • A.K. Dey

    Understanding and using context

    Pers. Ubiquitous Comput.

    (2001)
  • A.K. Dey et al.

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

    Hum. Comput. Interact.

    (2001)
  • S. Dobson et al.

    A survey of autonomic communications

    ACM Trans. Auton. Adapt. Syst.

    (2006)
  • P. Duchesne

    The Arima Procedure

    (2014)
  • W.K. Edwards et al.

    At home with ubiquitous computing: seven challenges

    Proceedings of the Third International Conference on Ubiquitous Computing

    (2001)
  • A. Esposito et al.

    A versatile context-aware pervasive monitoring system: validation and characterization in the health-care domain

    Proceedings of the IEEE International Symposium on Industrial Electronics (ISIE)

    (2010)
  • Frost et al.

    Bright Green Buildings: The Convergence of Green and Intelligent Buildings

    Technical Report

    (2008)
  • E. Gilman et al.

    Towards interactive smart spaces

    J. Ambient Intell. Smart Environ.

    (2013)
  • N. Khabou et al.

    Threshold-based context analysis approach for ubiquitous systems

    (2013)
  • N. Khabou et al.

    Designing an analysis procedure for context aware applications in ubiquitous environments

    Proceedings of the Thirtieth IEEE International Conference on Advanced Information Networking and Applications (AINA)

    (2016)
  • Krzanowski, R., 2006. Burst (of packets) and burstiness. In: Proceedings of the Sixty sixth Internet Engineering Task...
  • Cited by (0)

    View full text