Reactivising classical b

  • Authors:
  • Steve Dunne;Frank Zeyda

  • Affiliations:
  • School of Computing, University of Teesside, Middlesbrough, UK;Department of Computer Science, University of York, York, UK

  • Venue:
  • ABZ'10 Proceedings of the Second international conference on Abstract State Machines, Alloy, B and Z
  • Year:
  • 2010

Quantified Score

Hi-index 0.00

Visualization

Abstract

We propose what is essentially a recasting of Circus, the Z-and-CSP-based concurrent language for refinement, into a B context by means of a modest extension of classical B which introduces a new structural component called a reactive-B process. This specifies the channels via which the process can communicate with its environment, and actions by which its behaviour is specified. Such actions are expressed in a new action notation in the same syntactic spirit as B’s Abstract Machine Notation, but with a similar Unifying Theories of Programming relational semantics to that of the actions of Circus. Crucially, by including ordinary abstract machines these reactive-B processes can also acquire persistent state, which their actions can manipulate by invoking the operations of those included machines.