STEP-ONE: Simulated testbed for Edge-Fog processes based on the Opportunistic Network Environment simulator

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

Highlights

  • A testbed for simulating IoT systems defined as BPMN 2.0 processes is presented.

  • Wireless networking, mobility and computation & cost modeling features.

  • The testbed is showcased with a of Smart City Fog computing scenario.

  • The set of tools is provided as an open-source project.

Abstract

The Internet of Things (IoT) has evolved from a cloud-based architecture towards multi-layer architectures such as Fog computing, where network edge devices perform processing and messaging tasks. Researchers studied managing and scheduling applications in these architectures extensively, however some issues, especially the effect of mobility, have been less explored. Additionally, evaluation of these mechanisms in realistic scenarios is difficult, as real-world experiments are costly and building composite applications with existing simulation tools is laborious. We call such composite applications which entail functions for handling connectivity and mobility disruptions in the edge network, Edge Processes. In this paper, we present STEP-ONE - a set of tools developed to simulate IoT systems where the management and application composition is handled with Business Process Model and Notation (BPMN) related standards. We demonstrate STEP-ONE with a smart-city scenario, where an application modeled as a choreography of processes is executed between different resources - cloud, fog and moving edge devices. We show how STEP-ONE enables constructing such a scenario and how it can be extended with algorithms and decision-mechanisms to adaptively drive the execution of such processes. We also present how detailed performance metrics can be extracted from the discrete event simulations run with STEP-ONE.

Introduction

The vision promoted by Internet of Things (IoT) foresees environments that are abundant in devices with sensing, actuating, computing and networking functions. Through these capabilities, IoT technology has become important to a variety of domains: healthcare, intelligent transportation, manufacturing among others. IoT has evolved from a centralised architecture with two layers: 1) cloud and 2) end-devices; towards more de-centralized models with additional intermediate layers. These models, such as edge and fog computing (Bonomi et al., 2012), alleviate the network congestion and latency of passing data through the cloud layer and instead move the application logic closer to the end-users and end-devices, i.e. the edge (Mukherjee et al., 2018).

Inherent to IoT is the interoperability issue - devices are heterogeneous in their software and hardware configurations, communication interfaces, making the incorporation of them into cross-platform systems complex (Noura et al., 2018). This has commonly been solved through Service-Oriented Architecture (SOA) (Spiess et al., 2009), which supports syntactical software interoperability through standardized device- and service interfaces based on Web Service (WS) technology. Incorporating SOA also paves the way towards semantic interoperability (Andročec et al., 2018) (e.g. by describing the resources with the Resource Description Framework (RDF) data model; the ontology with Web Ontology Language (OWL); and querying the semantic information using SPARQL).

Another key issue is the resource planning and coordination of IoT device operations and data-flows to realize applications and business processes. Management becomes complex as processes in settings such as a smart city may involve several companies and public sector organizations while also providing a high degree of personalization to the end user (Grefen et al., 2018).

Business Process Management (BPM) - the practice of observing, designing, analysing, automating and improving business processes - has seen significant success in enterprise software (Dumas et al., 2018). BPM has been identified as the suitable enabler of effective management of IoT workflows as well (Janiesch et al., 2017, Chang, Srirama, Buyya, 2016, Grefen, Ludwig, Tata, Dijkman, Baracaldo, Wilbik, D’Hondt, 2018). The majority of existing BPM systems (BPMS) and Process-Aware Information Systems use SOA and WS technology standards when automating the sequences of tasks, decisions and messages that form a process. Another important standard in this context is Business Process Modelling and Notation (BPMN) 2.0, which describes the processes themselves - on one hand BPMN 2.0 is a visual standard for intuitive design of processes, while on the other hand it is interpretable by BPMS for automated execution.

Using BPM with IoT has great potential - the abstraction provided by BPM accelerates developing new IoT business solutions, the BPMS monitoring functionality gives analytic insight into how well processes are performing and how to optimize them (Kalbag and Silverman, 2014). (Janiesch et al., 2017) outline the various benefits of joining BPM with IoT, such as automating the detection of starting and ending activities and enhancing planning of large-scale IoT sytems. BPMS-integrated IoT has gathered attention of researchers from various perspectives: modelling the IoT-aware processes (Meyer, Ruppen, Hilty, 2015, Domingos, Martins, 2017, Brouns, Tata, Ludwig, Asensio, Grefen, 2018, Martins, Domingos, 2017), adapting processes to unexpected events and contextual changes (Marrella, Mecella, Sardiña, 2018, Seiger, Herrmann, Aßmann, 2017, Peng, Armellin, Betti, Chiasera, Toai, Ronchetti, 2013), dynamic service discovery, composition and selection (Chang, Srirama, Mass, 2015, Dar, Taherkordi, Rouvoy, Eliassen, 2011); and various case studies (Tüysüz, Avenoglu, Eren, 2013, Tranquillini, Daniel, Kucherbaev, Casati, 2015, Pryss, Mundbrod, Langer, Reichert, 2015). These works reflect the current paradigm in which process-aware IoT systems are usually based on the 2-layer IoT model, where a central Process Engine orchestrates the resources and services. This design follows from the conventional enterprise BPMS, which too takes a centralized approach.

