ABZ 2016: Abstract State Machines, Alloy, B, TLA, VDM, and Z pp 409-424 | Cite as
Modelling the Haemodialysis Machine with Circus
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 SpecificationNotes
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.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)MathSciNetCrossRefMATHGoogle 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)CrossRefGoogle 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)MATHGoogle 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)MATHGoogle 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)CrossRefMATHGoogle 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)CrossRefGoogle 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)CrossRefGoogle 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)MATHGoogle Scholar