- FASTEN Home - https://sites.google.com/site/fastenroot/
- Questions about using and extending FASTEN: fasten-support@googlegroups.com
- If you encounter problems, please open an issue here
- Get the latest release
For building FASTEN we have Gradle-based scripts which automatically manage all needed dependencies including MPS itself and build the languages.
- configure the needed variables in gradle.properties:
- copy the gradle.properties.example as gradle.properties and replace "<...>" with your paths, github-username and a token with rights to access github-packages
- in Windows please note that the paths should use slash instead of back-slash, and they must NOT contain any space character (' ') - e.g.
mpsHomeDir=C:/work/MPS_2023.2 mbeddr.formal.home=C:/work/mbeddr.formal gpr.user=<a github user name> gpr.token=<token for package access>
- in Unix-based systems we have the "unix paths" (nothing changes)
- in Windows please note that the paths should use slash instead of back-slash, and they must NOT contain any space character (' ') - e.g.
- copy the gradle.properties.example as gradle.properties and replace "<...>" with your paths, github-username and a token with rights to access github-packages
- run
gradlew.bat
- this starts the default task which downloads dependencies and builds FASTEN languages- if you want to build the standalone distribution (RCP) run
gradlew.bat build_fasten_safety_distribution
- you can find the zip in the directory "build\artifacts\com.mbeddr.formal.safetyDistribution"
- if you want to build the standalone distribution (RCP) run
- download and install MPS 2023.2
- run
gradlew.bat setup
. You can skip this step if you have built the project with Gradle already. - start MPS
- in 'Settings->Appearance & Behavior->Path Variables', set the path variable
mbeddr.formal.home
to point to the directory which contains the cloned 'mbeddr.formal' repository. - FASTEN sources are organized in several MPS projects. To build FASTEN, each of these projects need to be built. Please open and build the projects in the following order:
code\languages\com.mpsbasics
code\languages\com.mbeddr.formal.nusmv
- after this build is successful, you should be able to open the
code\tutorial
project (contains only SMV-based DSLs)
- after this build is successful, you should be able to open the
code\languages\com.mbeddr.formal.req
code\languages\com.mbeddr.formal.spin
code\languages\com.mbeddr.formal.safety
After the above steps you should be able to open code\tutorial-safety
project - it contains the DSLs related to safety.