tree: 03a765de3c3f7fb258603095dd4a6f7e8ebb7ad6 [path history] [tgz]
  1. CapDL/
  2. doc/
  3. tools/
  4. .gitignore
  5. camkes-adder-arm.cdl
  6. camkes-adder-arm.object_sizes.yaml
  7. camkes-adder-arm.right
  8. camkes-adder-arm.thy.right
  9. cap-dist-elf-simpleserver.cdl
  10. cap-dist-elf-simpleserver.right
  11. capDL-tool.cabal
  12. capDL-tool.cmake
  13. capdl.dtd
  14. example-arm.cdl
  15. example-arm.right
  16. example-ia32.cdl
  17. example-ia32.right
  18. example.cdl
  19. hello-dump.cdl
  20. hello-dump.right
  21. iwana-ia32.cdl
  22. Main.hs
  23. Makefile
  24. README.md
  25. stack.yaml
capDL-tool/README.md

capDL-tool

This tool is intended to be used with capDL textual specifications. In particular, it can parse input files into a variety of different output formats, including Isabelle theory files and C source files that can be given to the capDL initialiser.

For usage instructions run ‘make’ and then ‘./parse-capDL’.

For details of the Capability Distribution Language, see the specification in the ‘doc/’ directory. Run ‘make’ in that directory to generate ‘capDL.pdf’.

Repository overview

  • ‘CapDL’: Haskell source code of the tool
  • ‘*.cdl’: Toy examples used as test files
  • ‘*.right’: Canonical representations of the examples used in testing
  • ‘doc’: Latex source of the capDL Specification

Dependencies

Stack should automatically retrieve all necessary Haskell dependencies to build this tool, but if you need exact dependency information it is available in capDL-tool.cabal and stack.yaml.

To install all dependencies of this tool (including the haskell compiler if an appropriate version of GHC isn't found), run

make sandbox

This will install GHC in “~/.stack” (if it isn't already installed there), and install all libraries in the local directory “.stack-work”.

To build this tool, run

make

To place the capdl binary in the top level directory of this project, run

make install

Related papers

The Capability Distribution Language is also documented in

Ihor Kuz, Gerwin Klein, Corey Lewis and Adam Christopher Walker “capDL: A language for describing capability-based systems” Proceedings of the 1st Asia-Pacific Workshop on Systems (APSys), pp. 31–36, New Delhi, India, August, 2010

License

The files in this repository are released under standard open source licenses. Please see individual file headers and the LICENSE_BSD2.txt file for details.