Core Hybrid Event-B II: Multiple Cooperating Hybrid Event-B Machines

Richard Banach,Michael Butler,Shengchao Qin,Huibiao Zhu
DOI: https://doi.org/10.1016/j.scico.2016.12.003
IF: 1.039
2017-01-01
Science of Computer Programming
Abstract:Hybrid Event-B, initially introduced for single machines to add continuously varying behaviour to discrete change of state in Event-B, is extended to cater for multiple cooperating machines. Multiple machine working is mediated by INTERFACE and PROJECT constructs. The former encapsulates a set of variables, their invariants and initialisations, in a form that several machines can exploit simultaneously. The latter organises the set of cooperating machines and interfaces into a coherent system. Machine instantiation and composition via interfaces are discussed. Machine decomposition is explored in this framework. Multi-machine refinement is described. A hypergraph project architecture is proposed. Two small case studies, on power switching and on the European Train Control System (the latter treated earlier within the single machine formalism), illustrate these mechanisms. The semantics of interacting multi-machine systems is described, and proof obligations that ensure correctness are covered.
What problem does this paper attempt to address?