Crates.io | ascetic_cli |
lib.rs | ascetic_cli |
version | 0.0.2 |
source | src |
created_at | 2020-01-28 20:10:45.711415 |
updated_at | 2020-04-15 19:16:42.802158 |
description | Command-line tools for analysis and synthesis of cause-effect synchronised interacting systems |
homepage | |
repository | https://github.com/k7f/ascetic |
max_upload_size | |
id | 202839 |
size | 65,632 |
Analysis and synthesis of cause-effect synchronised interacting systems. This is a set of command-line tools of the Ascesis project.
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.
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.
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
ascetic_cli
is licensed under the MIT license. Please read the
LICENSE-MIT file in this repository for more
information.