Skip to main content

Reactivising Classical B

  • Conference paper
Abstract State Machines, Alloy, B and Z (ABZ 2010)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 5977))

Included in the following conference series:

  • 659 Accesses

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Abrial, J.-R.: The B-Book: Assigning Programs to Meanings. Cambridge University Press, Cambridge (1996)

    MATH  Google Scholar 

  2. Bert, D., Bowen, J.P., Henson, M.C., Robinson, K. (eds.): ZB 2002. LNCS, vol. 2272. Springer, Heidelberg (2002)

    MATH  Google Scholar 

  3. Butler, M.J.: csp2B: A practical approach to combining CSP and B. Formal Asp. Comput. 12(3), 182–198 (2000)

    Article  MATH  Google Scholar 

  4. Cavalcanti, A., Sampaio, A., Woodcock, J.: A refinement strategy for Circus. Form. Asp. Comput. 15(2-3), 146–181 (2003)

    Article  MATH  Google Scholar 

  5. Dunne, S.E.: A theory of generalised substitutions. In: Bert, et al. (eds.) [2], pp. 270–290

    Google Scholar 

  6. Hoare, C.A.R.: Communicating Sequential Processes. Prentice-Hall, Englewood Cliffs (1985)

    MATH  Google Scholar 

  7. Hoare, C.A.R., Jifeng, H.: Unifying Theories of Programming. Prentice Hall, Englewood Cliffs (1998)

    Google Scholar 

  8. Metayer, C., Abrial, J.-R., Voisin, L.: Event-B Language. Technical Report 3.2, Rodin Project (2005), http://rodin.cs.ncl.ac.uk

  9. Oliveira, M.: Formal Derivation of State-rich Reactive Programs using Circus. PhD thesis, Department of Computer Science, University of York (2005); YCST-2006/02

    Google Scholar 

  10. Oliveira, M., Cavalcanti, A., Woodcock, J.C.P.: A denotational semantics for Circus. Electron. Notes Theor. Comput. Sci. 187, 107–123 (2007)

    Article  Google Scholar 

  11. Oliveira, M., Cavalcanti, A., Woodcock, J.C.P.: A UTP semantics for Circus. Form. Asp. Comput. 21(1-2), 3–32 (2009)

    Article  MATH  Google Scholar 

  12. Roscoe, A.W.: The Theory and Practice of Concurrency. Prentice Hall, Englewood Cliffs (1998)

    Google Scholar 

  13. Schneider, S.A.: Concurrent and Real-time Systems: The CSP Approach. Wiley, Chichester (2000)

    Google Scholar 

  14. Schneider, S.A., Treharne, H.E.: Communicating B machines. In: Bert, et al. (eds.) [2], pp. 416–435

    Google Scholar 

  15. Schneider, S.A., Treharne, H.E.: CSP theorems for communicating B machines. Formal Asp. Comput. 17(4), 390–422 (2005)

    Article  MATH  Google Scholar 

  16. Schneider, S.A., Treharne, H.E., Evans, N.: Chunks: Component verification in CSP||B. In: Romijn, J.M.T., Smith, G.P., van de Pol, J. (eds.) IFM 2005. LNCS, vol. 3771, pp. 89–108. Springer, Heidelberg (2005)

    Chapter  Google Scholar 

  17. Spivey, J.M.: The Z Notation: a Reference Manual, 2nd edn. Prentice Hall, Englewood Cliffs (1992)

    Google Scholar 

  18. Tarski, A.: A lattice-theoretical fixpoint theorem and its applications. Pacific Journal of Mathematics 5(2), 285–309 (1955)

    MATH  MathSciNet  Google Scholar 

  19. Treharne, H.E., Schneider, S.A.: How to drive a B machine. In: Bowen, J.P., Dunne, S., Galloway, A., King, S. (eds.) ZB 2000. LNCS, vol. 1878, pp. 188–208. Springer, Heidelberg (2000)

    Chapter  Google Scholar 

  20. Woodcock, J., Davies, J.: Using Z: Specification, Refinement and Proof. Prentice Hall, Englewood Cliffs (1996)

    MATH  Google Scholar 

  21. Woodcock, J.C.P., Cavalcanti, A.: A concurrent language for refinement. In: Butterfield, A., Strong, G., Pahl, C. (eds.) Proceedings of the 5th Irish Workshop in Formal Methods, IWFM 2001, Workshops in Computing, British Computer Society (2001), http://ewic.bcs.org/conferences/2001/5thformal/papers

  22. Woodcock, J.C.P., Cavalcanti, A.: The semantics of Circus. In: Bert, et al. (eds.) [2], pp. 184–203

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2010 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Dunne, S., Zeyda, F. (2010). Reactivising Classical B. In: Frappier, M., Glässer, U., Khurshid, S., Laleau, R., Reeves, S. (eds) Abstract State Machines, Alloy, B and Z. ABZ 2010. Lecture Notes in Computer Science, vol 5977. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-11811-1_23

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-11811-1_23

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-11810-4

  • Online ISBN: 978-3-642-11811-1

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics