Application development for the Internet of Things: A context-aware mixed criticality systems development platform
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)
- et al.
The Internet of Things: a survey
Comput. Netw.
(October 2010) - et al.
Zodiac: organizing large deployment of sensors to create reusable applications for buildings
- et al.
A survey on context-aware systems
Int., J. Ad Hoc Ubiquitous Comput.
(2007) - et al.
Software Architecture In Practice
(2012) - et al.
Enabling Things to Talk: Designing IoT Solutions with the IoT Architectural Reference Model
(2013) - et al.
The semantic web
Sci. Am.
(May 2001) - et al.
Automated metadata construction to support portable building applications
- et al.
Mixed Criticality Systems - A Review
(2016) - et al.
An energy-harvesting sensor architecture and toolkit for building monitoring and event detection
- et al.
The VIRTUS middleware: an XMPP based architecture for secure IoT communications
Processing flows of information: from data stream to complex event processing
ACM Comput. Surv.
Hydra: a development platform for integrating wireless devices and sensors into ambient intelligence systems
Internet Things
Building Energy Data Exchange Specification Scoping Report
Guidance on Energy Efficiency in Public Buildings
Cited by (34)
Goal-driven scheduling model in edge computing for smart city applications
2022, Journal of Parallel and Distributed ComputingCitation 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 CommunicationsCitation 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 CommunicationsCitation 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 SoftwareCitation 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 ApplicationsCitation 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.