Elsevier

Computer Communications

Volume 104, 15 May 2017, Pages 1-16
Computer Communications

Application development for the Internet of Things: A context-aware mixed criticality systems development platform

https://doi.org/10.1016/j.comcom.2016.09.014Get rights and content

Abstract

The Internet of Things (IoT) is gaining momentum and may positively influence the automation of energy-efficiency management of smart buildings. However, the development of IoT-enabled applications still takes tremendous efforts due to the lack of proper tools. Many software components have to be developed from scratch, thus requiring huge amounts of effort, as developers must have a deep understanding of the technologies, the new application domain, and the interplay with legacy systems. In this paper we introduce the IMPReSS Systems Development Platform (SDP) that aims at reducing the complexity of developing IoT-enabled applications for supporting sensor data collection in buildings, managing automated system changes according to the context, and real-time prioritization of devices for controlling energy usage. The effectiveness of the SDP for the development of IoT-based context-aware and mixed-criticality applications was assessed by using it in four scenarios involving energy efficiency management in public buildings. Qualitative studies were undertaken with application developers in order to evaluate their perception of five key components of the SDP with regard to usability. The study revealed significant and encouraging results. Further, a quantitative performance analysis explored the scalability limits of the IMPReSS communication components.

Introduction

Having been around for since the early 2000 s, the Internet of Things (IoT) is rapidly gaining momentum as the availability of ``things" significantly increases [1]. IoT has a major impact on smart Energy Efficiency solutions that can be used to analyse building performance data coming from distributed sensors and interact in an autonomous manner with higher-level services in order to build advanced building control applications. However, the development of IoT-enabled applications for the benefit of our society still depends on specific knowledge and tools that prevents it to be widespread. Many software components have to be engineered from scratch to address fragmentation issues, thus requiring huge amounts of effort, as developers must have a deep understanding of the technologies, the new application domain, and the interplay with legacy systems. Also, such systems face many challenges, such as dealing with a huge numbers of sensors and actuators, with mixed-critical applications that require real-time actions and with the need of automated systems based on context-aware management for adapting their behavior to current environment conditions.

There is an evident need for new systems to be developed as IoT–enabled solutions become increasingly more common and Energy Efficiency being imperative in the world agenda today. Energy Efficiency is one of the main targets of the Europe 2020 Strategy for smart, sustainable and inclusive growth adopted by the European Commission [17] and of the National Energy Efficiency Plan of the Brazilian Electricity Regulatory Agency [24]. Buildings account for 40% of final energy consumption in the EU [16], so that investing in Energy Efficiency measures in buildings can yield substantial savings. Greater use of Energy Efficiency technologies, combined with renewable energy, offers significant potential energy savings and CO2 emission reductions in both new and existing buildings. However, a key challenge for the development of Energy Efficiency approaches for public buildings is that management systems must be easy to develop, deploy and use [14]. In the US, the lack of data on the actual energy performance, combined with the physical and operational characteristics of buildings is one of the primary challenges to expanding the building Energy Efficiency refurbishment market [13].

In order to deal with this challenge, we developed an IoT Systems Development Platform (SDP) within the IMPReSS project1, which enables rapid development of context-aware mixed-criticality IoT–enabled applications. IMPReSS SDP focuses on Energy Efficiency management in public buildings as its first target, but it is also usable for any system intended to embrace a smarter society. The platform comprises a variety of components for making the task of developing IoT–enabled applications easier. These include tools for rapid development of user interface, pre-prepared software and middleware components, mixed-criticality resource management [8], context-aware data storage, analysis, and management [23], and IoT wireless communication management. Additionally, typical middleware components for dealing with energy efficiency management in public buildings are provided that hide the implementation complexity from the application's developers.

In this paper we introduce the IMPReSS approach and discuss the lessons learned from developing and testing IoT–enabled Energy Efficiency applications. An IMPReSS prototype system was developed, deployed and used in different application scenarios for different purposes, such as assessment, demonstrations, troubleshooting, and performance analysis. The main achievement demonstrated with the IMPReSS SDP is a portfolio of applications for decreasing the complexity and cost of collecting massive amount of energy related data in buildings as well as raising user awareness about energy consumption and efficiency. The IMPReSS SDP allows developers to create and experiment with new smart energy management services and use IoT enablers to fuse physical data to appropriate data analysis and control systems. The key functionalities provided by the IMPReSS Middleware are implemented by four main components, dealing with data, context, resource, and communication management.

