Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
..
Failed to load latest commit information.
CapDL
doc
tools
.gitignore
LICENSE_BSD2.txt
Main.hs
Makefile
README.md
Setup.hs
cap-dist-elf-simpleserver.cdl
cap-dist-elf-simpleserver.right
capDL-tool.cabal
capDL-tool.cmake
capdl.dtd
example-arm.cdl
example-arm.right
example-ia32.cdl
example-ia32.right
example.cdl
hello-dump.cdl
hello-dump.right
iwana-ia32.cdl
stack.yaml

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.