Computation Against a Neighbour

12/15/2020
by   Giorgio Audrito, et al.
0

Recent works in contexts like the Internet of Things (IoT) and large-scale Cyber-Physical Systems (CPS) propose the idea of programming distributed systems by focussing on their global behaviour across space and time. In this view, a potentially vast and heterogeneous set of devices is considered as an "aggregate" to be programmed as a whole, while abstracting away the details of individual behaviour and exchange of messages, which are expressed declaratively. One such a paradigm, known as aggregate programming, builds on computational models inspired by field-based coordination. Existing models such as the field calculus capture interaction with neighbours by a so-called "neighbouring field" (a map from neighbours to values). This requires ad-hoc mechanisms to smoothly compose with standard values, thus complicating programming and introducing clutter in aggregate programs, libraries and domain-specific languages (DSLs). To address this key issue we introduce the novel notion of "computation against a neighbour", whereby the evaluation of certain subexpressions of the aggregate program are affected by recent corresponding evaluations in neighbours. We capture this notion in the neighbours calculus (NC), a new field calculus variant which is shown to smoothly support declarative specification of interaction with neighbours, and correspondingly facilitate the embedding of field computations as internal DSLs in common general-purpose programming languages – as exemplified by a Scala implementation, called ScaFi. This paper formalises NC, thoroughly compares it with respect to the classic field calculus, and shows its expressiveness by means of a case study in edge computing, developed in ScaFi.

READ FULL TEXT
research
12/26/2020

Time-Fluid Field-Based Coordination through Programmable Distributed Schedulers

Emerging application scenarios, such as cyber-physical systems (CPSs), t...
research
02/06/2018

Aggregate Graph Statistics

Collecting statistic from graph-based data is an increasingly studied to...
research
10/07/2019

Field-based Coordination with the Share Operator

Field-based coordination has been proposed as a model for coordinating c...
research
04/01/2022

Aggregate Processes as Distributed Adaptive Services for the Industrial Internet of Things

The Industrial Internet of Things (IIoT) promises to bring many benefits...
research
08/27/2019

On Distributed Runtime Verification by Aggregate Computing

Runtime verification is a computing analysis paradigm based on observing...
research
12/08/2022

Writing Internet of Things Applicatations with Task-Oriented Programming

The Internet of Things (IoT) is growing fast. In 2018, there was approxi...
research
06/13/2020

Pure Pattern Calculus à la de Bruijn

It is well-known in the field of programming languages that dealing with...

Please sign up or login with your details

Forgot password? Click here to reset