Using Z in the Development and Maintenance of Computational Models of Real-World Systems

  • Shahrzad Moeiniyan Bagheri
  • Graeme Smith
  • Jim Hanan
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 8938)

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.

References

  1. 1.
    Abrial, J.-R.: The B-Book: Assigning Programs to Meanings. Cambridge University Press, Cambridge (1996)CrossRefMATHGoogle Scholar
  2. 2.
    Booch, G., Rumbaugh, J., Jacobson, I.: The Unified Modeling Language User Guide. Addison-Wesley, Reading (1999)Google Scholar
  3. 3.
    Bowen, J.P.: Formal Specification and Documentation Using Z: A Case Study Approach. International Thomson Computer Press, London (1996)Google Scholar
  4. 4.
    Derrick, J., Boiten, E.: Refinement in Z and Object-Z, Foundations and Advanced Applications, 2nd edn. Springer, London (2014)Google Scholar
  5. 5.
    Guyton, A.C., Hall, J.E.: Guyton and Hall Textbook of Medical Physiology, 12th edn. Saunders/Elsevier, Philadelphia (2011)Google Scholar
  6. 6.
    Mens, T., Van Gorp, P.: A taxonomy of model transformation. Electron. Notes Theor. Comput. Sci. 152, 125–142 (2006)CrossRefGoogle Scholar
  7. 7.
    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)CrossRefGoogle Scholar
  8. 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
  9. 9.
    Smith, G.: The Object-Z Specification Language. Kluwer Academic Publishers, Dordrecht (2000)CrossRefMATHGoogle Scholar
  10. 10.
    Spivey, J.M.: The Z Notation: A Reference Manual. Prentice Hall, 2nd edition, (1992)Google Scholar
  11. 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. 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. 13.
    Woodcock, J.C.P., Davies, J.: Using Z: Specification, Refinement, and Proof. Prentice Hall, New York (1994)Google Scholar

Copyright information

© Springer International Publishing Switzerland 2015

Authors and Affiliations

  • Shahrzad Moeiniyan Bagheri
    • 1
    • 2
  • Graeme Smith
    • 1
  • Jim Hanan
    • 2
  1. 1.School of Information Technology and Electrical EngineeringThe University of QueenslandBrisbaneAustralia
  2. 2.Queensland Alliance for Agriculture and Food InnovationThe University of QueenslandBrisbaneAustralia

Personalised recommendations