Abstract

Emerging application scenarios, such as cyber-physical systems (CPSs), the Internet of Things (IoT), and edge computing, call for coordination approaches addressing openness, self-adaptation, heterogeneity, and deployment agnosticism. Field-based coordination is one such approach, promoting the idea of programming system coordination declaratively from a global perspective, in terms of functional manipulation and evolution in "space and time" of distributed data structures called fields. More specifically regarding time, in field-based coordination (as in many other distributed approaches to coordination) it is assumed that local activities in each device are regulated by a fair and unsynchronised fixed clock working at the platform level. In this work, we challenge this assumption, and propose an alternative approach where scheduling is programmed in a natural way (along with usual field-based coordination) in terms of causality fields, each enacting a programmable distributed notion of a computation "cause" (why and when a field computation has to be locally computed) and how it should change across time and space. Starting from low-level platform triggers, such causality fields can be organised into multiple layers, up to high-level, collectively-computed time abstractions, to be used at the application level. This reinterpretation of time in terms of articulated causality relations allows us to express what we call "time-fluid" coordination, where scheduling can be finely tuned so as to select the triggers to react to, generally allowing to adaptively balance performance (system reactivity) and cost (resource usage) of computations. We formalise the proposed scheduling framework for field-based coordination in the context of the field calculus, discuss an implementation in the aggregate computing framework, and finally evaluate the approach via simulation on several case studies.

Highlights

  • Emerging application scenarios, such as cyber-physical systems (CPSs), the Internet of Things (IoT), and edge computing, call for software design approaches addressing openness, self-adaptation, heterogeneity, and deployment agnosticism [dLGG+13]

  • We challenge this assumption, and propose an alternative approach where scheduling is programmed in a natural way in terms of causality fields, each enacting a programmable distributed notion of a computational “cause” and how it should change across time and space

  • First, we propose a model that enriches field-based coordination approaches with the possibility to explicitly program the scheduling of coordination actions, by enabling a functional description of causality, relying on a tree-based composition to express high-level notions of time;

Read more

Summary

Introduction

Emerging application scenarios, such as cyber-physical systems (CPSs), the Internet of Things (IoT), and edge computing, call for software design approaches addressing openness, self-adaptation, heterogeneity, and deployment agnosticism [dLGG+13]. Field-based coordination approaches considered computation rounds as being regulated by local clocks, typically asynchronous with respect to clocks in other devices, and independent from the actual outcomes of computations: altogether, they may be seen as resulting from a fixed fair distributed scheduler working at the platform level. This assumption holds for many other distributed approaches to coordination (e.g. channel-based [Arb04], tuple-based [CROM19, OZ98], attribute-based [ADNL+15]), but it has a number of consequences and limitations, both philosophical and pragmatic. Our proposal starts from similar problems, but is conceived for distributed field-based aggregation, and accounts for the strict relations between the spatial and temporal dimensions that exist in situated computations

Methods
Results
Conclusion
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call