LEADER 07371nam 22004573 450 001 9910874690103321 005 20240716084508.0 010 $a9783031621468$b(electronic bk.) 010 $z9783031621451 035 $a(MiAaPQ)EBC31526845 035 $a(Au-PeEL)EBL31526845 035 $a(CKB)32825522000041 035 $a(EXLCZ)9932825522000041 100 $a20240716d2024 uy 0 101 0 $aeng 135 $aurcnu|||||||| 181 $ctxt$2rdacontent 182 $cc$2rdamedia 183 $acr$2rdacarrier 200 10$aFluidware $eNovel Approaches for Large-Scale IoT Systems 205 $a1st ed. 210 1$aCham :$cSpringer International Publishing AG,$d2024. 210 4$dİ2024. 215 $a1 online resource (0 pages) 225 1 $aInternet of Things Series 311 08$aPrint version: Zambonelli, Franco Fluidware Cham : Springer International Publishing AG,c2024 9783031621451 327 $aIntro -- Preface -- Acknowledgments -- Contents -- Contributors -- Part I Overview -- 1 Fluidware: An Approach Toward Adaptive and Scalable IoT Systems -- 1.1 Introduction -- 1.2 A Case Study Scenario -- 1.3 Challenges -- 1.4 The Fluidware Approach -- 1.4.1 Funnel Processes -- 1.4.2 Deployment Scenarios -- 1.4.3 Addressing the Challenges -- 1.5 The Path Toward Fluidware -- 1.5.1 Programming Model -- 1.5.2 Middleware -- 1.5.3 Engineering Methodology -- 1.5.4 Application Studies -- 1.6 Related Work -- 1.7 Conclusion -- References -- 2 Programming Approaches for Large-Scale IoT System Development: State of the Art -- 2.1 Introduction -- 2.2 Conceptual Framework and Review Method -- 2.3 Stream Processing -- 2.3.1 Related Surveys -- 2.3.2 Main Characteristics -- 2.3.3 Summary -- 2.4 Complex Event Processing -- 2.4.1 Related Surveys -- 2.4.2 Main Characteristics -- 2.4.3 Summary -- 2.5 Micro- and Macro-programming -- 2.5.1 Related Surveys -- 2.5.2 Main Characteristics of MMP -- 2.5.3 Summary -- 2.6 Conclusion and Future Work -- References -- Part II Fluidware Technologies -- 3 Middleware Architectures for Fluid Computing -- 3.1 Introduction -- 3.2 Motivations: From Fully Centralized to Fully Distributed ``Fluid'' Architectures -- 3.3 The Fluidware Architecture -- 3.4 The Fluidware Middleware -- 3.4.1 Toward the Fluidware Middleware Implementation -- 3.5 The Pulverization Approach to Distributed Application Partitioning and Deployment -- 3.5.1 From Monolith to Component-Based Software Systems -- 3.5.2 The Pulverization Approach -- 3.5.2.1 Target Infrastructure and Applications -- 3.5.3 Pulverization Middleware -- 3.5.4 Fluidware and Pulverization Middleware -- 3.6 Conclusion -- References -- 4 Towards an IoT-Oriented Software Engineering Methodology -- 4.1 Introduction -- 4.2 Background -- 4.2.1 Things -- 4.2.2 Software Infrastructures. 327 $a4.2.3 Services and Applications -- 4.3 Key Software Engineering Concepts and Abstractions -- 4.3.1 Stakeholders and Users -- 4.3.2 Functionalities -- 4.3.3 Avatars and Coalitions -- 4.4 Towards a Software Engineering Methodology -- 4.5 Related Work -- 4.6 Conclusions and Future Work -- References -- 5 A BPMN-Based Approach for IoT Systems Engineering -- 5.1 Introduction -- 5.2 Related Work -- 5.2.1 Model-Driven Engineering for IoT -- 5.2.2 Requirement Definition and Modeling -- 5.2.3 Enactment -- 5.2.4 Monitoring -- 5.3 Toward a BPM Solution for IoT Process Management -- 5.4 Requirements Definition Phase -- 5.5 Model Design and Refinement Phase -- 5.5.1 Designing the IoT Solution with BPMN -- 5.5.2 Model Refinement -- 5.6 Enactment Phase -- 5.7 Monitoring Phase -- 5.8 Discussion -- 5.9 Conclusion -- References -- 6 Space-Fluid and Time-Fluid Programming -- 6.1 Introduction -- 6.2 State of the Art -- 6.2.1 Time and Synchronisation in Pervasive Computing Systems -- 6.2.2 Space-Aware Computing and Adaptive Spatial Sampling -- 6.3 Fluidity in Time -- 6.3.1 A Time-Fluid Model -- 6.3.2 Causality Function and Temporal Dynamics -- 6.3.3 Implications -- 6.3.3.1 Programming Time and Propagating Causality -- 6.3.3.2 Adapting to Causality -- 6.3.3.3 Controlling Situatedness -- 6.3.3.4 Co-causal Field Computation -- 6.3.3.5 Pure Reactivity and Its Limitations -- 6.3.4 Time-Fluid Aggregate Computing -- 6.3.5 Device-Wise Configuration and Semantics -- 6.3.6 System-Wise Configuration and Semantics -- 6.3.7 Time-Fluid Scheduling in Protelis -- 6.3.8 Examples of Time-Fluid Guards -- 6.3.8.1 Timer-Based Scheduling -- 6.4 Fluidity in Space -- 6.4.1 Problem Definition -- 6.4.2 Aggregate Computing-Based Solution -- 6.4.3 AggregateSampler Algorithm for Adaptive Spatial Sampling -- 6.4.3.1 Competition and Leader Strength -- 6.4.3.2 Region Expansion and Path Sampling Error. 327 $a6.4.4 Aggregate Computing-Based Implementation -- 6.4.5 Formal Analysis -- 6.5 Conclusion -- References -- Part III Visions -- 7 Fluidware Meets Digital Twins -- 7.1 Introduction -- 7.2 Digital Twins Overview -- 7.2.1 Digital Twin Characteristics -- 7.2.2 Enabling Technologies -- 7.2.3 Digital Twin Application Scenarios -- 7.3 Fluidware for Digital Twins -- 7.3.1 Designing Digital Twin Solutions -- 7.3.2 Agentified Digital Twins -- 7.3.3 Collective and Augmented Digital Twins -- 7.3.4 Fluidware and Digital Twins -- 7.4 Discussion -- 7.4.1 Challenges -- 7.4.2 Advanced Digital Twin Concepts -- 7.5 Conclusion and Future Work -- References -- 8 Smart Collective Services in the Edge-Cloud Continuum Based on a Simulation-Driven Toolchain -- 8.1 Introduction -- 8.2 State of the Art -- 8.3 Methodology -- 8.3.1 High-Level View -- 8.3.2 Decomposing Funnels via Pulverization -- 8.3.3 Infrastructure Models -- 8.3.4 Deployment Generation -- 8.4 Toolchain -- 8.4.1 Deployment Description Tools -- 8.4.2 Integration on Existing Simulation Systems -- 8.5 Conclusion -- References -- 9 Envisioning Unpredictability in Smart Environments -- 9.1 Introduction -- 9.2 Motivating Scenario -- 9.3 BPMN Meets the IoT: the BRICKS Approach -- 9.4 Toward the Realization of the BRICKS Approach -- 9.4.1 Compositional Model -- 9.4.2 Causal Sense of Agency -- 9.4.3 Self-Integration -- 9.4.4 Overall Approach -- 9.4.4.1 Main Challenges -- 9.5 Related Work -- 9.6 Conclusion -- References -- 10 Learning Opportunities in Collective Adaptive Systems -- 10.1 Introduction -- 10.2 State of the Art in Machine Learning for Collective Adaptive Systems -- 10.3 Learning Along Funnel Processes -- 10.4 Learning Scheduling Policies to Optimize Middleware -- 10.5 Learning the Environment Dynamics -- 10.6 Learning Local Communication for Collective Goal Achievement. 327 $a10.7 Collective Learning and Fluidware -- 10.7.1 Funnel Processes That Learn -- 10.7.2 Learning to Wire Event Flows to Funnels -- 10.7.3 Learn Deployment Policies -- 10.8 Open Challenges -- 10.8.1 Multiagent Credit Assignment: How to Reward Agents for Their Contribution -- 10.8.2 Lightweight Learning: How to Learn with Limited Resources -- 10.8.3 Lightweight Inference: How to Infer with Limited Resources -- 10.9 Conclusion -- References -- Index. 410 0$aInternet of Things Series 700 $aZambonelli$b Franco$01358805 701 $aFortino$b Giancarlo$0858771 701 $aRe$b Barbara$01749580 701 $aViroli$b Mirko$01749581 801 0$bMiAaPQ 801 1$bMiAaPQ 801 2$bMiAaPQ 912 $a9910874690103321 996 $aFluidware$94183852 997 $aUNINA