Abstract
We outline a theory of communicating “Abstract State Machines”. The state of an Abstract State Machine has two components: a behavioural state and a data state. The behavioural states are shown on a state diagram, whose transitions are labelled with an “event” and a B operation. The firing of a transition is synonymous with the occurrence of its associated event. We use a synchronous model of communication based on shared events which simultaneously change the state of each participating machine. The B operation associated with a transition generally has the form G ⟹ S, where a necessary condition for the transition to fire is that G is true, and where S describes any resulting changes in the data state of the Abstract Machine. The paper includes simple examples, the translation of Abstract State Machines to B Action Systems, the translation of Abstract State Machines into “primitive” Abstract State Machines which have only behavioural state, the parallel combination of high level Abstract State Machines, and short notes on choice and refinement.
This is a preview of subscription content, log in via an institution.
Preview
Unable to display preview. Download preview PDF.
References
J R Abrial. Extending B without Changing it (for Developing Distributed Systems). In H Habrias, editor, The First B Conference, ISBN: 2-906082-25-2, 1996.
Jean-Raymond Abrial. The B Book. Cambridge University Press, 1996.
M Butler and M Waldén. Distributed System Development in B. In H Habrias, editor, The First B Conference, ISBN: 2-906082-25-2, 1996.
M J Butler. An approach to the design of distributed systems with B AMN. In J P Bowen, M J Hinchey, and Till D, editors, ZUM '97: The Z Formal Specification Notation, number 1212 in Lecture Notes in Computer Science, 1997.
A J Galloway and Stoddart W J. An Operational Semantics for ZCCS. In M J Hinchey, editor, Proc of ICEEM, 1997.
K Lano. Specifying Reactive Systems in B AMN. In J P Bowen, M J Hinchey, and Till D, editors, ZUM '97: The Z Formal Specification Notation, number 1212 in Lecture Notes in Computer Science, 1997.
Greg Nelson. A Generalization of Dijkstra's Calculus. ACM Transactions on Programming Languages and Systems, Vol 11, No. 4, 1989.
W J Stoddart. The Event Calculus, vsn 2. Technical Report tees-scm-1-96, University of Teesside, UK, 1996.
W J Stoddart. An Introduction to the Event Calculus. In J P Bowen, M J Hinchey, and Till D, editors, ZUM '97: The Z Formal Specification Notation, number 1212 in Lecture Notes in Computer Science, 1997.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1998 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Stoddart, B., Dunne, S., Galloway, A., Shore, R. (1998). Abstract state machines: Designing distributed systems with state machines and B. In: Bert, D. (eds) B’98: Recent Advances in the Development and Use of the B Method. B 1998. Lecture Notes in Computer Science, vol 1393. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0053364
Download citation
DOI: https://doi.org/10.1007/BFb0053364
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-64405-7
Online ISBN: 978-3-540-69769-5
eBook Packages: Springer Book Archive