Skip to main content

Abstract state machines: Designing distributed systems with state machines and B

  • Conference paper
  • First Online:

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 1393))

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 GS, 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.

Unable to display preview. Download preview PDF.

References

  1. 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.

    Google Scholar 

  2. Jean-Raymond Abrial. The B Book. Cambridge University Press, 1996.

    Google Scholar 

  3. 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.

    Google Scholar 

  4. 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.

    Google Scholar 

  5. A J Galloway and Stoddart W J. An Operational Semantics for ZCCS. In M J Hinchey, editor, Proc of ICEEM, 1997.

    Google Scholar 

  6. 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.

    Google Scholar 

  7. Greg Nelson. A Generalization of Dijkstra's Calculus. ACM Transactions on Programming Languages and Systems, Vol 11, No. 4, 1989.

    Google Scholar 

  8. W J Stoddart. The Event Calculus, vsn 2. Technical Report tees-scm-1-96, University of Teesside, UK, 1996.

    Google Scholar 

  9. 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.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Didier Bert

Rights and permissions

Reprints 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

Publish with us

Policies and ethics