The effectiveness of the IMPReSS SDP for the development of IoT–based context-aware and mixed–criticality applications was assessed through four scenarios involving energy efficiency management in public buildings. The first scenario is a university classroom with energy efficiency context-aware automated lighting and temperature control. The second scenario is an alarm system, where the application–level mixed-criticality system orchestrates and prioritizes the components that can access resources. The third scenario is the monitoring of energy consumption in a historic public theatre building that uses legacy data storage and analysis features to highlight the energy savings obtained. The fourth scenario shows how a power outage in a university campus is managed using device-level mixed-criticality resource management.

For the evaluation of the platform, a user-perception study was undertaken and five key components of the IMPReSS SDP were evaluated with regard to usability. A group of developers used the SDP to complete programming tasks involving the five features and gave their feedback about their experiences using a standard User Experience Questionnaire (UEQ) [22], which captures the usability and perceived user experience of a product. The IMPReSS SPD received a very positive usability evaluation, which confirms that the IMPReSS SDP offers application developers easy-to-use tools for developing smart city applications.

The key contributions of this paper are threefold. The first contribution is the IMPReSS architecture and implementation, which facilitates the development process of IoT–enabled applications, especially for energy efficiency management in public buildings. When compared to other approaches, the IMPReSS Architecture provides general-purpose built-in features that streamline the work of application developers. The second contribution is a set of four applications developed using the IMPReSS approach for evaluation and demonstration purposes, giving us confidence in the effectiveness of the platform. The third contribution is the positive results obtained from a qualitative analysis of the SDP undertaken by system developers and a quantitative analysis of scalability limits of the communication manager.

In the remainder of the paper, Section 2 presents background and literature review, Section 3 presents the IMPReSS SDP architecture and Section 4 presents its key middleware components. Further, Section 5 shows four applications developed with the IMPReSS SDP and Section 6 presents the results of the evaluation with developers. Section 7 shows results of a performance analysis study that highlights the scalability of the Communication Manager. Finally, Section 8 draws some conclusions and paths for future work.

Section snippets

Background and literature review

This section covers key aspects related to the design and implementation of a context-aware mixed-criticality development platform for IoT–enabled applications.

IMPReSS SDP architecture

The IMPReSS SDP is defined by its domain model, stakeholders and views and its architecture made of software components divided up into user interface and middleware layers.

IMPReSS middleware components

The key functionalities provided by IMPReSS Middleware are implemented by four main components: data manager, context manager, resource manager and communication manager.

Proof-of-concept applications

The effectiveness of the IMPReSS SDP for the development of IoT-based context-aware and mixed-criticality applications was assessed by using it in four scenarios (use cases) involving energy efficiency management.

User evaluation

In order to evaluate the IMPReSS SDP with respect to perceived ease of use, efficiency and applicability to real life development task, a usability study was conducted with external developers. The evaluation encompassed the use of the overall IMPReSS platform as well as specific evaluation of the five key components. The purpose of the evaluation was to obtain an understanding of how external developers perceive the IMPReSS platform as a whole. However, for practical reasons the participants

Performance analysis

A testbed was deployed to evaluate the performance of the proposed solution, in terms of scalability, for evaluating the number of simultaneous active resources IMPReSS can handle, configure and manage through the XMPP-based Communication Manager and Network Manager infrastructure. The RAI API exposes each component (i.e. sensors and actuators) to the infrastructure as a XMPP user/client, named and addressed by the so-called Jabber Identifiers (jID) and served by the open-source Openfire6

Conclusions

Public buildings consume a considerably high percentage of energy produced in industrialized countries and therefore building management systems have to carefully address the issue of reducing energy usage. The Internet of Things (IoT) may play an important role in the development of new context-aware mixed-criticality management applications that adapt system behavior according to environment changes and deal with real-time demands for prioritizing mission critical equipment and systems.

Acknowledgements

This research was supported by the European Commission and CNPq within the IMPReSS project (project No. 614100).

References (29)

  • L. Atzoria et al.

    The Internet of Things: a survey

    Comput. Netw.

    (October 2010)
  • B. Balajiy et al.

    Zodiac: organizing large deployment of sensors to create reusable applications for buildings

  • M. Baldauf et al.

    A survey on context-aware systems

    Int., J. Ad Hoc Ubiquitous Comput.

    (2007)
  • L. Bass et al.

    Software Architecture In Practice

    (2012)
  • A. Bassi et al.

    Enabling Things to Talk: Designing IoT Solutions with the IoT Architectural Reference Model

    (2013)
  • T. Berners-Lee et al.

    The semantic web

    Sci. Am.

    (May 2001)
  • A. Bhattacharya et al.

    Automated metadata construction to support portable building applications

  • A. Burns et al.

    Mixed Criticality Systems - A Review

    (2016)
  • B. Campbell et al.

    An energy-harvesting sensor architecture and toolkit for building monitoring and event detection

  • D. Conzon et al.

    The VIRTUS middleware: an XMPP based architecture for secure IoT communications

  • G. Cugola et al.

    Processing flows of information: from data stream to complex event processing

    ACM Comput. Surv.

    (2012)
  • M. Eisenhauer et al.

    Hydra: a development platform for integrating wireless devices and sensors into ambient intelligence systems

    Internet Things

    (January 2010)
  • Building Energy Data Exchange Specification Scoping Report

    (August 2013)
  • Guidance on Energy Efficiency in Public Buildings

    (May 2012)
  • Cited by (34)

    • Goal-driven scheduling model in edge computing for smart city applications

      2022, Journal of Parallel and Distributed Computing
      Citation Excerpt :

      It is important to note that the authors in [34] state, “Context-aware computing has proven to be successful in understanding sensor data.”. Indeed, context-aware computing has been employed in the Internet of Things (IoT) [16,18,23] and sensor networks [1,33] to reason about the current context of local environment. The edge scheduler must understand the current context and determine what to run.

    • Context-aware environment monitoring to support LPWAN-based battlefield applications

      2022, Computer Communications
      Citation Excerpt :

      More specifically, the author uses real echo rain maps to calculate attenuation in communication links and modify the network topology to improve network throughput during rainstorm periods. Differently from Dobrescu’s [3] context-aware precision agriculture system and the intelligent buildings of Kamienski et al. [4], in Rak’s proposal, a third-party system provides the weather maps that serve as context information. In contrast, the other systems collected context information through sensors to decide the system’s action.

    • WOTPY: A framework for web of things applications

      2019, Computer Communications
      Citation Excerpt :

      This framework opts for SOAP-based XML Web Services instead of the usual REST APIs. The IMPReSS Systems Development Platform (SDP) [12] puts the focus on providing horizontal software components to accelerate the development of IoT applications. IMPReSS distinguishes itself from other solutions by including a reusable User Interface (UI) components layer.

    • Towards mixed criticality task scheduling in cyber physical systems: Challenges and perspectives

      2019, Journal of Systems and Software
      Citation Excerpt :

      The MCS concept basically refers to “an embedded computing platform in which application functions of different criticality share computation and/or communication resources” (Ernst and Di Natale, 2016). Even though MCSs originate from automotive and avionics areas, their applicability extends these domains, such systems being present also in fields like the Internet of Things (Kamienski et al., 2017; Carpenter et al., 2017), medical devices (Carpenter et al., 2017), industrial systems (Xia et al., 2017) and cyber physical systems in general. The use of MCSs within CPSs requires a special kind of approach, because of the different requirements, which may seem contradictory sometimes.

    • Internet of Things (IoT), mobile cloud, cloudlet, mobile IoT, IoT cloud, fog, mobile edge, and edge emerging computing paradigms: Disambiguation and research directions

      2019, Journal of Network and Computer Applications
      Citation Excerpt :

      It masks heterogeneity while supporting rapid computing and fault tolerance. Kamienski et al. (Kamienski et al., 2017) proposed a platform for context-aware application development in the IoT. The platform is intended for sensor data collection in buildings in addition to control based on context.

    View all citing articles on Scopus
    View full text