monaa
A Tool for Timed Patten Matching with Automata-Based Acceleration
Science Score: 44.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Committers with academic emails
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (13.2%) to scientific vocabulary
Keywords
Repository
A Tool for Timed Patten Matching with Automata-Based Acceleration
Basic Info
Statistics
- Stars: 9
- Watchers: 3
- Forks: 1
- Open Issues: 0
- Releases: 7
Topics
Metadata Files
README.md
MONAA --- A Tool for Timed Patten Matching with Automata-Based Acceleration
This is the source code repository for MONAA --- A Tool for Timed Patten Matching with Automata-Based Acceleration.
Demo on Google Colab is available!!
Usage
Synopsis
monaa [OPTIONS] PATTERN [FILE]
monaa [OPTIONS] -e PATTERN [FILE]
monaa [OPTIONS] -f FILE [FILE]
Options
-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.
Installation
MONAA is tested on Arch Linux, Ubuntu (20.04, 22.04, 24.04), and macOS (12 Monterey, 13 Ventura, 14 Sonoma). We also provide a docker image.
Requirements
- C++ compiler supporting C++20 and the corresponding libraries.
- Boost (>= 1.59)
- Eigen
- CMake (>= 3.30)
- Bison (>= 3.0)
- Flex
Instructions
sh
mkdir build
cd build && cmake -DCMAKE_BUILD_TYPE=Release .. && make && make install
Usage of the docker image
Note: Docker support is experimental. It seems this image does not work with Docker Desktop for macOS.
You can use monaa via docker by docker run -it maswag/monaa ... instead of monaa ....
The following shows an example.
sh
docker run -v $PWD:/mnt -it maswag/monaa -f /mnt/examples/small.dot -i /mnt/examples/small.txt
Examples
See Getting Started for an example usage.
Syntax of Timed Automata
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 |
Syntax of Timed Regular Expressions
expr : c (An event)
| ( expr ) (Grouping)
| expr + (Kleene Plus)
| expr * (Kleene Star)
| expr expr (Concatenation)
| expr | expr (Disjunction)
| expr & expr (Conjunction)
| expr % (s,t) | expr % [s,t) | expr % (s,t] | expr % [s,t] | expr % (>s) | expr % (>=s) | expr % (<t) | expr % (<=t) | expr % (=t) (Time Restriction)
Related Tool
- TimeTrace: A web frontend of MONAA
- GitHub: https://github.com/JonasGLund99/TimeTrace
References
- A Boyer-Moore Type Algorithm for Timed Pattern Matching. Masaki Waga, Takumi Akazaki, and Ichiro Hasuo
- Efficient Online Timed Pattern Matching by Automata-Based Skipping. Masaki Waga, Ichiro Hasuo, and Kohei Suenaga
- MONAA: a Tool for Timed Patten Matching with Automata-Based Acceleration. Masaki Waga, Ichiro Hasuo, and Kohei Suenaga
Owner
- Name: Masaki Waga
- Login: MasWag
- Kind: user
- Location: Kyoto, Japan
- Company: Kyoto University
- Website: http://www.fos.kuis.kyoto-u.ac.jp/~mwaga/
- Repositories: 26
- Profile: https://github.com/MasWag
Citation (CITATION.bib)
@inproceedings{WHS18,
author = {Masaki Waga and
Ichiro Hasuo and
Kohei Suenaga},
title = {{MONAA:} {A} Tool for Timed Pattern Matching with Automata-Based Acceleration},
booktitle = {3rd Workshop on Monitoring and Testing of Cyber-Physical Systems,
MT@CPSWeek 2018, Porto, Portugal, April 10, 2018},
pages = {14--15},
publisher = {{IEEE}},
year = {2018},
url = {https://doi.org/10.1109/MT-CPS.2018.00014},
doi = {10.1109/MT-CPS.2018.00014}
}
GitHub Events
Total
- Delete event: 2
- Push event: 18
- Pull request review event: 4
- Pull request review comment event: 3
- Pull request event: 6
- Fork event: 1
- Create event: 3
Last Year
- Delete event: 2
- Push event: 18
- Pull request review event: 4
- Pull request review comment event: 3
- Pull request event: 6
- Fork event: 1
- Create event: 3
Committers
Last synced: 7 months ago
Top Committers
| Name | Commits | |
|---|---|---|
| Masaki Waga | m****a@g****m | 201 |
Issues and Pull Requests
Last synced: 7 months ago
All Time
- Total issues: 1
- Total pull requests: 4
- Average time to close issues: 1 day
- Average time to close pull requests: 4 minutes
- Total issue authors: 1
- Total pull request authors: 1
- Average comments per issue: 0.0
- Average comments per pull request: 0.0
- Merged pull requests: 3
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 0
- Pull requests: 1
- Average time to close issues: N/A
- Average time to close pull requests: 8 minutes
- Issue authors: 0
- Pull request authors: 1
- Average comments per issue: 0
- Average comments per pull request: 0.0
- Merged pull requests: 1
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- MasWag (1)
Pull Request Authors
- MasWag (7)
Top Labels
Issue Labels
Pull Request Labels
Dependencies
- actions/checkout v4 composite
- actions/checkout v4 composite
- BSFishy/pip-action v1 composite
- actions/checkout v2 composite
- actions/setup-python v1 composite
- actions/checkout v4 composite
- docker/build-push-action v5 composite
- docker/login-action v3 composite
- docker/metadata-action v5 composite
- docker/setup-buildx-action v3 composite
- docker/setup-qemu-action v3 composite
- actions/checkout v4 composite
- peaceiris/actions-gh-pages v4 composite
- actions/checkout v2 composite
- hadolint/hadolint-action v1.5.0 composite
- actions/checkout v4 composite
- alpine 3.20.0 build