Elsevier

Information Sciences

Volume 498, September 2019, Pages 154-169
Information Sciences

A development approach for collective opportunistic Edge-of-Things services

https://doi.org/10.1016/j.ins.2019.05.058Get rights and content

Highlights

  • Collective Opportunistic IoT Services are key abstractions for novel Internet- and Edge-of-Things applications.

  • IoT Modelling may consider entire collectives and various infrastructural elements as first-class entities.

  • Services implemented with Aggregate Computing can run in Edge or Cloudbased deployments, providing different pros and cons.

Abstract

Technological advances have recently fostered the Internet of Things vision, in which systems of situated entities perceive and act upon the world, and interact with one another to provide novel kinds of services, which are inherently cyber-physical, increasingly contextual and opportunistic in nature, and possibly span different scales and domains. The requirements of such IoT applications, however, pose significant non/functional challenges to engineering efforts, mitigated by emerging computing paradigms. On the infrastructure side, Cloud, Fog, and Edge Computing provide virtualised, on-demand, elastic resource provisioning – at the distant data centres, Network core and Edge – supporting the abstraction and scalability needs of IoT settings while also altogether giving options for QoS-driven trade-offs. However, despite intense research in these fields, there is still a gap of approaches supporting the engineering of dynamic, heterogeneous smart environments, such as those involving “collectives” of devices coordinating in a complex fashion to provide “global” services. In this paper, we integrate the Aggregate Computing and Opportunistic IoT Service models and propose a full-fledged approach for the engineering – from analysis to simulation – of complex “Edge of Things” applications. We compare by simulation two deployment targets for the same collective application: one centralised/Cloud-based, and the other decentralised/Edge-based. We discuss the trade-offs each one introduces, and we draw recommendations on application-driven choices of the appropriate deployment.

Introduction

Recent advances in Information and Communication Technology have fostered the Internet of Things (IoT) vision, where heterogeneous entities situated in our environments (i.e., cities, places, homes, and bodies) and capable of sensing, actuation, and processing, are interconnected with one another and with other infrastructural components in order to enable novel kinds of applications and services. Such new services tend to exploit what the environment and infrastructure have to offer, and are increasingly cyber-physical, context-aware, opportunistic and collective, with the staunch goal of unleashing the full Internet of Things ecosystem potential [16], [17], [18]. In other words, the environment itself is made smart through Smart Objects (SOs) and innovative services based on those which also span multiple scales and domains [30]—with examples including energy-optimised management of smart buildings [24], augmented logistics capabilities in smart ports [39], infrastructural maintenance in smart cities [13], energy-efficient monitoring in ecological scenarios [32], cognitive robot-supported smart manufacturing [22], etc.

However, the “layout” of smart environments is often based on heterogeneous infrastructure (e.g., access points, base stations) and heterogeneous devices with different physical forms, communication capabilities, energetic needs, storage capacities, and processing power. Concerning storage and processing, the Cloud Computing paradigm extends the capabilities of SOs by allowing them to offload data and computations to distant data centres. Moreover, the recent Fog [7] and Edge Computing [33] paradigms promise to provide the benefits of Cloud Computing without incurring in its problems (e.g., high latency, data rate consumption etc.), by bringing virtualised infrastructure and on-demand, elastic resource provisioning closer to end-devices, at the Edge or core of the network. Actually, Edge Computing is not an alternative to Cloud Computing but extends and complements it, by inclusively supporting resource-constrained devices and near real-time scenarios, and paving the path to Quality of Service (QoS) improvements. However, all this heterogeneity pushes additional complexity to engineering endeavours and stresses traditional approaches, methods and programming paradigms [15].

In this paper, we present an approach for seamlessly supporting the development (from the analysis to simulation) of collective, opportunistic Edge-of-Things (EoT) applications [14]. In particular, we model Smart Environments as ecosystems hosting opportunistic IoT services that may exploit Edge and cloud resources and may be collective in nature. The approach integrates the Opportunistic IoT Service model and the Aggregate Computing paradigm, whose conceptual alignment has been shown in [9]. As proof of concept, in a Smart City scenario, we show a crowd detection application which is first modelled as an Opportunistic IoT Service, then designed by following either a centralised/Cloud-based and a distributed/Edge-based approach, and finally implemented and simulated according to the Aggregate Computing paradigm. Simulation results show how a distributed/Edge-based approach can provide improved reactivity of collective applications at the expense of precision due to data from different SOs being processed in different Edge Servers.

The novel contributions with respect to our previous work [9] are threefold:

  • 1.

    A unified domain model for describing Collective and Opportunistic IoT Services to be provided both at the core and at the Edge of the network;

  • 2.

    A computation and communication performance model for enabling a quantitative analysis of the performed simulations;

  • 3.

    A detailed comparison and result analysis of the centralised/Cloud-based and distributed/Edge-based approaches, in order to analyse their pros and cons in supporting EoT applications.

The remainder of the paper is organised as follows. Section 2 provides a brief overview about the SO-based IoT vision – highlighting the importance of SOs in service provision and eliciting the features characterising an Opportunistic IoT Service – as well as about main concepts of emerging paradigms such as Cloud, Fog and Edge Computing. Such background is functional to introduce in Section 3 what we intend for EoT applications and our approach for their full-fledged development. This approach integrates Opportunistic IoT Service models and Aggregate Computing paradigm thus providing theoretical concepts and practical tools for engineering EoT applications from the modelling to the simulation phase. A crowd detection EoT application based on a real world urban mass event data set is developed according to the proposed approach in Section 4. We first describe it through the Opportunistic IoT Service model and then evaluate its performance in terms of responsiveness (measured as mean packet delay) and precision (measured as the number of SOs which are alerted of not entering crowded areas) in different scenarios of centralised/Cloud-based and decentralised/Edge-based computing. Finally, conclusions are drawn and future work delineated.

Section snippets

SO-based IoT and opportunistic services

A Smart Environment can be defined as a cyber-physical environment in which a collection of heterogeneous devices elaborate data and interact with each other and people in a continuous interplay. In the IoT vision, such devices or SOs are everyday artefacts augmented with computing, communication, sensing, actuation and storing functionalities but, at the same time, constrained by limited hardware resources (CPU, RAM and storage), physical dimensions, and contextual factors (sharing of limited

Developing Edge-of-Things applications: aggregate computing for collective opportunistic IoT services

For a number of reasons, IoT services promise to be notably more complicated, heterogeneous and large-scale than conventional ones. As discussed in Section 2, the Edge Computing paradigm ideally enables time-sensitive, context-aware, and co-located applications by providing low latency, scalability, and distributed computation, even in presence of resource-constrained devices at the network’s Edge. However, from a programming perspective, a computing paradigm is also required that provides

Case study and simulations: an Edge-of-Things application for mass urban events

In this section, we discuss an example evaluation of an existing aggregate application for large scale urban events on different deployment targets on the Edge and on the cloud. Our goal is to evaluate the expected performance of an application which showed promising results, evaluating under which conditions we would achieve good performance. The core application has been presented in a previous work [9]: it is a crowd detection and steering application for large scale urban events. The

Conclusion

In this paper, we illustrated a conceptual and operative framework for the development of IoT applications and ecosystems. Specifically, we extended the model in [9] with an explicit account of Collective Opportunistic IoT Services, which are globally offered by dynamic ensembles of entities comprising things, humans, and infrastructural elements including Access Points, Cloud, and Edge Servers. We believe that extending the traditional viewpoint by (also) thinking and working by a “systems”

Conflict of interset

None.

References (39)

  • F. Bonomi et al.

    Fog computing and its role in the Internet of Things

    Proceedings of the first edition of the MCC workshop on Mobile cloud computing

    (2012)
  • K.-H.N. Bui et al.

    Computational negotiation-based edge analytics for smart objects

    Inf. Sci. (Ny)

    (2019)
  • R. Casadei et al.

    Collective abstractions and platforms for large-scale self-adaptive IoT

    2018 IEEE 3rd International Workshops on Foundations and Applications of Self* Systems (FAS* W)

    (2018)
  • R. Casadei et al.

    Programming actor-based collective adaptive systems

    Programming with Actors

    (2018)
  • F. Cicirelli et al.

    An edge-based platform for dynamic smart city applications

    Future Gener. Comput. Syst.

    (2017)
  • G. Fortino et al.

    Agent-oriented cooperative smart objects: from IoT system design to implementation

    IEEE Trans. Syst Man Cybern.Syst.

    (2017)
  • G. Fortino et al.

    Modeling opportunistic IoT services in open IoT ecosystems

  • G. Fortino et al.

    Opportunistic cyberphysical services: a novel paradigm for the future Internet of Things

    2018 IEEE 4th World Forum on Internet of Things (WF-IoT)

    (2018)
  • G. Fortino et al.

    Toward opportunistic services for the industrial Internet of Things

    2017 13th IEEE Conference on Automation Science and Engineering (CASE)

    (2017)
  • Cited by (60)

    • Adaptive distributed monitors of spatial properties for cyber–physical systems

      2021, Journal of Systems and Software
      Citation Excerpt :

      In this setting, scalable crowd analysis and management algorithms can help to provide safety and services for a better experience, e.g., by estimating the density of the crowd, propagating information about the crowd to the surroundings, and supporting crowd-aware dispersal and navigation. Aggregate programming techniques have proven to be effective in expressing such crowd management algorithms by a global perspective, and to make them execute in an adaptive, resilient and decentralised fashion (Beal et al., 2015; Casadei et al., 2019a). With this approach, each participant has a smartphone or another wearable device that provides sensor data (e.g., presence of people nearby) and outputs local information (e.g., the suggested direction of movement to avoid overcrowded areas) for the person as computed by the collectively executed aggregate program.

    • Engineering collective intelligence at the edge with aggregate processes

      2021, Engineering Applications of Artificial Intelligence
    View all citing articles on Scopus
    View full text