Joachim Klein
2b07700f5f
StateValues: new method filter(dd, double), sets values not in filter to d
Adapt DoubleVector to make value for filter user-definable.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@10516 bbc10eb1-c90d-0410-af57-cb519fbb1720
11 years ago
Joachim Klein
19f422a472
Refactor DebugJDD handling, add node tracing.
The DebugJDD class provides Java-side reference counting for
JDDNodes and tries to detect problems with the reference counting,
such as to many derefs (can lead to crashes during garbage collection)
or too few derefs (leads to memory leakage and a warning when exiting
PRISM).
When debugging is enabled, each JDDNode is assigned a unique, sequential
ID that should be stable across runs of PRISM with the same command-line
arguments, in contrast to the underlying CUDD DDNode pointers, which can
and do change with each invokation.
A tracing mechanism allows to print all the ref/deref events for a particular
JDDNode.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@10506 bbc10eb1-c90d-0410-af57-cb519fbb1720
11 years ago
Joachim Klein
ea8a7c6ba9
Add DebugJDD_GetExternalRefCounts
Analyze the BDD and return the implied number of external references per node
in a map (node -> count). Only return nodes with non-zero external references.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@10505 bbc10eb1-c90d-0410-af57-cb519fbb1720
11 years ago
Joachim Klein
54b5c42121
JDDNode: make DDN_ JNI functions protected and static
This way, they can be accessed by other classes in the jdd package.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@10504 bbc10eb1-c90d-0410-af57-cb519fbb1720
11 years ago
Joachim Klein
9ce369d38e
JDD: Add a flag that can be set/checked in native code to indicate that a CuDD error has occurred.
For DD functions that return a DdNode*, errors can be reported by returning NULL.
Functions that have no return value (printing, etc) or a data value (double, etc)
should set the flag, which can be converted into an CuddOutOfMemoryException on
the PRISM side using JDD.checkForCuddError()
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@10474 bbc10eb1-c90d-0410-af57-cb519fbb1720
11 years ago
Joachim Klein
f23d831b32
JDD: Throw CuddOfOutMemoryException for ptrToNode(NULL)
The native DD/CuDD methods return NULL to indicate that
an out-of-memory error in CuDD has occurred. Before, we
constructed a JDDNode for this NULL ptr, which would lead
to a SIGSEGV crash the next time any operation
(ref, deref, etc) would be performed on that JDDNode.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@10472 bbc10eb1-c90d-0410-af57-cb519fbb1720
11 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
12 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
12 years ago
Dave Parker
31e1c6b6c7
Tidy, document and expand Integer/DoubleVector classes.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@7168 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
a185e6cba9
Missing file from last commit.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@7115 bbc10eb1-c90d-0410-af57-cb519fbb1720
13 years ago
Dave Parker
cc15e6c010
Add integer vector storage class to dv package.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@7114 bbc10eb1-c90d-0410-af57-cb519fbb1720
13 years ago
Dave Parker
5f4b6b5c65
Remove old unneeded code.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@7113 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
9b5aae301f
Patch in current version of multi-objective model checking (from prism-multi branch). Still need to copy across etc/ directory containing lpsolve libraries. Also contains a few JDD fixes via Christian von Essen.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@6211 bbc10eb1-c90d-0410-af57-cb519fbb1720
13 years ago
Dave Parker
ad294aa981
Added dot product method to symbolic StateValue classes.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@5543 bbc10eb1-c90d-0410-af57-cb519fbb1720
14 years ago
Dave Parker
b855754ae9
Set delay for intermittent num sol updates to 5 secs.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@5268 bbc10eb1-c90d-0410-af57-cb519fbb1720
14 years ago
Dave Parker
7725e3b89c
Add intermittent progress updates to numerical solution (sparse engine).
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@5263 bbc10eb1-c90d-0410-af57-cb519fbb1720
14 years ago
Dave Parker
4a8285eec7
Utility method in ODDUtils for converting state index to BDD (already existed at C++ level).
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@4681 bbc10eb1-c90d-0410-af57-cb519fbb1720
14 years ago
Dave Parker
3982420c3d
Utility method in ODDUtils for finding index of first state in a BDD.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@4677 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
720d47eb7d
Added method get_real_time to get real system time, via Java, from C.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@4335 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
94cc80b19e
Missing committed file from earlier JDD-debug functionality.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@4080 bbc10eb1-c90d-0410-af57-cb519fbb1720
14 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
14 years ago
Dave Parker
0debba1332
New JDD debugging code from Vojta (disabled by default).
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@3639 bbc10eb1-c90d-0410-af57-cb519fbb1720
14 years ago
Dave Parker
4ca846889f
Extra DD-to-PP file export functionality for 3D matrices (from Vojta).
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@3234 bbc10eb1-c90d-0410-af57-cb519fbb1720
15 years ago
Dave Parker
5b1ab9a806
Missing EXPORTs (for Windows) in includes.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@2539 bbc10eb1-c90d-0410-af57-cb519fbb1720
15 years ago
Dave Parker
617137b27d
Fix: Time-bounded probs for CTMC are exactly 1 (no round-off) for target states.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@2341 bbc10eb1-c90d-0410-af57-cb519fbb1720
15 years ago
Dave Parker
3f734e76db
Added func in odd to convert index to BDD.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@2202 bbc10eb1-c90d-0410-af57-cb519fbb1720
15 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
7b79848f32
Updated (sparse engine) adversary generation for reachability rewards to use new switches, actions, etc.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@1877 bbc10eb1-c90d-0410-af57-cb519fbb1720
16 years ago
Dave Parker
c66d0a0af4
Removed unneeded sim header files.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@1857 bbc10eb1-c90d-0410-af57-cb519fbb1720
16 years ago
Dave Parker
c5a2ca0ad1
Bug fixes + tidying in adversary export enabling.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@1751 bbc10eb1-c90d-0410-af57-cb519fbb1720
16 years ago
Dave Parker
06f0bbe857
Fixes for DLL building on Windows.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@1738 bbc10eb1-c90d-0410-af57-cb519fbb1720
16 years ago
Dave Parker
fe6b77ba31
Added -exportadv option to enable adversary generation.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@1728 bbc10eb1-c90d-0410-af57-cb519fbb1720
16 years ago
Dave Parker
62880190eb
Utility methods in double vectors.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@1677 bbc10eb1-c90d-0410-af57-cb519fbb1720
16 years ago
Dave Parker
6a0f1b733c
Code tidy.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@1676 bbc10eb1-c90d-0410-af57-cb519fbb1720
16 years ago
Dave Parker
5ab203161e
Export transition matrix for MDP includes action names.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@1638 bbc10eb1-c90d-0410-af57-cb519fbb1720
16 years ago
Dave Parker
8effa267f4
Fixed bug in storage of action info for deadlocks + changes to internal storage.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@1604 bbc10eb1-c90d-0410-af57-cb519fbb1720
16 years ago
Dave Parker
9b80ae6e39
Type cast fix: stops compilation on Mac.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@1589 bbc10eb1-c90d-0410-af57-cb519fbb1720
16 years ago
Dave Parker
b09727fda4
Construction of (symbolic) action label info (currently enabled), functions to convert to sparse storage, and use of this in the adversary generation for MDP until (still switched off for now).
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@1559 bbc10eb1-c90d-0410-af57-cb519fbb1720
16 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
9d151a85f8
Addition of get_index_of_first_from_bdd() function to ODD lib.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@1410 bbc10eb1-c90d-0410-af57-cb519fbb1720
17 years ago
Dave Parker
d199d035ed
Integration of prism-explicit branch into trunk, i.e. merge of trunk@1015-prism-explicit@1405 into trunk.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@1406 bbc10eb1-c90d-0410-af57-cb519fbb1720
17 years ago
Dave Parker
21d2c058f3
Re-arrangement of PrismUtils stuff (split of native and non-native code).
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@1019 bbc10eb1-c90d-0410-af57-cb519fbb1720
17 years ago
Dave Parker
0c4648435b
Added EXPORTs to fix DLL issues on Windows.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@900 bbc10eb1-c90d-0410-af57-cb519fbb1720
17 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
17 years ago