-
Notifications
You must be signed in to change notification settings - Fork 3
Home
MoonLight is a light-weight Java-tool for monitoring temporal, spatial and spatio-temporal properties of distributed complex systems, as Cyber-Physical Systems and Collective Adaptive Systems.
It supports the specification of properties written with the Reach and Escape Logic (STREL). STREL is a linear-time temporal logic, in particular, it extends the Signal Temporal Logic (STL) with a number of spatial operators that permit to described complex spatial behaviors as being surround, reaching target locations, and escaping from specific regions.
MoonLightis implemented in Java, but it features also a MATLAB interface that allows the monitoring of spatio-temporal signals generated within the MATLAB framework. A Python Interface is under development.
First, you need to download JAVA (version 8) and set the environmental variable
JAVA_HOME= path to JAVA home directory
Then you need to get or generate the executable for Python or MATLAB.
First, you need to clone our repository
$ git clone https://github.com/MoonLightSuite/MoonLight.git
or download it (link).
Then you need to compile it by executing the following Gradle tasks in the console
$ ./gradlew clean
$ ./gradlew distribute
$ ./gradlew release
This tasks will generate a folder, named distribution, which contains three folders:
- java: it contains the moonlight.jar
- matlab: it contains all the necessary files to execute MoonLight from MATLAB and some examples
- python: it contains all the necessary files to execute MoonLight from Python and some examples
Please, consider that every time you will execute these tasks, the distribution folder will be replaced with a new one.
For more information visit the dedicated sections:
Please note that Moonlight and its interfaces are still under active development.
In case of any problem, file a new issue on Github, or reach us directly on any communication channel!