Lambdas at the Far Edge: a Tale of Flying Lambdas and Lambdas on Wheels
Authors: Giorgio Audrito, Daniele Bortoluzzi, Ferruccio Damiani, Giordano Scarso, Gianluca Torta, Andrea Basso, Monica Cochi, Lorenzo Gusman, Lorenzo Comba, Paolo Gay, Paola Dal Zovo, Giada Galati, Francesco Gallo, Aljaž Grdadolnik, Massimo Pescarollo, Paola Pisano
Organizations: Department of Computer Science · Department of Computer Science (DI), University of Turin, Turin, Italy · MITO Technology, Milan, Italy · Torino Airport · Torino Airport, Caselle Torinese (TO), Italy · Department of Agricultural, Forest and Food Sciences · Department of Agricultural, Forest and Food Sciences (DiSAFA), University of Turin, Turin, Italy · Concept Engineering Reply, Turin, Italy · Concept Engineering, Reply, Turin, Italy · Eurix, Turin, Italy · Faculty of Computer and Information Science University of Ljubljana, Ljubljana, Slovenia · Faculty of Computer and Information Science, University of Ljubljana, Ljubljana, Slovenia · Department of Economics and Statistics Cognetti de Martiis, University of Turin, Turin, Italy · Department of Economics and Statistics “Cognetti de Martiis”, University of Turin, Turin, Italy · Department of Economics and Statistics, Cognetti de Martiis, University of Turin, Turin, Italy
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.
Figures & tables
Figure 6: XC: representation of a system execution (taken from [ 8 ] ).
Figure 7: XC alignment mechanism for Example 2.5 .
Figure 8: XC alignment mechanism with conditionals for Example 2.7 .
Figure 10: Left: An augmented event structure E=⟨E,⇝,d,s⟩ where E={ϵ00,...,ϵ40,ϵ01,...,ϵ51,ϵ02,...,ϵ42,ϵ03,...,ϵ33,ϵ04,...,ϵ54} consists of 24 events such that d(ϵji)=δi ; it depicts events (circle nodes), messaging relations (curly arrows), devices δ0,...,δ4 (y-axis) and each circle node is labelled with the depicted event of E . Colours denote the causal relation w.r.t. the reference event ϵ12 (doubly-circled, blue), partitioning events into causal past (red), causal future (green) and concurrent (non-ordered, in black). Right: A (possible) evolving network topology on devices which can give rise to E (assuming some selected messages to be dropped).
Figure 11: The Jackal (left) and Create3 (right) Robots equipped for RoboNG.
Figure 12: Frame processed by the RoboAPP CV pipeline.
Figure 13: A UGV (yellow) and a swarm of three drones (red) in a vineyard (from [ 46 ] .
State Key Laboratory of Novel Software Technology, Nanjing University, Nanjing, Jiangsu, China · Software Institute, Nanjing University, Nanjing, Jiangsu, China