Smart cities, together with the Internet of Things (IoT), are becoming reality at an accelerated speed, supported by the fifth generation of mobile technology (5G) and other advances in technology. The supporting networked computational systems include sensors, wearables, medical devices, vehicles, and other devices far beyond laptops and mobile phones. These systems, which link the physical, social, and economic infrastructures in a smart city, are very large scale, highly distributive, dynamic, and heterogeneous. It is certainly a great challenge to engineer such resilient collective adaptive systems.
To tackle the challenge, this work presents a self-stabilization engineering approach coupling formal theory and computer simulation. The authors propose a workflow based on computational field calculus, which is a tiny functional language to express, encapsulate, and safely compose distributed computation. With the language, the authors further present three main building blocks (G, C, and T) for constructing such systems. A key resilience property in a dynamic environment is self-stabilization, that is, the ability to recover from arbitrary changes in state. Pursuing the goal of using the largest-to-date fragment with guaranteed self-stabilizing behavior as building blocks, the authors suggest practical ways to identify such fragments in field calculus to achieve resilience of functional properties. By using such fragments as “building blocks for information spreading, aggregation, and time evolution,” it is expected to “attain a correct and stable final state despite any transient perturbation in state or topology.” Beyond the theoretical perspective, this work also presents two application examples through simulation in which alternative building blocks are selected via empirical performance evaluation.
This work addresses the challenging issue of modeling and engineering resilient systems in a very-large-scale, highly complex, dynamic, heterogeneous environment, such as in a smart city. The theoretic and simulated approaches should be a very good reference for readers working on modeling and simulating similar complex systems.