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.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
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)
Bicarregui, J., Hoare, T., Woodcock, J.: The verified software repository: a step towards the verifying compiler. FACJ 18(2), 143–151 (2006)
Cavalcanti, A.: A Refinement Calculus for Z. PhD thesis, Oxford (1997)
Cohen, E.: Validating the Microsoft Hypervisor. In: Misra, J., Nipkow, T., Sekerinski, E. (eds.) FM 2006. LNCS, vol. 4085, p. 81. Springer, Heidelberg (2006)
Craig, I.: Formal Refinement of OS Kernels, 1st edn. Springer, Heidelberg (2007)
FreeRTOS, http://www.freertos.org
Freitas, L.: Extended Z mathematical toolkit. Technical Report CRG13, University of York (April 2008)
Freitas, L.: Formal model of a reusable Chain data type. Technical Report CRG14, University of York (April 2008)
Freitas, L.: Mechanising data-types for Kernel design in Z. Technical Report CRG15, University of York (March 2009)
Freitas, L., Woodcock, J.: A Chain Datatype in Z. International Journal of Software Informatics (2009) (in press)
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)
Hoare, T.: The verifying compiler: A grand challenge for computing research. Journal of the ACM 50(1), 63–69 (2003)
ISO/IEC 13568. Information Technology—Z Formal Specification Notation—Syntax, Type System and Semantics. ISO/IEC, 1st edn. (2002)
ITSEC. Information technology security evaluation criteria: primary harmonised criteria. Technical Report COM(90) 314, Commission of the European Communities, version 1.2 (June 1991)
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)
Jones, C., Woodcock, J.: Formal Aspects of Computing — special issue on Mondex, vol. 20(1). Springer, Heidelberg (2008)
Neil, M., et al.: Hypervisor Top Level Functional Specification v0.83. Technical report, Microsoft Coorporation (December 2007)
Saaltink, M.: Z/Eves 2.0 Math. Toolkit. ORA, TR-99-5493-05b (October 1999)
Saaltink, M.: Z/Eves 2.0 User’s Guide. ORA Canada, TR-99-5493-06a (1999)
Spivey, J.M.: The Z Notation: A Reference Manual. Prentice Hall, Englewood Cliffs (1998)
Stepney, S., et al.: An Electronic Purse: Specification, Refinement, and Proof. PRG 126, Oxford University (July 2000)
Stepney, S., et al.: A z patterns catalogue vol 1. Technical Report YCS-349, University of York (2003)
Woodcock, J.: First steps in the verified software grand challenge. IEEE Computer 39(10), 57–64 (2006)
Woodcock, J., Davies, J.: Using Z: Specification, Refinement, and Proof. Prentice Hall, Englewood Cliffs (1996)
Woodcock, J., et al.: Formal methods: practice and experience. ACM Computing Surveys (in press, 2009)
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
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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)