aces 0.0.6

Algebra of Cause-Effect Structures


Latest version docs Rust MIT

Algebra of Cause-Effect Structures — an implementation of the theory. This is the core library and a set of command-line tools of the Ascesis project.


In principle, aces should build wherever rustc and cargo runs. Its executables should run on any platform supporting the Rust std library. Be aware, though, that the project is very much a WIP. The main toolchain used in development is nightly channel of Rust 1.39.


To use aces as a library in a Rust project, include these lines in the Cargo.toml file:

aces = "0.0.6"

See API documentation for information on public interface to the library.

Command line interface


Having Rust installed, ensure its version is at least 1.37: check with cargo version and run rustup update if needed. Then

$ cargo install aces

will automatically download, build, and install the latest aces release on


C-e structures may be defined in .cex text files. The format of textual description is YAML-based, but nowhere documented and very likely to change. There are some, perhaps self-explanatory, examples.

Run the aces executable to load c-e structures from .cex files and analyse them. By default, the program will check link coherence and print firing components, if there are any, or inform about structural deadlock. To see the list of available subcommands and options run

$ aces --help


aces is licensed under the MIT license. Please read the LICENSE-MIT file in this repository for more information.