4 research outputs found
Engineering Resilient Collective Adaptive Systems by Self-Stabilisation
Collective adaptive systems are an emerging class of networked computational
systems, particularly suited in application domains such as smart cities,
complex sensor networks, and the Internet of Things. These systems tend to
feature large scale, heterogeneity of communication model (including
opportunistic peer-to-peer wireless interaction), and require inherent
self-adaptiveness properties to address unforeseen changes in operating
conditions. In this context, it is extremely difficult (if not seemingly
intractable) to engineer reusable pieces of distributed behaviour so as to make
them provably correct and smoothly composable.
Building on the field calculus, a computational model (and associated
toolchain) capturing the notion of aggregate network-level computation, we
address this problem with an engineering methodology coupling formal theory and
computer simulation. On the one hand, functional properties are addressed by
identifying the largest-to-date field calculus fragment generating
self-stabilising behaviour, guaranteed to eventually attain a correct and
stable final state despite any transient perturbation in state or topology, and
including highly reusable building blocks for information spreading,
aggregation, and time evolution. On the other hand, dynamical properties are
addressed by simulation, empirically evaluating the different performances that
can be obtained by switching between implementations of building blocks with
provably equivalent functional properties. Overall, our methodology sheds light
on how to identify core building blocks of collective behaviour, and how to
select implementations that improve system performance while leaving overall
system function and resiliency properties unchanged.Comment: To appear on ACM Transactions on Modeling and Computer Simulatio
Type-based Self-stabilisation for Computational Fields
Emerging network scenarios require the development of solid large-scale
situated systems. Unfortunately, the diffusion/aggregation computational
processes therein often introduce a source of complexity that hampers
predictability of the overall system behaviour. Computational fields have been
introduced to help engineering such systems: they are spatially distributed
data structures designed to adapt their shape to the topology of the underlying
(mobile) network and to the events occurring in it, with notable applications
to pervasive computing, sensor networks, and mobile robots. To assure
behavioural correctness, namely, correspondence of micro-level specification
(single device behaviour) with macro-level behaviour (resulting global spatial
pattern), we investigate the issue of self-stabilisation for computational
fields. We present a tiny, expressive, and type-sound calculus of computational
fields, and define sufficient conditions for self-stabilisation, defined as the
ability to react to changes in the environment finding a new stable state in
finite time. A type-based approach is used to provide a correct checking
procedure for self-stabilisation.Comment: Logical Methods in Computer Science accepted paper, 53 page