Skip to content
Snippets Groups Projects
Commit d03a3e89 authored by Simon Gregersen's avatar Simon Gregersen
Browse files

README.md and opam file

parent 3c8d1544
No related branches found
No related tags found
No related merge requests found
# Aneris # Aneris
Aneris is a program logic build on the Iris program logic framework for Aneris is a programming language and a higher-order distributed concurrent
developing and verifying distributed systems. separation logic for developing and verifying distributed systems with
facilities for modular specification and verification of partial correctness
properties. The logic is built using the [Iris](https://iris-project.org)
program logic framework and mechanized in the Coq proof assistant.
## Compiling ## Compiling
The development is known to compile with
- `coq`: see the `opam` file
- `coq-iris` : see the `opam` file
- `coq-stdpp` : see the `opam` file
- `coq-iris-string-ident`
To install the dependencies, you have to add the following opam repositories: To install the dependencies, you have to add the following opam repositories:
opam repo add coq-released https://coq.inria.fr/opam/released opam repo add coq-released https://coq.inria.fr/opam/released
opam repo add iris-dev https://gitlab.mpi-sws.org/iris/opam.git opam repo add iris-dev https://gitlab.mpi-sws.org/iris/opam.git
Once you got opam set up, run `opam update` followed by `make build-dep` to Once you got opam set up, run `opam update` followed by `make build-dep` to
install the right versions of the dependencies. install the right versions of the dependencies as specified in the `aneris.opam`
file.
Next, clone external submodule dependencies using Next, clone the external submodule dependencies using
git submodule update --init --recursive git submodule update --init --recursive
...@@ -29,9 +26,9 @@ Alternatively, clone the repository using the `--recurse-submodules` flag. ...@@ -29,9 +26,9 @@ Alternatively, clone the repository using the `--recurse-submodules` flag.
Run `make -jN` to build the full development, where `N` is the number of your Run `make -jN` to build the full development, where `N` is the number of your
CPU cores. CPU cores.
## Updating dependencies ## Updating git submodule dependencies
To pull the latest submodules dependencies as committed to the repository, run To pull the latest git submodule dependencies as committed to the repository, run
git submodule update --recursive git submodule update --recursive
...@@ -42,10 +39,12 @@ changes. However, it does not apply the changes. To update the dependencies run ...@@ -42,10 +39,12 @@ changes. However, it does not apply the changes. To update the dependencies run
Remember to commit submodule updates to the repository. Remember to commit submodule updates to the repository.
## Directory structure ## Publications
TODO
## Case studies
See [aneris-examples](https://bitbucket.org/logsem/aneris-examples). Aneris was initially presented in the ESOP 2020 paper [Aneris: A Mechanised
Logic for Modular Reasoning about Distributed
Systems](https://link.springer.com/chapter/10.1007/978-3-030-44914-8_13) by
Morten Krogh-Jespersen, [Amin Timany](https://tildeweb.au.dk/au571806/), Marit
Edna Ohlenbusch, [Simon Oddershede Gregersen](https://cs.au.dk/~gregersen/), and
[Lars Birkedal](https://cs.au.dk/~birke/). Since then, the duplicate protection
assumption as described in the paper has been relaxed.
opam-version: "2.0" opam-version: "2.0"
name: "coq-aneris" synopsis: "Coq development of the Aneris program logic"
synopsis: "This is the Coq development of the Aneris program logic"
maintainer: "Simon Gregersen <gregersen@cs.au.dk>" maintainer: "Simon Gregersen <gregersen@cs.au.dk>"
authors: "The Aneris Team" authors: "The Aneris Team"
homepage: "https://iris-project.org/" license: "MIT"
dev-repo: "git+https://bitbucket.org/logsem/aneris.git" homepage: "https://github.com/logsem/aneris"
bug-reports: "https://bitbucket.org/logsem/aneris/issues" dev-repo: "git+https://github.com/logsem/aneris.git"
bug-reports: "https://github.com/logsem/aneris/issues"
build: [make "-j%{jobs}%"] build: [make "-j%{jobs}%"]
install: [make "install"] install: [make "install"]
depends: [ depends: [
"coq" { (= "8.12.0") | (= "dev") } "coq" { (= "8.12.0") | (= "dev") }
"coq-iris" { (= "dev.2020-08-07.2.b2b558ac") | (= "dev") } "coq-iris" { (= "dev.2020-09-03.2.26739725") | (= "dev") }
"coq-stdpp" { (= "dev.2020-08-07.0.67db2f24") | (= "dev") } "coq-stdpp" { (= "dev.2020-09-02.0.897b954e") | (= "dev") }
"coq-iris-string-ident" { (= "dev") | (= "dev") } "coq-iris-string-ident" { (= "dev") }
] ]
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment