-
Notifications
You must be signed in to change notification settings - Fork 3
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add PRISM backend to probably #11
base: master
Are you sure you want to change the base?
Conversation
I built the Herman self-stabilising protocol. The PRISM is actually more elegant for this one, but just as a proof-of-concept! There is some code duplication for computing the number of tokens. The bounds of the variables are optional, but required if you want to use Storm in symbolic mode.
To use the
and then we can check the number of steps until the protocol stabilises:
|
This PR adds a PRISM backend to probably. It can convert pCGL programs to PRISM!
For an example, I slightly modified the
example.pctl
because the loop would never execute (because by default the model checker wouldn't do the probabilities for all values off
, only initialisesf
to false if not specified).From this program, you can get a PRISM file:
You can plug that into your favourite model checker:
The tests currently only check whether the PRISM translation doesn't crash, I'm not sure how to verify the correctness of the output without implementing a PRISM parser or something :D
What would be nice: