Pulverization in Cyber-Physical Systems: Engineering the Self-Organizing Logic Separated from Deployment

Emerging cyber-physical systems, such as robot swarms, crowds of augmented people, and smart cities, require well-crafted self-organizing behavior to properly deal with dynamic environments and pervasive disturbances. However, the infrastructures providing networking and computing services to support these systems are becoming increasingly complex, layered and heterogeneous—consider the case of the edge–fog–cloud interplay. This typically hinders the application of self-organizing mechanisms and patterns, which are often designed to work on flat networks. To promote reuse of behavior and flexibility in infrastructure exploitation, we argue that self-organizing logic should be largely independent of the specific application deployment. We show that this separation of concerns can be achieved through a proposed “pulverization approach”: the global system behavior of application services gets broken into smaller computational pieces that are continuously executed across the available hosts. This model can then be instantiated in the aggregate computing framework, whereby self-organizing behavior is specified compositionally. We showcase how the proposed approach enables expressing the application logic of a self-organizing cyber-physical system in a deployment-independent fashion, and simulate its deployment on multiple heterogeneous infrastructures that include cloud, edge, and LoRaWAN network elements.

[1]  Bradley R. Schmerl,et al.  Software Engineering for Smart Cyber-Physical Systems: Challenges and Promising Solutions , 2017, SOEN.

[2]  Danny Weyns,et al.  A Case Study on Formal Verification of Self-Adaptive Behaviors in a Decentralized System , 2012, FOCLASA.

[3]  Marie-Pierre Gleizes,et al.  Self-organization in multi-agent systems , 2005, The Knowledge Engineering Review.

[4]  Stephan Hoyer,et al.  xarray: N-D labeled arrays and datasets in Python , 2017 .

[5]  Danny Weyns,et al.  A field-based versus a protocol-based approach for adaptive task assignment , 2008, Autonomous Agents and Multi-Agent Systems.

[6]  Ladan Tahvildari,et al.  Self-adaptive software: Landscape and research challenges , 2009, TAAS.

[7]  Danny Weyns,et al.  Software Engineering of Self-adaptive Systems , 2019, Handbook of Software Engineering.

[8]  Andrea Giorgetti,et al.  Emerging Distributed Programming Paradigm for Cyber-Physical Systems Over LoRaWANs , 2018, 2018 IEEE Globecom Workshops (GC Wkshps).

[9]  Joseph Sifakis,et al.  The DReAM framework for dynamic reconfigurable architecture modelling: theory and applications , 2020, International Journal on Software Tools for Technology Transfer.

[10]  Hartmut Schmeck,et al.  Organic Computing - A New Vision for Distributed Embedded Systems , 2005, ISORC.

[11]  Lukas Esterle Centralised, Decentralised, and Self-Organised Coverage Maximisation in Smart Camera Networks , 2017, 2017 IEEE 11th International Conference on Self-Adaptive and Self-Organizing Systems (SASO).

[12]  Yang Liu,et al.  The Impact of Winter Heating on Air Pollution in China , 2015, PloS one.

[13]  Jacob Beal,et al.  Engineering Resilient Collective Adaptive Systems by Self-Stabilisation , 2017, ACM Trans. Model. Comput. Simul..

[14]  Mirko Viroli,et al.  Partitioned integration and coordination via the self-organising coordination regions pattern , 2021, Future Gener. Comput. Syst..

[15]  Jesper Andersson,et al.  On decentralized self-adaptation: lessons from the trenches and challenges for the future , 2010, SEAMS '10.

[16]  Vincenzo Grassi,et al.  GoPrime: A Fully Decentralized Middleware for Utility-Aware Service Assembly , 2016, IEEE Transactions on Software Engineering.

[17]  Jacob Beal,et al.  Aggregate Programming for the Internet of Things , 2015, Computer.

[18]  Ada Diaconescu,et al.  Social Concepts in Self-organising Systems (Dagstuhl Seminar 15482) , 2015, Dagstuhl Reports.

[19]  Tom De Wolf,et al.  Designing Self-Organising Emergent Systems based on Information Flows and Feedback-loops , 2007, First International Conference on Self-Adaptive and Self-Organizing Systems (SASO 2007).

[20]  Atay Ozgovde,et al.  EdgeCloudSim: An environment for performance evaluation of Edge Computing systems , 2017, 2017 Second International Conference on Fog and Mobile Edge Computing (FMEC).

[21]  H. Van Dyke Parunak,et al.  Pheromone learning for self-organizing agents , 2005, IEEE Transactions on Systems, Man, and Cybernetics - Part A: Systems and Humans.

[22]  Bradley R. Schmerl,et al.  Rainbow: Architecture-Based Self-Adaptation with Reusable Infrastructure , 2004, Computer.

[23]  Xavier Hesselbach,et al.  Virtual Network Embedding: A Survey , 2013, IEEE Communications Surveys & Tutorials.

