Publications » AggregateComputingSASO2015

Efficient Engineering of Complex Self-Organising Systems by Self-Stabilising Fields

Mirko Viroli, Jacob Beal, Ferruccio Damiani, Danilo Pianini
Self-organising systems are notoriously difficult to engineer, particularly due to the interactions between complex specifications and the simultaneous need for efficiency and for resilience to faults and changes in execution conditions. % We address this problem with an engineering methodology that separates these three aspects, allowing each to be engineered independently. % Beginning with field calculus, we identify the largest known sub-language of self-stabilising programs, guaranteed to eventually attain correct behaviour despite any perturbation in state or topology. % Construction of complex systems is then facilitated by identifying ``building block'' operators expressed in this language, into which many complex specifications can be readily factored, thereby attaining resilience but possibly with improvable efficiency. % Efficient implementation may then be achieved by substituting high-performance coordination mechanisms that are asymptotically equivalent to particular applications of building block operators. % We illustrate this workflow by construction and simulation of example applications for evacuation alerts and for live estimation of crowd feedback at mass events.
Keywords: Aggregate computing, computational fields, self-stabilisation
Proceedings of the IEEE Conference on Self-Adaptive and Self-Organising Systems 2015 (SASO 2015), 2015
@article{VBDP-SASO2015,
	booktitle = {Proceedings of the IEEE Conference on Self-Adaptive and Self-Organising Systems 2015 (SASO 2015)},
	year = 2015,
	keywords = {Aggregate computing, computational fields, self-stabilisation},
	pdf-local = {PID3814329.pdf},
	status = {In press},
	venue_list = {--},
	venue_s = {SASO2015},
	author = {Viroli, Mirko and Beal, Jacob and Damiani, Ferruccio and Pianini, Danilo},
	title = {Efficient Engineering of Complex Self-Organising Systems by Self-Stabilising Fields},
	abstract = {Self-organising systems are notoriously difficult to engineer,
  particularly due to the interactions between complex specifications
  and the simultaneous need for efficiency and for resilience to
  faults and changes in execution conditions.
  %
  We address this problem with an engineering methodology that
  separates these three aspects, allowing each to be engineered
  independently.
  %
  Beginning with field calculus, we identify the largest known
  sub-language of self-stabilising programs, guaranteed to eventually
  attain correct behaviour despite any perturbation in state or
  topology.
  %
  Construction of complex systems is then facilitated by identifying
  ``building block'' operators expressed in this language, into which
  many complex specifications can be readily factored, thereby
  attaining resilience but possibly with improvable efficiency.
  %
  Efficient implementation may then be achieved by substituting
  high-performance coordination mechanisms that are asymptotically
  equivalent to particular applications of building block operators.
  %
  We illustrate this workflow by construction and simulation of example
  applications for evacuation alerts and for live estimation of crowd
  feedback at mass events.}}