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
14d652d331
PM: cleanup format strings
%ld for number of nodes
%ld for number of iterations / fgw.right (continuous time computations)
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@12185 bbc10eb1-c90d-0410-af57-cb519fbb1720
9 years ago
Joachim Klein
0c39f57269
PM_ExportVector: use int64_t for ODD indexing, adapt printf format string
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@12183 bbc10eb1-c90d-0410-af57-cb519fbb1720
9 years ago
Joachim Klein
7ae5a96d08
PM_ExportMatrix: use int64_t for ODD indexing, adapt printf format string
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@12182 bbc10eb1-c90d-0410-af57-cb519fbb1720
9 years ago
Joachim Klein
362c6da6c9
PM_ExportLabels: use int64_t for ODD indexing, adapt printf format string
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@12181 bbc10eb1-c90d-0410-af57-cb519fbb1720
9 years ago
Joachim Klein
8b3b240c8a
PM_ExportLabels: clean-up, remove unused argument from recursive calls
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@12180 bbc10eb1-c90d-0410-af57-cb519fbb1720
9 years ago
Joachim Klein
c6fa9d2d43
PM_ExportVector.cc: Fix export_string format string to get correct output for state rewards export (issue #16 )
Fixes https://github.com/prismmodelchecker/prism/issues/16 .
In SVN commit 12019 (1d8f9fc6b9 ),
we converted the ODD indizes from long to int64_t to get the same size in 32/64bit on Linux / OS X and Windows.
With this change, the format string used here became incorrect and, on 32bit Linux, the second "%.0f" printing takes
its value from part of the first argument instead of from the double returned by DD_GetNumMinterms.
Now, we use the PRId64 macro to get the correct format string parameter.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@12177 bbc10eb1-c90d-0410-af57-cb519fbb1720
9 years ago
Joachim Klein
b43a911857
PM_ExportVector.cc: small cleanup
Remove third argument for an export_string call that only uses 2 in the format string.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@12176 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
00a5721cbe
(export iterations) MTBDD engine: If enabled, export iterations to HTML file
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@12076 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
7f66e8b286
MTBDD Reachability computation: Gracefully handle CUDD out-of-memory
We check after each DD operation whether the returned DdNode* is NULL
and abort the computation. The NULL return value is then caught in the
JDD.ptrToNode() method, which raises a CuddOutOfMemoryException.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@12008 bbc10eb1-c90d-0410-af57-cb519fbb1720
9 years ago
Joachim Klein
453a96d80d
MTBDD Prob0/1 computations: Gracefully handle CUDD out-of-memory
We check after each DD operation whether the returned DdNode* is NULL
and abort the computation. The NULL return value is then caught in the
JDD.ptrToNode() method, which raises a CuddOutOfMemoryException.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@12007 bbc10eb1-c90d-0410-af57-cb519fbb1720
9 years ago
Joachim Klein
1621fb31c7
mtbdd/PM_NondetInstReward.cc: comment typo
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@11540 bbc10eb1-c90d-0410-af57-cb519fbb1720
10 years ago
Joachim Klein
723c9123c8
mtbdd.PrismMTBDD: JavaDoc for reachability, prob precomputation methods, add sanity checks
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@11452 bbc10eb1-c90d-0410-af57-cb519fbb1720
10 years ago
Joachim Klein
379918beea
JDD: Switch to JDDNode ptrToNode(long ptr) as a single point for converting from a DD long pointer to a referenced JDDNode.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@10471 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
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
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
Dave Parker
a955042131
Add intermittent progress updates to numerical solution (mtbdd engine).
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@5267 bbc10eb1-c90d-0410-af57-cb519fbb1720
14 years ago
Dave Parker
07bf18a2f4
Fix makefiles with easier setup of classpath using * for jars.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@4889 bbc10eb1-c90d-0410-af57-cb519fbb1720
14 years ago
Dave Parker
9786d49b3c
Fix: missing parts of last commit.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@4666 bbc10eb1-c90d-0410-af57-cb519fbb1720
14 years ago
Dave Parker
c1e24408ae
New (hidden) options for different symbolic reachability methods (-frontier, -bfs). Also: new way to read options from C++ code: PrismNative stores reference to Prism object which is then queried.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@4663 bbc10eb1-c90d-0410-af57-cb519fbb1720
14 years ago
Dave Parker
3199c3daa2
Tidy up reachability code: strip out old diagnostic output, uncomment frontier method for easier testing.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@4662 bbc10eb1-c90d-0410-af57-cb519fbb1720
14 years ago
Vojtech Forejt
e3f6e64e7a
package-info.java is ignored in makefiles
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@4380 bbc10eb1-c90d-0410-af57-cb519fbb1720
14 years ago
Dave Parker
3e4c617a81
Move most native code options from engine shared libraries to prism library.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@4277 bbc10eb1-c90d-0410-af57-cb519fbb1720
14 years ago
Dave Parker
ab6d2bbbef
Remove use of -lm linking under Cygwin.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@4253 bbc10eb1-c90d-0410-af57-cb519fbb1720
14 years ago
Dave Parker
f344411a3c
Fixes in C-code warning message functions.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@4180 bbc10eb1-c90d-0410-af57-cb519fbb1720
15 years ago
Vojtech Forejt
dc6037d047
PrintWarningToMainLog method that gives access to Java printWarning method.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@4073 bbc10eb1-c90d-0410-af57-cb519fbb1720
15 years ago
Dave Parker
f61753b14e
Slight changes to exporttransdot format (to match explicit): boxes bot circles for states (works better when there are state labels) and larger dots for mdp transitions.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@3283 bbc10eb1-c90d-0410-af57-cb519fbb1720
15 years ago
Vojtech Forejt
abda1ed33a
additional changes re setting mainlog and techlog in native calls
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@2577 bbc10eb1-c90d-0410-af57-cb519fbb1720
15 years ago
Vojtech Forejt
6e3b126188
corrected a problem with setting mainlog and techlog in native calls
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@2576 bbc10eb1-c90d-0410-af57-cb519fbb1720
15 years ago
Dave Parker
35f377ab3e
Improved documentation (JavaDoc mostly).
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@2436 bbc10eb1-c90d-0410-af57-cb519fbb1720
15 years ago
Vojtech Forejt
a385efdea6
%d to %ld (remaining files)
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@1932 bbc10eb1-c90d-0410-af57-cb519fbb1720
16 years ago
Vojtech Forejt
93f250b941
- changed %d to %ld where fox_glynn output is logged
- delete fgw.weights after it is used
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@1931 bbc10eb1-c90d-0410-af57-cb519fbb1720
16 years ago
Dave Parker
b6b993f030
Improved Fox-Glynn for small numbers + int overflow bugfix (Vojta).
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@1926 bbc10eb1-c90d-0410-af57-cb519fbb1720
16 years ago
Dave Parker
56091fb8ac
Import initial distributiion option for DTMCs too.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@1575 bbc10eb1-c90d-0410-af57-cb519fbb1720
17 years ago
Dave Parker
0dc7132f3b
Option to export transient probabilities + (internally) possibility to choose initial distribution for CTMC transient.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@1573 bbc10eb1-c90d-0410-af57-cb519fbb1720
17 years ago
Dave Parker
0d2d505697
Bugfix: Crash on CTMC transient probs with MTBDD engine.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@1561 bbc10eb1-c90d-0410-af57-cb519fbb1720
17 years ago
Dave Parker
57547299d9
New option to export model to dot file with embedded state info (-exporttransdotstates).
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@1433 bbc10eb1-c90d-0410-af57-cb519fbb1720
17 years ago
Dave Parker
d406c932fc
Bug fix in expected reward reachability computations (regarding transitions to infinity states).
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@1416 bbc10eb1-c90d-0410-af57-cb519fbb1720
17 years ago
Dave Parker
2cc923719e
Bug fix: Detection of error when Fox-Glynn value computation overflows.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@902 bbc10eb1-c90d-0410-af57-cb519fbb1720
18 years ago
Dave Parker
55c0797a8c
Improvements to memory handling, especially in sparse/hybrid engines:
- better catching of memory-out errors
- improved clarity of memory usage output
- removed various memory leaks
- now consistently use new/delete, no malloc/free
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@899 bbc10eb1-c90d-0410-af57-cb519fbb1720
18 years ago
Dave Parker
e9bcc66bd1
Precomputation algorithm tidy-up.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@881 bbc10eb1-c90d-0410-af57-cb519fbb1720
18 years ago
Dave Parker
d11036e9ad
Code tidy to remove compile errors.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@874 bbc10eb1-c90d-0410-af57-cb519fbb1720
18 years ago