With the emergence of edge and fog computing, there is a need to adapt BPMS to the edge devices (Kalbag and Silverman, 2014), so that processes can be orchestrated and executed directly in the edge, we call this notion Edge Process Management (EPM). EPM brings several benefits: 1) following the edge computing principle, edge networks can provide the best performance in terms of communication latency; 2) privacy, as the tasks and data involved in an edge process may be kept on the local devices and network; 3) resilience and fault-tolerance: in cases where infrastructural damage or outages occur, the edge process can continue enacting (consider disaster scenarios) (Marrella et al., 2016, Mass, Chang, Srirama, 2016).

However, the edge environment does impose the challenge of highly volatile context: connectivity is intermittent and the mobility of nodes (Giang, Lea, Blackstock, Leung, 2018, Bonomi, Milito, Zhu, Addepalli, 2012) causes the number of nearby devices to be in constant flux, affecting the availability of services and radio interference. Thus, the devices need offline execution and autonomous collaboration capabilities (Seiger et al., 2017), which can take into account mobility context.

Adopting BPMS for execution on end-devices such as mobile phones has been researched several times (Hackmann, Haitjema, Gill, Roman, 2006, Dar, Taherkordi, Baraki, Eliassen, Geihs, 2015, Schobel, Pryss, Schickler, Reichert, 2016). These works host a standards-compliant process engine on the device. However, considering that IoT and edge systems are to involve huge numbers of devices, the evaluation of most existing related works is done at a scale of up to a few devices (e.g. 2 robots and 1 stationary system in Seiger et al. (2017)). Indeed, large-scale real-world experiments are costly to perform, so the common approach is to simulate the behaviour (Dede et al., 2018). However, to the best of our knowledge, no existing simulation tool has adapted a process-oriented and mobility-aware perspective to IoT systems.

To support development and research of process-oriented scenarios and models for EPM in environments such as smart cities, where mobility aspects are common, we present STEP-ONE: a Simulated Testbed for Edge-Fog Processes based on the Oppor-tunistic Network Environment Simulator. STEP-ONE is an extension to the Opportunistic Network Environment simulator (ONE) by Keränen et al. (2009), adding process execution support on the hosts. This allows discrete event simulation of scenarios, where the application logic is defined as BPMN 2.0 processes. STEP-ONE supports defining these processes with a set of ready-to-use process components, such as Message tasks for inter-process messaging across hosts, events and signals for time, mobility and connectivity-related situations and configuration options for varying the executed processes, their inputs and the process engine parameters when executing a batch of simulations. The testbed provides feedback in the ONE graphical user interface during execution and a visual modeller for creating processes. For results interpretation, we make use of the report generation features available in ONE. The process execution and visual modelling tools in STEP-ONE are based on the Flowable1 BPMS.

We demonstrate STEP-ONE with a hypothetical Smart City scenario set in the city of Tartu, where the city uses a edge process-based approach to monitor the street and road conditions in a de-centralised fashion. This testbed enables enacting scenarios with large number of hosts in city map-based environments, thus allowing to explore the question of mobility, resource scheduling and placement effect on processes in the edge and fog.

The rest of the paper is structured as follows: Section 2 describes background on process-oriented management of IoT and how it can be used for fog and edge computing. The section also gives a comparative overview of other simulation tools related to STEP-ONE. The requirements, architecture and design of STEP-ONE are covered by Section 3, while the implementation details of the testbed are given in Section 4. Section 5 explains the Smart City scenario and the processes it is composed of, then, in Section 6 we present the performance evaluation of cloud- and fog configurations simulated in the scenario. The paper is concluded in Section 7.

Section snippets

State of the art and related works

This section explains the core ideas behind Edge Process Management, highlighting the need for a testbed, then we discuss the suitability of existing simulation tools for mobility- and networking simulation to EPM.

STEP-ONE software requirements & design

Given its mobility, networking and communication features (as discussed in Section 2.4), we have based the core of the testbed on the ONE simulator. Before showing how STEP-ONE expands on ONE in order to realize process-based scenarios, we first describe ONE’s main concepts. Then we define requirements for STEP-ONE and proceed with a detailed explanation of how the tool fulfils the requirements.

Implementation

STEP-ONE is packaged as a Gradle-based Java project and is available as a public GitHub repository5, with additional documentation and reference materials on how to use it.

The Process Engine Application embeds an instance of Flowable BPMS (version 6.4.2), which is a light-weight process software that supports a variant of the BPMN 2.0 standard - namely some Flowable-specific extension elements have to be included in the process model to enable automated

Case study

We illustrate the usage of STEP-ONE with a hypothetical Smart City scenario:

The city of Tartu performs monitoring of street and road conditions along public transport routes using image processing techniques. Video footage captured by camera-equipped buses is analysed for objects such as potholes, cracks, snow and ice build-up using image processing techniques (Zakeri et al., 2017). The analysis is done individually per road segment, each segment starting and ending at a bus stop. Based on the

