Joachim Klein
038ed779ff
ExportIterations: Log the file name when exporting iterations (2)
Now for sparse and hybrid as well...
8 years ago
Joachim Klein
7edb481d76
Hybrid/sparse: Add check against state index overflow also to interval iteration methods
9 years ago
Joachim Klein
5adb550043
Makefiles: inhibit parallel building (-j n mode)
Currently, building PRISM with parallel building does not work,
as there are dependencies between targets that are not fully
encoded in the Makefiles. Building with -j n flag would lead to error.
Now, we add the .NOTPARALLEL target to most of the Makefiles,
which tell GNU make to ignore the -j flag. Note that this
only inhibits parallel builds for the current Makefile, we
thus have to specify it for all sub-Makefiles as well
(see https://www.gnu.org/software/make/manual/html_node/Parallel.html )
For the external libraries, CUDD and LPSolve don't seem to mind building
in parallel, so we don't inhibit there and can get some minor compile time
speed-up by using multiple cores if the -j option is specified.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@12202 bbc10eb1-c90d-0410-af57-cb519fbb1720
9 years ago
Joachim Klein
83e6c291b0
(native) switch includes from .h to C++ header wrappers
Consistently include cstdio instead of stdio.h, etc. For MinGW,
the default underlying stdio implementation (Microsoft DLL based vs
POSIX MinGW implementation) differs between C++ and C code, so
format string warnings pop up if we include the C header...
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@12192 bbc10eb1-c90d-0410-af57-cb519fbb1720
9 years ago
Joachim Klein
7c5eb10d37
PH,PM,PS: cast jints to int in printf
On Win32, jints are actually long ints, so printf would need %ld instead of %d.
As jints are 32bit, we simply cast to an int to silence format string compiler
warning.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@12190 bbc10eb1-c90d-0410-af57-cb519fbb1720
9 years ago
Joachim Klein
7d874df348
PrismMTBDD, PrismSparse export_string: Pass via "%s" to log
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@12189 bbc10eb1-c90d-0410-af57-cb519fbb1720
9 years ago
Joachim Klein
6b856bce86
PH, PS: log errors via "%s"
Silences compiler warnings about unsafe format string usage.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@12188 bbc10eb1-c90d-0410-af57-cb519fbb1720
9 years ago
Joachim Klein
a8b8daaf71
PS: cleanup warning message printing
Remove unused argument.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@12187 bbc10eb1-c90d-0410-af57-cb519fbb1720
9 years ago
Joachim Klein
2bb7a217f2
PS: cleanup format strings
%ld instead of %d for nnz
%ld for number of iterations / fgw.right (continuous time computations)
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@12186 bbc10eb1-c90d-0410-af57-cb519fbb1720
9 years ago
Joachim Klein
14ad1d32af
fix compilation issue: cmath / isinf
On newer GCCs, isinf needs to be std::isinf
Switch from math.h include to cmath.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@12163 bbc10eb1-c90d-0410-af57-cb519fbb1720
9 years ago
Joachim Klein
c1efd5233b
(interval iteration, symbolic) interval iteration variants for the computation methods of MTBDD, Hybrid and Sparse
Note: PH_NondetReachRewardInterval.cc has not been tested, the standard variant
is not exposed in PRISM currently.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@12139 bbc10eb1-c90d-0410-af57-cb519fbb1720
9 years ago
Joachim Klein
7c612640da
PS iteration methods: use MeasureSupNorm. MultiObjective remains todo.
Uses common code that was refactored to Measures.h
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@12079 bbc10eb1-c90d-0410-af57-cb519fbb1720
9 years ago
Joachim Klein
3c2a2232e1
(export-iterations) Sparse engine: If enabled, export iterations to HTML file
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@12074 bbc10eb1-c90d-0410-af57-cb519fbb1720
9 years ago
Joachim Klein
30f7def86c
(export-iterations) introduce --exportiterations option, ExportIterations helper classes for C and Java
Generates HTML file with the individual steps of the iterative procedures.
Relies on external JavaScript and CSS.
Is already prepared for exporting interval iteration steps (possibility
to export multiple vectors with type flag per iteration step)
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@12073 bbc10eb1-c90d-0410-af57-cb519fbb1720
9 years ago
Joachim Klein
cc90e7a20c
Sparse engine: Error if number of reachable states is too large
Currently, the sparse engine internally uses int (signed 32bit) index variables
So, if the number of states is larger than Integer.MAX_VALUE, there is a problem
and the code will most probably crash or do nonsensical things.
We check this before calling into the native sparse engine code and
throw a PrismNotSupportedException.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@12020 bbc10eb1-c90d-0410-af57-cb519fbb1720
9 years ago
Joachim Klein
732d224bd7
Win64 cleanup, sparse_adv.cc: avoid pointer-to-integer casts
Here, the casts are not needed, we can simply declare the correct pointer types.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@12014 bbc10eb1-c90d-0410-af57-cb519fbb1720
9 years ago
Joachim Klein
4c134da06d
Win64 cleanup, PS_NondetMulti*: avoid pointer-to-integer casts
Here, the casts are not needed, we can simply declare the correct pointer types.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@12013 bbc10eb1-c90d-0410-af57-cb519fbb1720
9 years ago
Joachim Klein
9850ae3c71
sparse engine: consistently use delete[] when destroying solution vectors
Technically, using 'plain' delete for deleting objects allocated with new[] is
undefined behaviour. In practice, this didn't appear to be a problem.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@11786 bbc10eb1-c90d-0410-af57-cb519fbb1720
10 years ago
Dave Parker
3b68b5e0a9
Bug fix: respect disable_selfloop setting during adversary generation in LP-based multi-objective model checking.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@11761 bbc10eb1-c90d-0410-af57-cb519fbb1720
10 years ago
Vojtech Forejt
4562006bb0
fixed multiobjective lp bug where the reward objective function was not set if there were no PCTL targets.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@11065 bbc10eb1-c90d-0410-af57-cb519fbb1720
11 years ago
Dave Parker
619b7d53c5
Re-enable disabled convergence check in multi-objective value iteration since it can give the wrong answer. Better fix follows.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@10890 bbc10eb1-c90d-0410-af57-cb519fbb1720
11 years ago
Dave Parker
5ab01f26b8
Refactoring + tidying in multi-objective value iteration.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@10885 bbc10eb1-c90d-0410-af57-cb519fbb1720
11 years ago
Dave Parker
d52576a6dd
Refactoring + tidying in multi-objective value iteration.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@10884 bbc10eb1-c90d-0410-af57-cb519fbb1720
11 years ago
Dave Parker
91c8af3aac
Refactoring + tidying in multi-objective value iteration.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@10883 bbc10eb1-c90d-0410-af57-cb519fbb1720
11 years ago
Dave Parker
1493a0c6c5
Refactoring in multi-objective value iteration: move check for step-bounded with GS.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@10882 bbc10eb1-c90d-0410-af57-cb519fbb1720
11 years ago
Dave Parker
3afca48506
More info printed out by multi-objective value iteration + more efficient vector access.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@10880 bbc10eb1-c90d-0410-af57-cb519fbb1720
11 years ago
Dave Parker
a64997f903
Bugfixes in sparse engine adversary generation (cumulative reward and multi-objective): remove second stat line.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@10831 bbc10eb1-c90d-0410-af57-cb519fbb1720
11 years ago
Dave Parker
91d984cce8
Add some adversary generation for multi-objective value iteration (just exports one adv for each separated weighted objective).
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@10829 bbc10eb1-c90d-0410-af57-cb519fbb1720
11 years ago
Dave Parker
ff05caf158
Code tidy.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@10815 bbc10eb1-c90d-0410-af57-cb519fbb1720
11 years ago
Dave Parker
cd859b45db
Multi-objective value iteration: generate (but do not yet export) adversaries for each weighted query.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@10814 bbc10eb1-c90d-0410-af57-cb519fbb1720
11 years ago
Dave Parker
655cfb3550
Some tidying in multi-objective code.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@10813 bbc10eb1-c90d-0410-af57-cb519fbb1720
11 years ago
Dave Parker
09bebccb52
Some tidying in multi-objective code.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@10812 bbc10eb1-c90d-0410-af57-cb519fbb1720
11 years ago
Dave Parker
2806712f80
Some tidying in multi-objective code.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@10811 bbc10eb1-c90d-0410-af57-cb519fbb1720
11 years ago
Dave Parker
412ac91a61
Bug fix in multi-objective value iteration: non-convergence when one objective has weight 0.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@10806 bbc10eb1-c90d-0410-af57-cb519fbb1720
11 years ago
Dave Parker
1eb73ab127
Update sparse engine adversary generation to include number of transitions in the tra file.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@10092 bbc10eb1-c90d-0410-af57-cb519fbb1720
11 years ago
Dave Parker
7eef2a266c
Fix a few compiler warnings.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@10059 bbc10eb1-c90d-0410-af57-cb519fbb1720
11 years ago
Dave Parker
913f80a8e9
Minor refactoring and alignment between PS_NondetMultiReach.cc and PS_NondetMultiReach1.cc.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@9528 bbc10eb1-c90d-0410-af57-cb519fbb1720
12 years ago
Dave Parker
9589a14c14
Compile fix for previous commit.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@9526 bbc10eb1-c90d-0410-af57-cb519fbb1720
12 years ago
Dave Parker
1d09274252
Add adversary export to reward-based multi-objective model checking (sparse engine) - not sure why it was not there.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@9524 bbc10eb1-c90d-0410-af57-cb519fbb1720
12 years ago
Dave Parker
1dc1e484b7
Tidy up JNI wrapper around NDSparseMatrix and push action index storage inside the data structure.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@7609 bbc10eb1-c90d-0410-af57-cb519fbb1720
13 years ago
Dave Parker
0e9b9c38e7
Makefile fixes: stop javah-created headers showing as modified in Cygwin svn due to line endings.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@7550 bbc10eb1-c90d-0410-af57-cb519fbb1720
13 years ago
Dave Parker
9b2d57fccd
Missing file from last commit.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@7509 bbc10eb1-c90d-0410-af57-cb519fbb1720
13 years ago
Dave Parker
edcac4a4a2
Added R[C<=k] operator for MDPs (sparse, explicit).
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@7508 bbc10eb1-c90d-0410-af57-cb519fbb1720
13 years ago
Dave Parker
80ddd4be4b
Some additions to Strategy classes + better integration of symbolic strategy generation.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@7169 bbc10eb1-c90d-0410-af57-cb519fbb1720
13 years ago
Dave Parker
2837f71036
First (partial) connection of sparse adversary generation to Strategy classes and -exportstrat.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@7119 bbc10eb1-c90d-0410-af57-cb519fbb1720
13 years ago
Dave Parker
026359ea2f
Undo last commit
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@7075 bbc10eb1-c90d-0410-af57-cb519fbb1720
13 years ago
Dave Parker
2c5a9de4f8
Code tidy: imports.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@7074 bbc10eb1-c90d-0410-af57-cb519fbb1720
13 years ago
Dave Parker
d1046f553b
Typos (fix from Gaston Ingaramo).
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@6818 bbc10eb1-c90d-0410-af57-cb519fbb1720
13 years ago
Dave Parker
96992ff1c9
Make error_message vars static in sparse/hybrid/mtbdd engines - reportedly causes crashes otherwise (fix from Gaston Ingaramo).
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@6817 bbc10eb1-c90d-0410-af57-cb519fbb1720
13 years ago
Vojtech Forejt
772767fcd7
* maximal number of iteration was changed in C++ code which influenced subsequent runs
* when step bounded was run in GS, a segfault took place before an error could be shown
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@6257 bbc10eb1-c90d-0410-af57-cb519fbb1720
14 years ago