- Fixed the infinite loop bug that occured when giving a filepath pointing to a directory instead of a file.
- The BitVector to Dtmc subsystem converter now supports an optional choice labeling.
- The output of the modelchecker to the log file is now suppressed while doing a counterexample generation.
- It is now possible to add more atomic propositions to the AtomicPropositionLabeling than previously declared (at the cost of one reserve per added ap beyond the maximum).
The maximum is then increased accordingly.
|-> As a result the state added for the Dtmc subsystem has now its own label.
Next up: Merge.)
Former-commit-id: 74c92aaea1
-std::cout gives enough information to understand what th result of the generaton is.
-Added another argument to --counterExample specifying a directory to write .dot files containing the critical subsystems (as Dtmc) to.
-Cleaned up some logging output of the counterexample generationn.
Next up: Merging.
Former-commit-id: feb4323052
Remark: I don't quite get the optional choice labeling in Dtmcs.
Whats its purpose?
Why is it undocumented in the Dtmc constructor, not supported by the parser but needed nevertheless?
Next up: Pretty up counterexample generation output.
Former-commit-id: c04063b608
-Had to add a addState function to AtomicPropositionLabeling to be able to throw out the unneeded states using the substates constructor while at the end adding the absorbing state and its label.
An alternative for that would be to provide a constructor taking the mapping and the single labelings vector as well as a getter for the single labelings.
-The --counterexample command now only uses the pctl file given as argument to it and therefore it is now superflous to give the --prctl command in that case.
-Also fixed a bug in the filter constructor of the BitVector.
Now it copies all bit values specified by the filter to the correct index of new instance instead of all to index 0.
Next up: Handle the optionals of the Dtmc when creating the sub-Dtmc.
Former-commit-id: b45ee94cb2
Next up: Write the DTMC output for the subsystem generation.
Also:
- fixed one bug in the subsystem generation leading to an infinite loop
- corrected a typo in a comment in SparseMatrix
Former-commit-id: 6014bf2dd2
Reverted unnecessary changes to the AbstractModel checker.
Next on the list: Adapting the subsystem generation routine to the new method of providing the subsystem to the model checker.
Former-commit-id: 6c90c064a2
Ran into problem with the AbstractModelChecker being declared const for the model check.
I use it for the subsystem generation and tell it what the current subsystem is. so I have two options:
1. Carry the subsystem as argument through all checking functions of the complete checking tree
2. Store the subsystem in the checker and use it in checkAp to induce the correct result back through the tree.
In the original implementation I used option 2.
But that does only work if it is not constant.
Former-commit-id: 8a833cc05e