Using Z in the Development and Maintenance of Computational Models of Real-World Systems
There are two main challenges in developing computational models of a real-world phenomena. One is the difficulty in ensuring clear communication between the scientists, who are the end-users of the model, and the model developers. This results from the difference in their backgrounds and terminologies. Another challenge for the developers is to ensure that the resultant software satisfies all the requirements accurately. Utilising a formal notation such as Z which is easy to learn, read, understand and remember can address these issues by (a) acting as a means to unambiguously communicate between scientists and simulation developers, and (b) providing a basis for systematically producing and maintaining simulation code that meets the specification. In this paper, we describe a translation scheme for producing code for the widely used agent-based simulation environment NetLogo from Z specifications. Additionally, we report on the use of the approach on a real project studying the movement of chyme, i.e. food undergoing digestion, through a pig’s intestine as a means of understanding the effect of dietary fibre on human health.
This project was jointly supported by the Queensland Alliance for Agriculture and Food Innovation (QAAFI) and Australian Research Council (ARC) Discovery Grant DP110101211.
- 2.Booch, G., Rumbaugh, J., Jacobson, I.: The Unified Modeling Language User Guide. Addison-Wesley, Reading (1999)Google Scholar
- 3.Bowen, J.P.: Formal Specification and Documentation Using Z: A Case Study Approach. International Thomson Computer Press, London (1996)Google Scholar
- 4.Derrick, J., Boiten, E.: Refinement in Z and Object-Z, Foundations and Advanced Applications, 2nd edn. Springer, London (2014)Google Scholar
- 5.Guyton, A.C., Hall, J.E.: Guyton and Hall Textbook of Medical Physiology, 12th edn. Saunders/Elsevier, Philadelphia (2011)Google Scholar
- 8.Singh, V.K., Gautam, D., Singh, R.R., Gupta, A.K.: Agent-based computational modeling of emergent collective intelligence. In: Nguyen, N.T., Kowalczyk, R., Chen, S.-M. (eds.) ICCCI 2009. LNCS, vol. 5796, pp. 240–251. Springer, Heidelberg (2009)Google Scholar
- 10.Spivey, J.M.: The Z Notation: A Reference Manual. Prentice Hall, 2nd edition, (1992)Google Scholar
- 11.Tisue, S., Wilensky, U.: Netlogo: a simple environment for modeling complexity. In: International Conference on Complex Systems, pp. 16–21 (2004)Google Scholar
- 12.Wilensky, U.: NetLogo User Manual. Center for Connected Learning and Computer-Based Modeling, Northwestern University, Evanston, IL, 5.0.5 edition (2013)Google Scholar
- 13.Woodcock, J.C.P., Davies, J.: Using Z: Specification, Refinement, and Proof. Prentice Hall, New York (1994)Google Scholar