masawei
a6f20400df
Added similar filters for Ltl and Csl.
- Fixed similar undefined behavior for the MarkovAutomaton Csl modelchecker.
Next up: Make necessary changes to the formula parsers.
Former-commit-id: e8765fe58b
11 years ago
masawei
2f5f8c0918
PrctlFilter is operational but not yet complete (proper standard output missing).
- General function of the filters: The filter as an abstraction layer between the control flow and the formula/modelchecker.
|- It has a formula as child but is not a formula itself.
|- It invokes the modelchecking process on the child formula and manipulates the result.
|- For the purpose of result manipulation it keeps a list of filter actions.
|- Each action manipulates the result in a certain way. For example: It returns only the results for states 25 to 140.
|- Furthermore the printing of the result to standard out and the log is no longer done by the modelchecker but by the filter.
|- That way the tasks of each class becomes more clear: Modelchecker to compute the results, filter to prepare the computed results for write out.
- Battled with a major design problem: How to integrate the optimizing operator (aka. min or max probs for non-det. models) into the filter scheme.
|- It is now integrated as a separate filter action, which does not touch the results but hold the flag determining whether to maximize or to minimize.
|- This action must be the innermost filter action (i.e. the first list entry) to have any effect.
|- This is combined with a special fuction of the modelchecker that manipulates the mutable minimizationStack calculates the modelchecking result and resets the stack to its original state.
|- This way the information whether to min, to max or not to try is managed by the filter and propagated as needed.
|- Remark: Fixed a major risk of undefined behavior in the SparseMdpPrctlModelChecker.
|- If the formula to be checked did not have a NoBoundFormula as root then the minimumOperatorStack would be empty and minimumOperatorStack.top() would result in undefined behavior.
|- Added tests whether the stack is empty before trying to read out the possibly non existant top element.
Next up: Implement similar filters for LTL and CSL and try to get it compiled.
Former-commit-id: 577998e027
11 years ago
dehnert
d70bb836bb
Tests are now working again with the row-grouped matrix.
Former-commit-id: b58e76b5bb
11 years ago
dehnert
8ebd924ca6
Further work on refactoring solvers: cleaned LP solver interface a bit and adapted glpk- and Gurobi-based implementations of the interface.
Former-commit-id: 25b7a22bcc
12 years ago
dehnert
81cf0e2b22
Added SparseMatrixBuilder class that actually builds the matrices. A call to build() will then generate the matrix. This eliminates superfluous checks in the matrix that slowed down performance.
Former-commit-id: af5d946fb8
12 years ago
dehnert
cf2b84b281
Further work on iterators for sparse matrix.
Former-commit-id: 8e78262161
12 years ago
dehnert
a26f63be30
Finished reworking the sparse matrix implementation. Adapted all other classes to the (partially) new API of the matrix.
Former-commit-id: 2c3b5a5bc3
12 years ago
dehnert
84bd5f3b40
Renamed ConstTemplates to constants. Removed all calls to constGetZero, constGetOne and constGetInfinity by the new names. Created performance test for bit vector iteration.
Former-commit-id: 6d90ec961e
12 years ago
dehnert
d5cadc0f4b
Finalized interface of bit vector. Added unit tests for all methods of the bit vector.
Former-commit-id: 6c7834ed20
12 years ago
masawei
4dca7abd3f
Implementaed methods for checking until formula by providing the left and right states instead of the whole formula (same with bounded Until) in the SparseDtmcPrctlModelChecker, analouge to the SparseMdpPrctlModelChecker.
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
12 years ago
dehnert
a99bdf1b17
Switched to more elegant solution to query initial states of a model.
Former-commit-id: 9a5c90c5d5
12 years ago
dehnert
f39fb24f65
Removed pointers from Model Checker Interface (and callback methods in formulas). From now on, the results are returned in form of an object. Because of the existing move semantics for the types in question, this does not come at a performance penalty.
Former-commit-id: 5befdebd92
12 years ago
dehnert
36543de851
Started trying to implement a more clean iterator solution for sparse matrix.
Former-commit-id: 2173972b82
12 years ago
dehnert
7095f8e67f
Fixed a lot of issues introduced by refactoring.
Former-commit-id: c3a5177008
12 years ago
dehnert
abf6f85b63
Intermediate commit to switch workplace.
Former-commit-id: 11932e19d7
12 years ago
PBerger
b978a4d311
Added more move constructors.
Former-commit-id: 9770365fbb
12 years ago
Lanchid
81025757f8
Minor fix (Changed function name)
12 years ago
dehnert
65ebe3dcc3
Enabled check whether initial states are contained in the set of states for which the probability/reward values could be determined via graph algorithms to shorten computation times if possible.
12 years ago
dehnert
f44f0ce410
Cleaned interfaces of models from std::shared_ptr. Improved some code in graph utility.
12 years ago
Lanchid
ec91dcbe2e
Merge branch master into LTLParser
12 years ago
Lanchid
f9ab6f85d0
- Restructuration of model checkers (by logic)
- LTL file parser
12 years ago
dehnert
3851377064
Introduced executable storm-functional-tests and storm-performance-tests. While the former contains the previous tests, the latter is currently empty, but will hold performance tests in the future.
12 years ago
dehnert
fc67cf4e3f
Further refactoring of GraphAnalyzer class.
12 years ago
dehnert
cc7230abb1
Started to refactor graph analyzing to include less pointers and the like. Currently this breaks two tests.
12 years ago
Lanchid
cc242974dc
Renamed namespace storm::formula to storm::property
12 years ago
Lanchid
ccfd1ccc6a
Documentation for CSL and PRCTL classes
12 years ago
Lanchid
f513e49084
Almost finished restruction of PRCTL formulas; adapted code (including
test cases) to work correctly with the new structure
12 years ago
Lanchid
08815b8c13
Changed "NoBoundOperator" to "PathNoBoundOperator", as I will implement
a "StateNoBoundOperator" now...
12 years ago
dehnert
00b4797948
Further refactoring. Other classes are now adapted to the changes in the sparse matrix class.
12 years ago
dehnert
9ae177c9b5
Further refactoring. In particular of the matrix class.
12 years ago
dehnert
43f11ccc5f
Refactoring of modelchecker folder.
12 years ago
dehnert
c1986bcc0e
Refactored two of the model checker classes.
12 years ago
dehnert
f1c379bbe3
Moved model checking functionality for MDPs for general superclass such that specialized model checkers only need to implement certain operations. Fixed tests.
12 years ago
dehnert
34b85b956e
Moved model checking of DTMCs to superclass. Now, each DTMC model checker only needs to implement matrix-vector multiplication and linear equation solving to be able to fully model check DTMCs. Added subset/disjoint functionality to bit vector. Changed tests for MDP and DTMC model checking a bit.
12 years ago
Lanchid
5b57728d7e
Merge branch master into PrctlParser
12 years ago
gereon
75d61d3af3
explicit private constructor was not needed after all
12 years ago
gereon
b1498ef0bb
moved model from specific model checkers to AbstractModelChecker
12 years ago
dehnert
73623ff3f6
Added boolean parameter qualitative to all path formulas, i.e. to the checking and the callback methods.
12 years ago
dehnert
5ba7f63bc2
Splitted RewardBoundOperator and ProbabilisticBoundOperator checking methods for model checkers (needed for enabling qualititative model checking for P operator with bounds 0/1). Moved some methods of DtmcModelChecker one level up to AbstractModelChecker. TODO: this should be done for other methods as well, but there are more changes needed for that to work.
12 years ago
dehnert
48dea0199e
Started implementing the model checker for MDPs. Added reduce functionality to vector utility. Moved min/max capability to NoBoundOperator.
12 years ago
dehnert
7d95a45633
Fixed bug in AbstractModelChecker: it does now correctly inherit from a lot more interface classes. NOTE: checking a formula on a model checker that does not support it failed silently. This should NOT be the case. Re-enabled DEBUG option for cmake. NOTE: why was this disabled anyway? Introduced another layer AbstractDeterministicModel and AbstractNonDeterministicModel in model hierarchy to allow for easily distinguishing these classes. Made necessary adaptions in (hopefully) all classes. Move the graph analyzer to utility folder.
12 years ago
gereon
5bb71a28e9
added more interfaces to AbstractModelChecker.
12 years ago
Lanchid
afce8c9d12
Fixed some doxygen warnings
(Remaining warnings all appear because of undocumented function
parameters)
12 years ago
gereon
47cb1aa4d9
renamed BoundOperator to PathBoundOperator (StateBoundOperator is coming soon...)
renamed modelChecker to modelchecker
12 years ago
Lanchid
7e87f35e95
First test case for prctl parser, and some necessary modifications for
the code
12 years ago
gereon
8a719bed22
some more form on formulas. seems to work for formula objects changed yet...
12 years ago
gereon
df91728da0
first "kind of working" version.
13 years ago
gereon
54499c35ee
adding missing include
13 years ago
Lanchid
1b0449addb
Prctl parser... not yet working
13 years ago
dehnert
11b16f5dde
Made bound/no-bound operators more consistent to reduce similar code. Changed bound operators to have a single bound and a comparison operator instead of an interval.
13 years ago