[24]  Andrea Omicini,et al.  Transparent Protection of Aggregate Computations from Byzantine Behaviours via Blockchain , 2018, Goodtechs '18.

[25]  Ada Diaconescu,et al.  Foraging-Inspired Self-Organisation for Terrain Exploration with Failure-Prone Agents , 2015, 2015 IEEE 9th International Conference on Self-Adaptive and Self-Organizing Systems.

[26]  Mirko Viroli,et al.  Towards attack-resistant Aggregate Computing using trust mechanisms , 2018, Sci. Comput. Program..

[27]  Devki Nandan Jha,et al.  Osmosis: The Osmotic Computing Platform for Microelements in the Cloud, Edge, and Internet of Things , 2019, Computer.

[28]  Jeff Magee,et al.  Self-Managed Systems: an Architectural Challenge , 2007, Future of Software Engineering (FOSE '07).

[29]  Mirko Viroli,et al.  On execution platforms for large-scale aggregate computing , 2016, UbiComp Adjunct.

[30]  John D. Hunter,et al.  Matplotlib: A 2D Graphics Environment , 2007, Computing in Science & Engineering.

[31]  Peyman Oreizy,et al.  An architecture-based approach to self-adaptive software , 1999, IEEE Intell. Syst..

[32]  Danny Weyns,et al.  DingNet: A Self-Adaptive Internet-of-Things Exemplar , 2019, 2019 IEEE/ACM 14th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS).

[33]  Franco Zambonelli,et al.  Self-organizing virtual macro sensors , 2012, TAAS.

[34]  Karine Léger,et al.  Comparing urban air quality in Europe in real time a review of existing air quality indices and the proposal of a common alternative. , 2008, Environment international.

[35]  Jeffrey O. Kephart,et al.  The Vision of Autonomic Computing , 2003, Computer.

[36]  Danny Weyns,et al.  Self-Adaptation Using Multiagent Systems , 2010, IEEE Software.

[37]  Mirko Viroli,et al.  A Higher-Order Calculus of Computational Fields , 2016, ACM Trans. Comput. Log..

[38]  Jacob Beal,et al.  Self-adaptation to device distribution in the internet of things , 2022 .

[39]  Robin Milner,et al.  A Calculus of Mobile Processes, II , 1992, Inf. Comput..

[40]  Thomas Watteyne,et al.  Understanding the Limits of LoRaWAN , 2016, IEEE Communications Magazine.

[41]  Kais Mekki,et al.  Overview of Cellular LPWAN Technologies for IoT Deployment: Sigfox, LoRaWAN, and NB-IoT , 2018, 2018 IEEE International Conference on Pervasive Computing and Communications Workshops (PerCom Workshops).

[42]  Danny Weyns,et al.  Architecture-centric support for adaptive service collaborations , 2014, TSEM.

[43]  Francis Heylighen,et al.  Stigmergy as a universal coordination mechanism I: Definition and components , 2016, Cognitive Systems Research.

[44]  F. Torrent-Fontbona,et al.  Self-organising energy demand allocation through canons of distributive justice in a microgrid , 2016, Eng. Appl. Artif. Intell..

[45]  T. Olszowski Changes in PM10 concentration due to large-scale rainfall , 2016, Arabian Journal of Geosciences.

[46]  Jacob Beal,et al.  Infrastructure for engineered emergence on sensor/actuator networks , 2006, IEEE Intelligent Systems.

[47]  Jesper Andersson,et al.  On interacting control loops in self-adaptive systems , 2011, SEAMS '11.

[48]  Mirko Viroli,et al.  From distributed coordination to field calculus and aggregate computing , 2019, J. Log. Algebraic Methods Program..

[49]  Jacob Beal,et al.  Protelis: practical aggregate programming , 2015, SAC.

[50]  Thomas Vogel,et al.  Model-Driven Engineering of Self-Adaptive Software with EUREMA , 2014, ACM Trans. Auton. Adapt. Syst..

[51]  Jesper Andersson,et al.  FORMS: Unifying reference model for formal specification of distributed self-adaptive systems , 2012, TAAS.

[52]  Danny Weyns,et al.  HeyCitI: Healthy Cycling in a City using Self-Adaptive Internet-of-Things , 2020, 2020 IEEE International Conference on Autonomic Computing and Self-Organizing Systems Companion (ACSOS-C).

[53]  H. Van Dyke Parunak,et al.  Software engineering for self-organizing systems , 2015, The Knowledge Engineering Review.

[54]  Nitin Naik,et al.  Choice of effective messaging protocols for IoT systems: MQTT, CoAP, AMQP and HTTP , 2017, 2017 IEEE International Systems Engineering Symposium (ISSE).

[55]  Mirko Viroli,et al.  Simulating large-scale aggregate MASs with alchemist and scala , 2016, 2016 Federated Conference on Computer Science and Information Systems (FedCSIS).