#analysis #synthesis #systems #command-line #synchronised #cause-effect

bin+lib ascetic_cli

Command-line tools for analysis and synthesis of cause-effect synchronised interacting systems

2 releases

0.0.2 Apr 15, 2020
0.0.1 Jan 28, 2020

#21 in #synthesis

MIT license

29KB
594 lines

ascetic_cli

Latest version docs Rust MIT

Analysis and synthesis of cause-effect synchronised interacting systems. This is a set of command-line tools of the Ascesis project.

Prerequisites

In principle, ascetic_cli 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.43.

Installation

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

$ cargo install ascetic_cli

will automatically download, build, and install the latest ascetic_cli release on crates.io.

Command line interface

C-e structures may be defined in text files by using the Ascesis language or the .cex format of textual description. The Ascesis language has formally specified syntax and informally described semantics. The format of .cex text files is YAML-based, but nowhere documented and very likely to change (there are some, perhaps self-explanatory, examples).

Run the ascesis executable to load c-e structures from (one or more) .ces or .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. When instructed, it may execute one step of a simulation,

$ ascesis scripts/ces/zerotest.ces -gentry -gtested

run a longer simulation,

$ ascesis scripts/ces/arrow.ces scripts/ces/choice-two.ces -ga:3 -x3

or validate a set of files,

$ ascesis validate -r scripts

To see the list of available subcommands and options run

$ ascesis --help

License

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

Dependencies

~8–20MB
~223K SLoC