Macroprogramming: Concepts, State of the Art, and Opportunities of Macroscopic Behaviour Modelling
Roberto Casadei
TL;DR
An integrated view of the field is provided, together with opportunities and challenges, to foster principled research and ensure conceptual consistency in macroprogramming.
Abstract
Macroprogramming refers to the theory and practice of conveniently expressing the macro(scopic) behaviour of a system using a single program. Macroprogramming approaches are motivated by the need of effectively capturing global/system-level aspects and the collective behaviour of a set of interacting components, while abstracting over low-level details. In the past, this style of programming has been primarily adopted to describe the data-processing logic in wireless sensor networks; recently, research forums on spatial computing, collective adaptive systems, and Internet-of-Things have provided renewed interest in macro-approaches. However, related contributions are still fragmented and lacking conceptual consistency. Therefore, to foster principled research, an integrated view of the field is provided, together with opportunities and challenges.
