Antonio Cerone, Marco Roveri (eds.)
Software Engineering and Formal Methods, chapter 34, pages 507–522
Lecture Notes in Computer Science 10729(10729)
Springer International Publishing
2018
Recent trends such as the Internet of Things and pervasive computing demand for novel engineering approaches able to support the specification and scalable runtime execution of adaptive behaviour of large collections of interacting devices. Aggregate computing is one such approach, formally founded in the field calculus, which enables programming of device aggregates by a global stance, through a functional composition of self-organisation patterns that is turned automatically into repetitive local computations and gossip-like interactions. However, the logically decentralised and open nature of such algorithms and systems presumes a fundamental cooperation of the devices involved: an error in a device or a focused attack may significantly compromise the computation outcome and hence the algorithms built on top of it. We propose trust as a framework to detect, ponder or isolate voluntary/involuntary misbehaviours, with the goal of mitigating the influence on the overall computation. To better understand the fragility of aggregate systems in face of attacks and investigate possible countermeasures, in this paper we consider the paradigmatic case of the gradient algorithm, analysing the impact of offences and the mitigation afforded by the adoption of trust mechanisms.