Download and install Simple Build Tool (SBT). Files and instructions for your platform are available at the project website, http://www.scala-sbt.org/.
For Matlab interface, make sure to follow the instructions here.
Configure the SUL in the main file here. The SUL takes as parameters: the model, a simulator, specifications if needed, a flag stating if the intention is to learn a plant or a supervisor (this flag is currently redundant) and a boolean value if the model is supposed to accept partial states.
Set the model to learn, solver name and other relevant configuration in the application.conf. On running the program the first time after cloning copy the contents of application.conf.example into a application.conf in the same folder.
The model files are created under the models folder using traits specified in core folder.
Run the program using sbt mides/run
from the terminal.
This project uses Scalafmt to enforce some of the code style rules.
It’s recommended to enable Scalafmt formatting in IntelliJ. Use version 2019.1 or later. In Preferences > Editor > Code Style > Scala, select Scalafmt as formatter and enable “Reformat on file save”. IntelliJ will then use the same settings and version as defined in .scalafmt.conf file. Then it’s not needed to use sbt scalafmtAll
when editing with IntelliJ.
If you edit the code without Intellij, it is always a good practice to run sbt scalafmtall
before pushing committing your code.
To cite this tool use:
@INPROCEEDINGS{farooquiMIDES2021, author={Farooqui, Ashfaq and Hagebring, Fredrik and Fabian, Martin}, booktitle={2021 IEEE 17th International Conference on Automation Science and Engineering (CASE)}, title={MIDES: A Tool for Supervisor Synthesis via Active Learning}, year={2021}, pages={792-797}, doi={10.1109/CASE49439.2021.9551435}}
The project is licensed under the GNU General Public License version 3 (or newer).