Evaluation

We analysed the behaviour of the presented scenario in varying configurations: how often new analysis requests are scheduled and how many analyses are scheduled in parallel. Further, we investigated how the processes perform with different process placement strategies: when run on Cloud, Fog, or both interchanged.

Conclusion

In this paper, we presented a set of tools to define and study applications and algorithms using BPMN 2.0 processes for scenarios where mobility and connectivity issues play a key role. The core of the proposed simulated testbed is a Flowable process engine embedded into the ONE simulator that has been interfaced with the simulators modules. Further, STEP-ONE provides a visual modeller for designing executable processes, reporting tools to capture process metrics and new network interfaces and

Declaration of Competing Interest

There are no potential conflicts of interest.

Acknowledgment

The work is supported by the Estonian Centre of Excellence in IT (EXCITE) and by the Archimedes Foundation Smart specialisation scholarship, both funded by the European Regional Development Fund. We would also like to thank anonymous reviewers and Helen Karatza (Area Editor) of Journal of Systems and Software for their constructive suggestions and guidance on improving the content and quality of this paper.

Jakob Mass is a PhD student at the Mobile & Cloud Lab at the Institute of Computer Science, University of Tartu, Estonia. He received his MSc in software engineering from University of Tartu, Estonia. His research interests include Mobile Information Systems, IoT-aware Business Process Management Systems and Service-oriented Computing.

References (51)

  • Caro, G. A. D.,. Analysis of simulation environments for mobile ad hoc networks,...
  • C. Chang et al.

    A middleware for discovering proximity-based service-oriented industrial internet of things

  • C. Chang et al.

    Mobile cloud business process management system for the internet of things: a survey

    ACM Comput. Surv.

    (2016)
  • Y. Cheng et al.

    A service-based fog execution environment for the IoT-Aware business process applications

    2018 IEEE International Conference on Web Services (ICWS)

    (2018)
  • K. Dar et al.

    A resource oriented integration architecture for the internet of things: a business process perspective

    Pervasive Mob. Comput.

    (2015)
  • J. Dede et al.

    Simulating opportunistic networks: survey and future directions

    IEEE Commun. Surv. Tutor.

    (2018)
  • D. Domingos et al.

    Using BPMN to model internet of things behavior within business process

    IJISPM - Int. J. Inf. Syst. Project Manag.

    (2017)
  • J. Du et al.

    Computation offloading and resource allocation in mixed fog/cloud computing systems with min-max fairness guarantee

    IEEE Trans. Commun.

    (2018)
  • M. Dumas et al.

    Fundamentals of Business Process Management: Second Edition

    (2018)
  • Flowable,. The flowable engine as a serverless function....
  • N.K. Giang et al.

    Fog at the edge: experiences building an edge computing platform

    2018 IEEE International Conference on Edge Computing (EDGE)

    (2018)
  • P. Grefen et al.

    Complex collaborative physical process management: a position on the trinity of BPM, IoT and DA

  • Gupta, H., Dastjerdi, A. V., Ghosh, S. K., Buyya, R., 2016. iFogSim: A Toolkit for Modeling and Simulation of Resource...
  • G. Hackmann et al.

    Sliver: a BPEL workflow process execution engine for mobile devices

  • Janiesch, C., Koschmider, A., Mecella, M., Weber, B., Burattin, A., Di Ciccio, C., Gal, A., Kannengiesser, U.,...
  • Cited by (0)

    Jakob Mass is a PhD student at the Mobile & Cloud Lab at the Institute of Computer Science, University of Tartu, Estonia. He received his MSc in software engineering from University of Tartu, Estonia. His research interests include Mobile Information Systems, IoT-aware Business Process Management Systems and Service-oriented Computing.

    Satish Narayana Srirama is a Research Professor and the head of the Mobile & Cloud Lab at the Institute of Computer Science, University of Tartu, Estonia and a Visiting Professor at University of Hyderabad, India. He received his Ph.D. in computer science from RWTH Aachen University, Germany in 2008. His research focuses on cloud computing, mobile web services, mobile cloud, Internet of Things, fog computing, migrating scientific computing and enterprise applications to the cloud and large scale data analytics on the cloud. He is an IEEE senior member, was an Associate Editor of IEEE Transactions in Cloud Computing, is an Editor of Wiley Software: Practice and Experience, a 50 year old Journal, and a program committee member of several international conferences and workshops. Dr. Srirama has co-authored over 140 refereed scientific publications in several inter-national conferences and journals. For further information of Prof. Srirama, please visit: http://kodu.ut.ee/~srirama/.

    Chii Chang obtained Doctor of Philosophy (PhD) (2014), Master of Information Technology (MSIT) (2008) and Bachelor of Computing (BCom) (2006) from Faculty of Information Technology, Monash University, Australia. Dr. Chang’s research involves Fog Computing, Edge Computing, Internet of Things (IoT), IoT-aware Business Process Management System, Services Computing and Mobile Cloud Computing.

    View full text