Find out how ICT can support biomedical and clinical researchFind out more. Managing complexity by developing new tools and processes. Managing Complexity

Abstract

Title:

Formalising a high-performance microkernel

Authors:

Kevin Elphinstone, Gerwin Klein and Rafal Kolanski

    School of Computer Science and Engineering
    University of New South Wales
    Sydney 2052 Australia
    
    National ICT Australia, Sydney, Australia

Abstract:

This paper argues that a pragmatic approach is needed for integrating design and formalisation of complex systems. We report on our approach to designing the seL4 operating system microkernel API and its formalisation in Isabelle/HOL. The formalisation consists of the systematic translation of significant parts of the functional programming language Haskell into Isabelle/HOL, including monad-based code. We give an account of the experience, decisions and outcomes in this translation as well as the technical problems we encountered together with our solutions. The longer-term goal is to demonstrate that formalisation and verification of a large, complex, OS-level code base is feasible with current tools and methods and is in the order of magnitude of traditional development cost.

Download paper: