lh-l4v/spec/design/README.md

54 lines
1.4 KiB
Markdown
Raw Normal View History

2020-03-09 06:18:30 +00:00
<!--
Copyright 2020, Data61, CSIRO (ABN 41 687 119 230)
SPDX-License-Identifier: CC-BY-SA-4.0
2020-03-09 06:18:30 +00:00
-->
2020-03-02 08:20:30 +00:00
The Executable Design Specification of seL4
===========================================
2014-07-22 23:11:43 +00:00
l4v/spec/design/
2014-07-22 23:11:43 +00:00
This directory contains the Isabelle sources of the executable design
specification for seL4.
2014-07-22 23:11:43 +00:00
Most theory files in this directory are tool-generated, do not edit!
The files here are also not particularly well suited for human consumption, it
is recommended to directly read the corresponding Haskell code in
`seL4/haskell` instead.
Top-Level Theory
----------------
2014-07-22 23:11:43 +00:00
The top-level theory file that draws the whole specification together is
`API_H`, the top-level function in that theory is `callKernel`.
Similarly to the abstract specification, this top-level function is later in
the proofs further wrapped in an automaton that describes system behaviour on
this level of abstraction.
Building
--------
2014-07-22 23:11:43 +00:00
The corresponding Isabelle session is `ExecSpec`. Build in `l4v` for the ARM
architecture with
2014-07-22 23:11:43 +00:00
L4V_ARCH=ARM ./run_tests ExecSpec
2014-07-22 23:11:43 +00:00
Remarks
-------
2014-07-22 23:11:43 +00:00
* for regenerating the design spec from Haskell sources, go to directory
`l4v/` and run
2014-07-22 23:11:43 +00:00
./run_test haskell-translator
2014-07-22 23:11:43 +00:00
* skeleton files that define which parts of which Haskell files get mapped
to which Isabelle theories are found in the sub directories `skel` and
`m-skel` for `design` and `machine` respectively.