timescales
A benchmark generator for Metric Temporal Logic (MTL) monitoring tools
Science Score: 54.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
1 of 1 committers (100.0%) from academic institutions -
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (9.6%) to scientific vocabulary
Keywords
Repository
A benchmark generator for Metric Temporal Logic (MTL) monitoring tools
Basic Info
Statistics
- Stars: 6
- Watchers: 2
- Forks: 2
- Open Issues: 0
- Releases: 0
Topics
Metadata Files
README.md
timescales
timescales is a benchmark generator for Metric Temporal Logic (MTL) monitoring tools. It is originally developed for the monitoring tool Reelay but distributed standalone. It generates an MTL specification (as a standard YAML file) and an input trace (as a standard CSV file) that satisfies the formula at every time point. For the benchmark generation, a set of predefined timed properties are available through the interface. Please see the help and documentation for more information.
The purpose of these benchmarks is to measure the performance and scalability of MTL monitoring tools with respect to large timing bounds in the specification over some typical cases. Ideally, the performance of real-time monitoring tools should remain constant when the base time unit has changed. This is due to that different (parts of) systems use different time scales up to orders of magnitude and the specification of slower systems contain large timing bounds.
Use
The generator timescales includes a Makefile to demonstrate the generation of benchmarks. For each supported property, the command make small generates a benchmark that contains a specification with small timing bounds and a short trace. On the other hand, the command make large generates three benchmarks for each property with increasingly larger time bounds (1x, 10x, 100x) over traces with a length of 1 million. The large suite has a size of 400MB and is not included in the distribution. Finally the command make full extends the large suite by dense time behaviors. The large suite has a size of 550MB and is not included in the distribution. Besides these default benchkmark suites, the customization of benchmark generation can be done easily using the command line interface of timescales.
Help
The full interface of the benchmark generator timescales is as follows:
usage: timescales [OPTIONS] PROPERTY
timescales is a benchmark generator for some pre-defined metric temporal logic properties
positional arguments:
property Supported properties are below:
absence_after_q UBOUND
absence_before_r UBOUND
absence_between_q_and_r LBOUND UBOUND
always_after_q UBOUND
always_before_r UBOUND
always_between_q_and_r LBOUND UBOUND
recurrence_globally UBOUND
recurrence_between_q_and_r UBOUND MIN_RECUR MAX_RECUR
response_globally LBOUND UBOUND
response_between_q_and_r LBOUND UBOUND MIN_RECUR MAX_RECUR
optional arguments:
-h, --help show this help message and exit
-d N, --duration N define the approximate duration for the trace
-l N, --lbound N define the lower bound for the property if available for the property
-u N, --ubound N define the upper bound for the property if available for the property
--persistent enable persistent trace generation
--min-recur N define the minimum number of recurrence in the trace if available for the property
--max-recur N define the maximum number of recurrence in the trace if available for the property
--name STRING define the name of specification (default: spec)
--condense N define the maximum amount of condensation in the generated trace (default: 0)
--failing-end disable appending a sequence to the trace to make the spec fail (default: false)
--future generate a future MTL formula (default: past)
--output-dir DIR use existing DIR as the directory to write output files in (default: current)
--format FORMAT select the output format in {csv, json, protobuf, flatbuf} (default: json)
Benchmark RV Tools
The repository includes containerized benchmark environments for quick benchmarking for some runtime verification tools. Currently we support reelay, monpoly, aerial, and montre tools.
Reelay (https://github.com/doganulus/reelay)
git clone https://github.com/doganulus/timescales.git
cd timescales
make full
make benchmark-reelay
Monpoly (https://bitbucket.org/monpoly/monpoly)
git clone https://github.com/doganulus/timescales.git
cd timescales
make full
python scripts/to_monpoly.py
make benchmark-monpoly
Aerial (https://bitbucket.org/traytel/aerial)
git clone https://github.com/doganulus/timescales.git
cd timescales
make full
python scripts/to_monpoly.py
make benchmark-aerial
Montre (https://github.com/doganulus/montre)
git clone https://github.com/doganulus/timescales.git
cd timescales
make full
python scripts/to_montre.py
make benchmark-montre
Cite
Dogan Ulus. "Timescales: A Benchmark Generator for MTL Monitoring Tools". In: Proceedings of the Conference on Runtime Verification (RV). 2019.
Owner
- Name: Doğan Ulus
- Login: doganulus
- Kind: user
- Location: Istanbul, TR
- Company: Boğaziçi University @bouncmpe
- Website: doganulus.github.io
- Repositories: 45
- Profile: https://github.com/doganulus
Assistant Professor of Computer Science
Citation (CITATION.cff)
cff-version: 1.2.0
message: "If you use this software, please cite it as below."
authors:
- family-names: Ulus
given-names: Dogan
orcid: https://orcid.org/0000-0002-5090-1769
title: "Timescales: A Benchmark Generator for MTL Monitoring Tools"
version: 23.0
doi: 10.1007/978-3-030-32079-9_25
date-released: 2019-10-01
license: GPL-3.0
repository-code: "https://github.com/doganulus/timescales"
GitHub Events
Total
Last Year
Committers
Last synced: 11 months ago
Top Committers
| Name | Commits | |
|---|---|---|
| Dogan Ulus | d****s@b****r | 77 |
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: 6 months ago
All Time
- Total issues: 0
- Total pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Total issue authors: 0
- Total pull request authors: 0
- Average comments per issue: 0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 0
- Pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Issue authors: 0
- Pull request authors: 0
- Average comments per issue: 0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
Pull Request Authors
Top Labels
Issue Labels
Pull Request Labels
Dependencies
- ghcr.io/doganulus/rvbenchmark-base latest build
- ocaml/opam ubuntu-22.04-ocaml-${OCAML_VERSION} build
- ghcr.io/doganulus/rvbenchmark-base latest build
- ubuntu 22.04 build
- ghcr.io/doganulus/rvbenchmark-base latest build
- ocaml/opam ubuntu-22.04-ocaml-${OCAML_VERSION} build
- ghcr.io/doganulus/rvbenchmark-base latest build
- ubuntu 22.04 build
- ghcr.io/doganulus/reelay-devel latest build
- ghcr.io/doganulus/rvbenchmark-base latest build
- ghcr.io/bounverif/rvbenchmark-base latest build
- jsonlines *