Open
Conversation
Author
|
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 file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR adds a PRISM backend to probably. It can convert pCGL programs to PRISM!
For an example, I slightly modified the
example.pctlbecause the loop would never execute (because by default the model checker wouldn't do the probabilities for all values off, only initialisesfto 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: