Mechanising Data-Types for Kernel Design in Z

  • Leo Freitas
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5902)


We present results from the mechanisation of a priority queue and its operations. Our interest comes from its use in the specification and refinement of a scheduler for OS kernels for embedded real-time devices. It is part of a pilot project within the international Grand Challenge in Verified Software. Our work uncovers important hidden and missing properties, and their relation to kernel design.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Barnett, M., Leino, K.R.M., Schulte, W.: The Spec# programming system: An overview. In: Barthe, G., Burdy, L., Huisman, M., Lanet, J.-L., Muntean, T. (eds.) CASSIS 2004. LNCS, vol. 3362, pp. 49–69. Springer, Heidelberg (2005)Google Scholar
  2. 2.
    Bicarregui, J., Hoare, T., Woodcock, J.: The verified software repository: a step towards the verifying compiler. FACJ 18(2), 143–151 (2006)MATHGoogle Scholar
  3. 3.
    Cavalcanti, A.: A Refinement Calculus for Z. PhD thesis, Oxford (1997)Google Scholar
  4. 4.
    Cohen, E.: Validating the Microsoft Hypervisor. In: Misra, J., Nipkow, T., Sekerinski, E. (eds.) FM 2006. LNCS, vol. 4085, p. 81. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  5. 5.
    Craig, I.: Formal Refinement of OS Kernels, 1st edn. Springer, Heidelberg (2007)Google Scholar
  6. 6.
  7. 7.
    Freitas, L.: Extended Z mathematical toolkit. Technical Report CRG13, University of York (April 2008)Google Scholar
  8. 8.
    Freitas, L.: Formal model of a reusable Chain data type. Technical Report CRG14, University of York (April 2008)Google Scholar
  9. 9.
    Freitas, L.: Mechanising data-types for Kernel design in Z. Technical Report CRG15, University of York (March 2009)Google Scholar
  10. 10.
    Freitas, L., Woodcock, J.: A Chain Datatype in Z. International Journal of Software Informatics (2009) (in press)Google Scholar
  11. 11.
    Freitas, L., Woodcock, J., Buterfield, A.: POSIX and the Verification Grand Challenge: a Roadmap. In: IEEE Proceedings of 13th ICECCS, Belfast, pp. 153–162. IEEE, Los Alamitos (2008)Google Scholar
  12. 12.
    Hoare, T.: The verifying compiler: A grand challenge for computing research. Journal of the ACM 50(1), 63–69 (2003)CrossRefGoogle Scholar
  13. 13.
    ISO/IEC 13568. Information Technology—Z Formal Specification Notation—Syntax, Type System and Semantics. ISO/IEC, 1st edn. (2002)Google Scholar
  14. 14.
    ITSEC. Information technology security evaluation criteria: primary harmonised criteria. Technical Report COM(90) 314, Commission of the European Communities, version 1.2 (June 1991)Google Scholar
  15. 15.
    Jones, C., Pierce, K.: What can the π-calculus tell us about the mondex purse system. In: 12th International Conference on Engineering of Complex Computer Systems (ICECCS), pp. 300–306. IEEE, New Zealand (2007)CrossRefGoogle Scholar
  16. 16.
    Jones, C., Woodcock, J.: Formal Aspects of Computing — special issue on Mondex, vol. 20(1). Springer, Heidelberg (2008)Google Scholar
  17. 17.
    Neil, M., et al.: Hypervisor Top Level Functional Specification v0.83. Technical report, Microsoft Coorporation (December 2007)Google Scholar
  18. 18.
    Saaltink, M.: Z/Eves 2.0 Math. Toolkit. ORA, TR-99-5493-05b (October 1999)Google Scholar
  19. 19.
    Saaltink, M.: Z/Eves 2.0 User’s Guide. ORA Canada, TR-99-5493-06a (1999)Google Scholar
  20. 20.
    Spivey, J.M.: The Z Notation: A Reference Manual. Prentice Hall, Englewood Cliffs (1998)Google Scholar
  21. 21.
    Stepney, S., et al.: An Electronic Purse: Specification, Refinement, and Proof. PRG 126, Oxford University (July 2000)Google Scholar
  22. 22.
    Stepney, S., et al.: A z patterns catalogue vol 1. Technical Report YCS-349, University of York (2003)Google Scholar
  23. 23.
    Woodcock, J.: First steps in the verified software grand challenge. IEEE Computer 39(10), 57–64 (2006)Google Scholar
  24. 24.
    Woodcock, J., Davies, J.: Using Z: Specification, Refinement, and Proof. Prentice Hall, Englewood Cliffs (1996)MATHGoogle Scholar
  25. 25.
    Woodcock, J., et al.: Formal methods: practice and experience. ACM Computing Surveys (in press, 2009)Google Scholar
  26. 26.
    Woodcock, J., Freitas, L., Craig, I.: A Verified Simple Operating System Kernel. In: Workshop on the Verified Software Repository as part of FM Symposium, Turku, Finland (2008), Formal Methods EuropeGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2009

Authors and Affiliations

  • Leo Freitas
    • 1
  1. 1.Department of Computer ScienceUniversity of YorkUK

Personalised recommendations