Skip to content
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

Investigate effects of model checking with variably-typed partitions #405

Open
ohmann opened this issue Mar 29, 2016 · 0 comments
Open

Investigate effects of model checking with variably-typed partitions #405

ohmann opened this issue Mar 29, 2016 · 0 comments

Comments

@ohmann
Copy link
Contributor

ohmann commented Mar 29, 2016

This issue concerns model checking only when using variably-typed partitions with the library entry point (SynopticLib).

During model checking, if for example we're traversing a state machine corresponding to AFby, we enter an aSeen state when we see A from the aNotSeen state, etc. Because we're traversing a graph during model checking, we theoretically have a different such state machine for each possible path through the model, and we implement this by simply keeping one state machine where we're simultaneously in all states that any of those individual state machines would be in. Thus, if we see A when we're in both aNotSeen and aThenNonBSeen, we're now in aSeen and (still) aThenNonBSeen.

Think more about how variable partitions affect this process and ultimately if the current strategy is good enough for variably-typed model checking to remain correct? We already consider all possible next states in the combined state machine described above, i.e., we don't short-circuit when we see A and assume we can't also see B in this partition. However, we need to verify that there is no possible odd behavior due to a partition containing both A and B.

Specifically, draft new model checking state machines for each invariant that has one or more states that consider A and B being seen in the same partition. Then for each, think about whether this state is simply redundant or whether it actually is necessary. If the latter, augment the model checking state machines in code.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant