Skip to content
Simone edited this page Jun 6, 2020 · 43 revisions

MoonLight

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)

Wrappers

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.

Use the tool

First of all, you need to get the executable for Python or Matlab. You can

  • download the executable from this link
  • compile the source code.

Compile the source code

First, you need to clone this repository

$ git clone https://github.com/MoonLightSuite/MoonLight.git

or download it (link). Then you need to compile it by using the Gradle wrapper

$ gradlew distribute

this task will generate a folder named distribution which contains all the executable of Matlab and Python and several examples.

Clone this wiki locally