- Added a missing inlude (boost/functional/hash.hpp) to SparseMatrix.h. I don't know how this could have been compiled without.
- Changed a return type in the stub section of the GurobiLpSolver to void. Not correctly overwrites the base class function.
- Went through the change history of the SparseMarkovAutomatonCslModelchecker.h to correctly integrate all changes made in this branch with the changes of the other branches.
Former-commit-id: 43ce12274b
- Also removed one superflous class (IOptimizingOperator).
- Killed all warnings concerning missing virtual destructor in the interfaced for the modelchecker.
- A whole lot of little things I can't quite remember.
Next up: Remerge
Former-commit-id: 28fedd036c
- For that implemented function that checks if a formula is a propositional logic formula to all three logics.
- Added tests for the function.
- Added documentation for the function.
Former-commit-id: 3fcb84b990
- Regrettably, the LtlFilterTest could not be done, since an Ltl modechecker would be needed for that. Which, we don't have.
|- So that is a TODO until such a modelchecker is implemented.
- This concludes the testing for the refactured formulas.
Next up: Documentation.
Former-commit-id: 2d731edcd9
- Also handled nullptr actions.
|- They are checked for in the constructor as well as in the add method and filtered out. No segfaults do to nullptr actions anymore.
Former-commit-id: 84b3b2a978
- Also major cleanup of the filter.
- Implementation clompleted for pctl.
Next up: Wrap up the Csl and Ltl filter and then testing.
Former-commit-id: 8189f8462c
- Lots of debugging
- Changed the way the filter keeps information about the scheduler to use for probability/reward queries.
| This was done by keeping a special action at the first position of the action list.
| Which was not exactly consistent with the idea behind the filter actions.
| Now the filter keeps this information as an enum value in a member variable.
- All but one tests are green. So we almost reestablished full functionality.
|- The last test that still fails is SparseMdpPrctlModelCheckerTest.Dice where the second to last model check returns the wrong result.
Next up: Debug. Then introduce the full range of filter actions.
Former-commit-id: fd311966cc
- Also fixed up control flow and some tests for new interfaces.
|-> It now compiles again.
Next up: More functionallity in the filter.
Former-commit-id: 21d43e75c4
- This change splits the path formulas into probabilistic path formulas like Next or Until and reward path formulas like InstantaneousReward or SteadyStateReward.
|- That way it is assured at compile time that no reward path formula can ever be subformula of any probabilistic bound operator and vise versa.
Next up: Adopt changes in the Csl formula tree to the Csl parser.
Former-commit-id: d74c88bbf8
- Every PRCTL formula that worked before works now and behaves in the same way. One exception:
|- Formulas of the type Pmin<0.5[Phi] and Rmin<0.5[Psi] result in a parsing error, as the comparison operator already implies the scheduler to be used.
| Also, the modelchecker now actually uses the comparison operator in order to choose the correct scheduler for MDPs.
Former-commit-id: d942d18e7e
- Fixed similar undefined behavior for the MarkovAutomaton Csl modelchecker.
Next up: Make necessary changes to the formula parsers.
Former-commit-id: e8765fe58b