Skip to main content

Mechanising Data-Types for Kernel Design in Z

  • Conference paper

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 5902))

Abstract

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.

This is a preview of subscription content, log in via an institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  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. Bicarregui, J., Hoare, T., Woodcock, J.: The verified software repository: a step towards the verifying compiler. FACJ 18(2), 143–151 (2006)

    MATH  Google Scholar 

  3. Cavalcanti, A.: A Refinement Calculus for Z. PhD thesis, Oxford (1997)

    Google Scholar 

  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)

    Chapter  Google Scholar 

  5. Craig, I.: Formal Refinement of OS Kernels, 1st edn. Springer, Heidelberg (2007)

    Google Scholar 

  6. FreeRTOS, http://www.freertos.org

  7. Freitas, L.: Extended Z mathematical toolkit. Technical Report CRG13, University of York (April 2008)

    Google Scholar 

  8. Freitas, L.: Formal model of a reusable Chain data type. Technical Report CRG14, University of York (April 2008)

    Google Scholar 

  9. Freitas, L.: Mechanising data-types for Kernel design in Z. Technical Report CRG15, University of York (March 2009)

    Google Scholar 

  10. Freitas, L., Woodcock, J.: A Chain Datatype in Z. International Journal of Software Informatics (2009) (in press)

    Google Scholar 

  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. Hoare, T.: The verifying compiler: A grand challenge for computing research. Journal of the ACM 50(1), 63–69 (2003)

    Article  Google Scholar 

  13. ISO/IEC 13568. Information Technology—Z Formal Specification Notation—Syntax, Type System and Semantics. ISO/IEC, 1st edn. (2002)

    Google Scholar 

  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. 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)

    Chapter  Google Scholar 

  16. Jones, C., Woodcock, J.: Formal Aspects of Computing — special issue on Mondex, vol. 20(1). Springer, Heidelberg (2008)

    Google Scholar 

  17. Neil, M., et al.: Hypervisor Top Level Functional Specification v0.83. Technical report, Microsoft Coorporation (December 2007)

    Google Scholar 

  18. Saaltink, M.: Z/Eves 2.0 Math. Toolkit. ORA, TR-99-5493-05b (October 1999)

    Google Scholar 

  19. Saaltink, M.: Z/Eves 2.0 User’s Guide. ORA Canada, TR-99-5493-06a (1999)

    Google Scholar 

  20. Spivey, J.M.: The Z Notation: A Reference Manual. Prentice Hall, Englewood Cliffs (1998)

    Google Scholar 

  21. Stepney, S., et al.: An Electronic Purse: Specification, Refinement, and Proof. PRG 126, Oxford University (July 2000)

    Google Scholar 

  22. Stepney, S., et al.: A z patterns catalogue vol 1. Technical Report YCS-349, University of York (2003)

    Google Scholar 

  23. Woodcock, J.: First steps in the verified software grand challenge. IEEE Computer 39(10), 57–64 (2006)

    Google Scholar 

  24. Woodcock, J., Davies, J.: Using Z: Specification, Refinement, and Proof. Prentice Hall, Englewood Cliffs (1996)

    MATH  Google Scholar 

  25. Woodcock, J., et al.: Formal methods: practice and experience. ACM Computing Surveys (in press, 2009)

    Google Scholar 

  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 Europe

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2009 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Freitas, L. (2009). Mechanising Data-Types for Kernel Design in Z. In: Oliveira, M.V.M., Woodcock, J. (eds) Formal Methods: Foundations and Applications. SBMF 2009. Lecture Notes in Computer Science, vol 5902. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-10452-7_13

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-10452-7_13

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-10451-0

  • Online ISBN: 978-3-642-10452-7

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics