-
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 beeing surround, reaching target locations and escaping from specific regions. (more details)
We have defined two wrappers around the Java MoonLight implementation, one for Python and one for Matlab. Please consider the dedicated section for more details.
First, you need to download JAVA 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. You can
- downloading the executable from this link
- compiling the source code.
First, you need to clone our git repository
$ git clone https://github.com/MoonLightSuite/MoonLight.git
or download it (link).
If you clone it, then you need to compile it executing the following code in a promt window
$ ./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 form Matlab and some examples
- python: it contains all the necessary files to execute Moonlight form Python and some examples
Please visit the dedicated section if you need more information:
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!