Modelling the Haemodialysis Machine with Circus

Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, 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.

Keywords

State Component Sensor Reading Software Requirement Circus Process Circus Specification 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Notes

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.

References

  1. 1.
    Community Z Tools Project: CZT: Community Z Tools, September 2015. http://czt.sourceforge.net/manual.html, checked 14 Mar 2016
  2. 2.
    Dijkstra, E.W.: Guarded commands, nondeterminacy and formal derivation of programs. Commun. ACM 18, 453–457 (1975)MathSciNetCrossRefMATHGoogle Scholar
  3. 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)CrossRefGoogle Scholar
  4. 4.
    Gomes, A.O., Butterfield, A.: HD-Machine Case Study Repository (2016). https://bitbucket.org/artur1109/hdmachine/
  5. 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. 6.
    Hoare, C.A.R.: Communicating Sequential Processes. Computer Science. Prentice-Hall International, Englewood Cliffs (1985)MATHGoogle Scholar
  7. 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. 8.
    Morgan, C.C.: Programming From Specifications. Prentice Hall International Series in Computer Science, 2nd edn. Prentice Hall, Upper Saddle River (1994)MATHGoogle Scholar
  9. 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. 10.
    Oliveira, M., Cavalcanti, A., Woodcock, J.: A UTP semantics for Circus. Formal Asp. Comput. 21(1–2), 3–32 (2009)CrossRefMATHGoogle Scholar
  11. 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)CrossRefGoogle Scholar
  12. 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)CrossRefGoogle Scholar
  13. 13.
    Woodcock, J., Davies, J.: Using Z, Specification, Refinement, and Proof. Prentice Hall International Series in Computer Science. Prentice Hall, Upper Saddle River (1996)MATHGoogle Scholar

Copyright information

© Springer International Publishing Switzerland 2016

Authors and Affiliations

  1. 1.School of Computer Science and Statistics, Lero, The Irish Software Research CentreTrinity College DublinDublinIreland

Personalised recommendations