Tool for timed patten matching with automata-based acceleration
3.7K
This is the source code repository for MONAA --- A Tool for Timed Patten Matching with Automata-Based Acceleration.
Demo on Google Colab is HERE and HERE!!
monaa [OPTIONS] PATTERN [FILE]
monaa [OPTIONS] -e PATTERN [FILE]
monaa [OPTIONS] -f FILE [FILE]
-h, --help Print a help message.
-q, --quiet Quiet mode. Causes any results to be suppressed.
-a, --ascii Ascii mode. (default)
-b, --binary Binary mode.
-V, --version Print the version
-E, --event Event mode (default)
-S, --signal Signal mode
-i file, --input file Read a timed word from file.
-f file, --automaton file Read a timed automaton from file.
-e pattern, --expression pattern Specify a pattern by a timed regular expression.
MONAA is tested on Arch Linux, Ubuntu (18.04 and 20.04), and macOS 10.15 Catalina. We also provide a docker image.
mkdir build
cd build && cmake -DCMAKE_BUILD_TYPE=Release .. && make && make install
You can use monaa via docker by docker run -it maswag/monaa ... instead of monaa ....
See Getting Started for an example usage.
You can use DOT language to represent a timed automaton. For the timing constraints and other information, you can use the following custom attributes.
| attribute | value | description | |
|---|---|---|---|
| vertex | init | 0 or 1 | init=1 if the state is initial |
| vertex | match | 0 or 1 | match=1 if the state is accepting |
| edge | label | [a-z], [A-Z] | the value represents the event on the transition |
| edge | reset | a list of integers | the set of variables reset after the transition |
| edge | guard | a list of inequality constraints | the guard of the transition |
expr : c (An event)
| ( expr ) (Grouping)
| expr + (Kleene Plus)
| expr * (Kleene Star)
| expr expr (Concatenation)
| expr | expr (Disjunction)
| expr & expr (Conjunction)
| expr % (s,t) (Time Restriction)
Content type
Image
Digest
sha256:c862f3808…
Size
167.4 MB
Last updated
12 months ago
docker pull maswag/monaa