Aggregate Programming (AP) is a paradigm for programming the collective behaviour of sets of distributed devices, possibly situated at the network far edge, by relying on asynchronous proximity-based interactions. The eXchange Calculus (XC), a recently proposed foundational model for AP, is essentially a typed lambda calculus extended with an operator (the exchange operator) providing an implicit communication mechanism between neighbour devices. This paper provides a gentle introduction to XC and to its implementation as a C++ library, called FCPP. The FCPP library and toolchain has been mainly developed at the Department of Computer Science of the University of Turin, where Stefano Berardi spent most of his academic career conducting outstanding research about logical foundation of computer science and transmitting his passion for research to students and young researchers, often exploiting typed lambda calculi. An FCCP program is essentially a typed lambda term, and FCPP has been used to write code that has been deployed on devices at the far edge of the network, including rovers and (soon) Uncrewed Aerial Vehicles (UAVs); hence the title of the paper.
翻译:聚合编程(AP)是一种通过依赖异步近邻交互来编程分布式设备集合集体行为的范式,这些设备可能位于网络远边缘。交换演算(XC)是最近提出的AP基础模型,本质上是一种通过扩展交换运算符来提供相邻设备间隐式通信机制的带类型Lambda演算。本文对XC及其C++库实现FCPP进行了通俗介绍。FCPP库及工具链主要开发于都灵大学计算机科学系——Stefano Berardi在此度过了其大部分学术生涯,从事计算机科学逻辑基础的杰出研究,并常借助带类型Lambda演算向学生和青年研究者传递研究热情。FCPP程序本质上是带类型Lambda项,该库已用于编写部署在网络远边缘设备(包括探测车及即将部署的无人飞行器)的代码,故得此论文标题。