Abstract
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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
Notes
- 1.
\(\mathtt{color}\) is a property of all agents, and \(\mathtt{green}\) is a constant that may be assigned to \(\mathtt{color}\).
References
Abrial, J.-R.: The B-Book: Assigning Programs to Meanings. Cambridge University Press, Cambridge (1996)
Booch, G., Rumbaugh, J., Jacobson, I.: The Unified Modeling Language User Guide. Addison-Wesley, Reading (1999)
Bowen, J.P.: Formal Specification and Documentation Using Z: A Case Study Approach. International Thomson Computer Press, London (1996)
Derrick, J., Boiten, E.: Refinement in Z and Object-Z, Foundations and Advanced Applications, 2nd edn. Springer, London (2014)
Guyton, A.C., Hall, J.E.: Guyton and Hall Textbook of Medical Physiology, 12th edn. Saunders/Elsevier, Philadelphia (2011)
Mens, T., Van Gorp, P.: A taxonomy of model transformation. Electron. Notes Theor. Comput. Sci. 152, 125–142 (2006)
Owens, F.N., Hanson, C.F.: External and internal markers for appraising site and extent of digestion in ruminants. J. Dairy Sci. 75(9), 2605–2617 (1992)
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)
Smith, G.: The Object-Z Specification Language. Kluwer Academic Publishers, Dordrecht (2000)
Spivey, J.M.: The Z Notation: A Reference Manual. Prentice Hall, 2nd edition, (1992)
Tisue, S., Wilensky, U.: Netlogo: a simple environment for modeling complexity. In: International Conference on Complex Systems, pp. 16–21 (2004)
Wilensky, U.: NetLogo User Manual. Center for Connected Learning and Computer-Based Modeling, Northwestern University, Evanston, IL, 5.0.5 edition (2013)
Woodcock, J.C.P., Davies, J.: Using Z: Specification, Refinement, and Proof. Prentice Hall, New York (1994)
Acknowledgements
This project was jointly supported by the Queensland Alliance for Agriculture and Food Innovation (QAAFI) and Australian Research Council (ARC) Discovery Grant DP110101211.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2015 Springer International Publishing Switzerland
About this paper
Cite this paper
Moeiniyan Bagheri, S., Smith, G., Hanan, J. (2015). Using Z in the Development and Maintenance of Computational Models of Real-World Systems. In: Canal, C., Idani, A. (eds) Software Engineering and Formal Methods. SEFM 2014. Lecture Notes in Computer Science(), vol 8938. Springer, Cham. https://doi.org/10.1007/978-3-319-15201-1_3
Download citation
DOI: https://doi.org/10.1007/978-3-319-15201-1_3
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-15200-4
Online ISBN: 978-3-319-15201-1
eBook Packages: Computer ScienceComputer Science (R0)