Skip to main content

Modelling the Haemodialysis Machine with Circus

  • Conference paper
  • First Online:
Abstract State Machines, Alloy, B, TLA, VDM, and Z (ABZ 2016)

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

Abstract

We present a formal model of aspects of the haemodialysis machine case study using the Circus specification notation. We focus on building a model in which each of the software requirements (R-1–36) are represented by a Circus action. All of these act in concert with actions that model the collection of sensor data and the progress through the various therapy phases and activities. We then present how we model check the system using FDR.

This work was funded by CNPq (Brazilian National Council for Scientific and Technological Development) within the Science without Borders programme, Grant No. 201857/2014-6, and partially funded by Science Foundation Ireland grant 13/RC/2094.

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 EPUB and 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

Notes

  1. 1.

    More details and publications about Circus can be found at https://www.cs.york.ac.uk/circus/.

  2. 2.

    Particularly, because it should be the phase that lasts longest!.

References

  1. Community Z Tools Project: CZT: Community Z Tools, September 2015. http://czt.sourceforge.net/manual.html, checked 14 Mar 2016

  2. Dijkstra, E.W.: Guarded commands, nondeterminacy and formal derivation of programs. Commun. ACM 18, 453–457 (1975)

    Article  MathSciNet  MATH  Google Scholar 

  3. Gibson-Robinson, T., Armstrong, P., Boulgakov, A., Roscoe, A.W.: FDR3 — a modern refinement checker for CSP. In: Ábrahám, E., Havelund, K. (eds.) TACAS 2014. LNCS, vol. 8413, pp. 187–201. Springer, Heidelberg (2014)

    Chapter  Google Scholar 

  4. Gomes, A.O., Butterfield, A.: HD-Machine Case Study Repository (2016). https://bitbucket.org/artur1109/hdmachine/

  5. He, J., Hoare, C.A.R.: Unifying theories of programming. In: Orlowska, E., Szalas, A. (eds.) RelMiCS, pp. 97–99 (1998)

    Google Scholar 

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

    MATH  Google Scholar 

  7. Mashkoor, A.: The Haemodialysis Machine Case Study. Software Competence Center Hagenberg GmbH (SCCH) (2015). http://www.cdcc.faw.jku.at/ABZ2016/HD-CaseStudy.pdf

  8. Morgan, C.C.: Programming From Specifications. Prentice Hall International Series in Computer Science, 2nd edn. Prentice Hall, Upper Saddle River (1994)

    MATH  Google Scholar 

  9. Oliveira, M.V.M.: Formal Derivation of State-Rich Reactive Programs using Circus. Ph.D. thesis, Department of Computer Science - University of York, UK (2005)

    Google Scholar 

  10. Oliveira, M., Cavalcanti, A., Woodcock, J.: A UTP semantics for Circus. Formal Asp. Comput. 21(1–2), 3–32 (2009)

    Article  MATH  Google Scholar 

  11. Roscoe, A.W., Gardiner, P.H.B., Goldsmith, M.H., Hulance, J.R., Jackson, D.M., Scattergood, J.B.: Hierarchical compression for model-checking CSP or how to check 1020 dining philosophers for deadlock. In: Brinksma, E., Steffen, B., Cleaveland, W.R., Larsen, K.G., Margaria, T. (eds.) TACAS 1995. LNCS, vol. 1019, pp. 133–152. Springer, Heidelberg (1995)

    Chapter  Google Scholar 

  12. Woodcock, J., Cavalcanti, A.: The semantics of Circus. In: Bert, D., Bowen, J.P., C. Henson, M., Robinson, K. (eds.) ZB 2002. LNCS, vol. 2272, pp. 184–203. Springer, Heidelberg (2002)

    Chapter  Google Scholar 

  13. Woodcock, J., Davies, J.: Using Z, Specification, Refinement, and Proof. Prentice Hall International Series in Computer Science. Prentice Hall, Upper Saddle River (1996)

    MATH  Google Scholar 

Download references

Acknowledgments

We would like to thank Thomas Gibson-Robinson for his help in assisting us in achieving the state-space reduction we needed, and the anonymous reviewers for their perceptive comments and pointed questions, which have help to improve this paper. Finally we re-iterate our thanks to our sponsors, CNPq of Brazil, and Science Foundation Ireland.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Artur O. Gomes .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2016 Springer International Publishing Switzerland

About this paper

Cite this paper

Gomes, A.O., Butterfield, A. (2016). Modelling the Haemodialysis Machine with Circus . In: Butler, M., Schewe, KD., Mashkoor, A., Biro, M. (eds) Abstract State Machines, Alloy, B, TLA, VDM, and Z. ABZ 2016. Lecture Notes in Computer Science(), vol 9675. Springer, Cham. https://doi.org/10.1007/978-3-319-33600-8_34

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-33600-8_34

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-33599-5

  • Online ISBN: 978-3-319-33600-8

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics