https://github.com/runtimeverification/rv-monitor
RV-Monitor core system code
https://github.com/runtimeverification/rv-monitor
Last synced: 5 months ago
JSON representation
RV-Monitor core system code
- Host: GitHub
- URL: https://github.com/runtimeverification/rv-monitor
- Owner: runtimeverification
- License: mit
- Created: 2017-10-02T18:44:42.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2021-04-26T17:30:30.000Z (about 5 years ago)
- Last Synced: 2024-04-14T07:22:33.853Z (about 2 years ago)
- Language: Java
- Homepage: https://runtimeverification.com/monitor
- Size: 215 MB
- Stars: 15
- Watchers: 15
- Forks: 13
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
Detailed Documentation
----------------------
For detailed information on RV-Monitor and its use, please see
http://runtimeverification.com/monitor/docs (also included in text form in the docs/
subfolder of this install).
Build and Installation
----------------------
rv-monitor builds with maven (3.6 or newer),
which will download other Java dependencies.
To build, run the command
mvn package
This puts the compiled tools in the directory
target/release/rv-monitor
You can move that directory elsewhere if you do not
want to keep the source code unpacked.
For convenience, please add target/release/rv-monitor/bin to your PATH.
Command Line Basics
----------------------
To call rv-monitor with ease, please add RV-Monitor/bin to your PATH!
The rv-monitor script has the following usage:
rv-monitor [-v] [-d ]
-v option is verbose mode
-d option is used to specify the target directory
where the resulting java code will be saved. It is optional.
For more options, type rv-monitor or rv-monitor -h
Running Examples
----------------------
Before trying any examples, please ensure you’ve added the RV-Monitor/bin directory to
your PATH and the RV-Monitor Runtime Library, as well as your current directory in
your Java CLASSPATH.
The RV-Monitor Runtime Library is provided in this package in the rv-monitor/lib directory.
A typical value of this is:
In Windows,
rv-monitor\lib\rv-monitor-rt.jar
In Linux and Mac,
rv-monitor/lib/rv-monitor-rt.jar
Add this to the left end of the CLASSPATH followed by `;.` (in Windows) or `:.`
(in Linux and Mac). The second part (`:.` i.e. *this* directory) is for ease
of use.
This ensures easy use of 1) rv-monitor to generate monitoring libraries, 2) javac to compile the
libraries together with your instrumented program, and 3) java to run the code in all the examples.
Note: for setting the classpath to already existing classpath you may want to use
%CLASSPATH% (in Windows) or $CLASSPATH (in Linux and Mac). Similarly for PATH.
e.g. CLASSPATH=$CLASSPATH:rv-monitor/lib/rv-monitor-rt.jar:.
To get started, here’s an example of monitoring via context free grammar.
In RV-Monitor/examples/java/CFG/HasNext, we call:
$ rv-monitor rvm/HasNext.rvm
$ javac rvm/HasNextRuntimeMonitor.java HasNext_1/HasNext_1.java
$ java HasNext_1.HasNext_1
For more information on running examples, please see the web documentation on
running examples at https://runtimeverification.com/monitor/docs (also included
in text form in the docs/ subfolder of this install).