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.
It requires Java 21+ in the running environment
To use it as a maven package, just include the following line in your build.gradle.kts
:
implementation("io.github.moonlightsuite:moonlight-engine:0.3.0")
Check on Maven Central for alternative build tools ( e.g. Maven).
For more information, please visit our Wiki
You can install MoonLight as a Python package using pip:
pip install moonlight