The SCCD (Statecharts + Class Diagrams) compiler and runtime.
|
4 년 전 | |
---|---|---|
bsml_features | 5 년 전 | |
examples | 4 년 전 | |
legacy | 5 년 전 | |
src | 4 년 전 | |
test | 4 년 전 | |
.gitignore | 5 년 전 | |
LICENSE | 9 년 전 | |
README.md | 4 년 전 | |
notes.txt | 4 년 전 | |
shell.nix | 4 년 전 |
Tip: Users of the Nix package manager can get a usable development environment through the supplied shell.nix
file instead of manually installing all dependencies.
There's a setup.py
script in the src
directory.
Alternatively, you can just set your PYTHONPATH
environment variable to the absolute path of the src
directory. This is recommended for development.
Assuming you followed the installation instructions above, run:
python3 -m sccd.test.run test/test_files
It will recursively visit the directory tree of test_files
and look for XML files starting with with test_
(tests that should succeed) or fail_
(for tests that should fail), and execute them. The tree also contains XML files starting with statechart_
: these are individual statechart models that are not directly executable, but are used by test files. The tree also contains SVG files: these contain automatically rendered images of statechart models.
The following environment variables can be set to change the behavior of the runtime. These options can be set while running the tests, or while running one of the examples.
SCCDDEBUG
: When set, additional debug information is printed, such as a trace of the individual transitions taken.SCCDTIMINGS
: When set, at exit, the runtime will print information about how much time in total was spent during various parts of its execution, such as loading the model, generating transition candidates, executing transitions, executing actions, and more.The following Python modules are runnable from terminal:
sccd.test.run
, already mentioned, runs tests.sccd.statechart.cmd.render
will render test files and statecharts as SVG images. Depends on state-machine-cat
command. Example of a rendered filesccd.statechart.cmd.render_priorities
will render the statechart's transition priorities, as determined by the chosen semantics, as a graph. Depends on dot
command. Example of a rendered filesccd.statechart.cmd.check_model
will check if a model is valid.sccd.action_lang.cmd.prompt
is an interactive prompt for the action language that is part of the statechart language.