Joachim Klein
a11d7c9797
JDD, prism.StateValues: find max finite value
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@12107 bbc10eb1-c90d-0410-af57-cb519fbb1720
9 years ago
Joachim Klein
b2fbb25dd9
JDD.isSingleton: improve documentation (requires that the vars are ordered)
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@11991 bbc10eb1-c90d-0410-af57-cb519fbb1720
9 years ago
Joachim Klein
4340969f70
JDD: Add DerefArray convenience method
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@11819 bbc10eb1-c90d-0410-af57-cb519fbb1720
10 years ago
Joachim Klein
296f589631
JDD.isSingleton: fix broken computation
The computation did not actually check that
all the required variables actually occur...
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@11531 bbc10eb1-c90d-0410-af57-cb519fbb1720
10 years ago
Joachim Klein
4cca315ef2
Add JDD.FindMinPositive (minimal positive terminal constant of an MTBDD)
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@11459 bbc10eb1-c90d-0410-af57-cb519fbb1720
10 years ago
Joachim Klein
888d62633d
DebugJDD: Move JNI methods to JDD class
The order of the content of the prism/include/DebugJDD.h header (auto-generated
by javah) sometimes changes nondeterministically. This seems to be due to the
combination of JNI methods and internal classes in DebugJDD.
We move the two DebugJDD JNI methods to JDD instead and remove the
prism/include/DebugJDD.h header, as well as the generation in the Makefile.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@11455 bbc10eb1-c90d-0410-af57-cb519fbb1720
10 years ago
Joachim Klein
338d76503c
jdd.JDD: add sanity checks (SanityJDD framework)
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@11451 bbc10eb1-c90d-0410-af57-cb519fbb1720
10 years ago
Joachim Klein
a7f0aff6e4
JDD: add JDD.IsZeroOneMTBDD() method for checking if an MTBDD is a 0/1-MTBDD
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@11448 bbc10eb1-c90d-0410-af57-cb519fbb1720
10 years ago
Joachim Klein
c9f30162c7
JDD: fix typos in comment for JDD.isSingleton
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@11397 bbc10eb1-c90d-0410-af57-cb519fbb1720
10 years ago
Joachim Klein
861883963c
DebugJDD: Improved ref count debugging for JDD, new options
This is an improved version of the DebugJDD functionality,
allowing the debugging of the reference counting for JDDNodes.
DebugJDD now closely tracks the various "events" for a JDDNode, i.e.,
referencing (JDD.Ref), dereferencing (JDD.Deref), returning a pointer
from DD_* methods (JDD.ptrToNode), copying (JDDNode.copy) and using of
a node as a DD_* method argument. This finer-grained tracking allows
to catch some more situations and provide better diagnostics than the
previous version.
Additional command-line options are:
-ddtraceall: Trace all JDDNode IDs
-ddtracefollowcopies: Automatically trace all JDDNode IDs that
result from a copy of a traced node
-dddebugwarnfatal: Treat warnings as errors
-dddebugwarnoff: Turn of warnings
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@11374 bbc10eb1-c90d-0410-af57-cb519fbb1720
10 years ago
Joachim Klein
b2e4a120be
JDD: Change scope of DD_Ref and DD_Deref to "package" (to allow calls from DebugJDD)
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@11373 bbc10eb1-c90d-0410-af57-cb519fbb1720
10 years ago
Joachim Klein
a815dcfdfd
JDD: Add multi-argument Deref, for convenience.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@11232 bbc10eb1-c90d-0410-af57-cb519fbb1720
11 years ago
Joachim Klein
8aa10e320d
JDD: add multi-operand And and Or methods (convenience wrappers around binary And / Or)
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@11221 bbc10eb1-c90d-0410-af57-cb519fbb1720
11 years ago
Joachim Klein
55ff27424a
JDD: add multi-operand Plus, Max and Min operations (convenience wrappers around Apply)
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@11220 bbc10eb1-c90d-0410-af57-cb519fbb1720
11 years ago
Joachim Klein
71183e47e7
JDD: add Equiv BDD operation (dd1 <=> dd2)
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@11219 bbc10eb1-c90d-0410-af57-cb519fbb1720
11 years ago
Joachim Klein
4300731de6
Add JDD.Times: Syntactic sugar for multi-operand JDD.Apply(TIMES, ...)
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@10512 bbc10eb1-c90d-0410-af57-cb519fbb1720
11 years ago
Joachim Klein
941e45affd
Add JDD.isSingleton
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@10511 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
Dave Parker
f930d8e60f
Tweak CUDD out-of-memory error output.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@10492 bbc10eb1-c90d-0410-af57-cb519fbb1720
11 years ago
Joachim Klein
eecc87786a
CuDD is actually called CUDD
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@10485 bbc10eb1-c90d-0410-af57-cb519fbb1720
11 years ago
Dave Parker
5ad8ef2269
Small typos
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@10484 bbc10eb1-c90d-0410-af57-cb519fbb1720
11 years ago
Joachim Klein
91cb0f7e36
JDD: Use checkForCuddError() for DD functions that don't return a node
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@10480 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
2c2533eda8
JDD: Check for NULL ptr in Ref/Deref
Normally, we should catch the construction of JDDNodes with NULL pointers
beforehand, but for robustness we make sure that we do not call Cudd_Ref
and Cudd_Deref for a NULL DdNode*, as that leads to SIGSEGV crashes.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@10473 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
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
Joachim Klein
ec590ec1ee
JDD: remove 'import PrismException' introduced in last commit, not needed
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@10454 bbc10eb1-c90d-0410-af57-cb519fbb1720
11 years ago
Joachim Klein
fbf968e060
JDD: add PrintMinterms methods for debugging
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@10453 bbc10eb1-c90d-0410-af57-cb519fbb1720
11 years ago
Dave Parker
3954b78eb1
Method name typo: JDD.AreInterecting -> JDD.AreIntersecting.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@10236 bbc10eb1-c90d-0410-af57-cb519fbb1720
11 years ago
Dave Parker
2dc4ef9a4a
Fix JavaDoc bugs.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@10217 bbc10eb1-c90d-0410-af57-cb519fbb1720
11 years ago
Dave Parker
ab328b5fc7
Code tidy of comments in jdd.JDD (from Joachim Klein).
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@9364 bbc10eb1-c90d-0410-af57-cb519fbb1720
12 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
14 years ago
Dave Parker
de95d5ea89
Slight efficiency improvement in JDD.IsContainedIn().
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@5705 bbc10eb1-c90d-0410-af57-cb519fbb1720
14 years ago
Dave Parker
4f09722850
Added IsContainedIn method to JDD.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@5601 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
15 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
e31edd5a95
Code tidy.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@1660 bbc10eb1-c90d-0410-af57-cb519fbb1720
17 years ago
Dave Parker
2ac4f2337d
JDD.Constant detects +/- infinity.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@1659 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
a295451149
Code tidy.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@745 bbc10eb1-c90d-0410-af57-cb519fbb1720
19 years ago
Dave Parker
84bc3d3d47
Eclipse tidy (remove unused imports).
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@661 bbc10eb1-c90d-0410-af57-cb519fbb1720
19 years ago
Dave Parker
738b806fd2
Added (in full) log function to PRISM language.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@569 bbc10eb1-c90d-0410-af57-cb519fbb1720
19 years ago
Dave Parker
2179deefdb
Updated email addresses and affiliations in copyright info.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@547 bbc10eb1-c90d-0410-af57-cb519fbb1720
19 years ago
Dave Parker
4c05bfcab6
Added Java (to String) version of PrintTerminals(AndNumbers) functions.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@308 bbc10eb1-c90d-0410-af57-cb519fbb1720
20 years ago
Dave Parker
d636ab1969
Addition of 64-bit PRISM branch to trunk.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@262 bbc10eb1-c90d-0410-af57-cb519fbb1720
20 years ago
Dave Parker
5ef3824832
Rearrangement and tidy-up of copyright/license info in file headers.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@253 bbc10eb1-c90d-0410-af57-cb519fbb1720
20 years ago
Dave Parker
7e74ff9924
Added GetInfoString() and GetInfoBriefString() functions to JDD.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@131 bbc10eb1-c90d-0410-af57-cb519fbb1720
20 years ago
Dave Parker
2e52615489
Addition of VariablesGreaterThan etc. functions to dd/jdd (used for symmetry).
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@11 bbc10eb1-c90d-0410-af57-cb519fbb1720
21 years ago
Dave Parker
b54050a199
PRISM trunk layout rearrangement.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@4 bbc10eb1-c90d-0410-af57-cb519fbb1720
21 years ago
Dave Parker
30e24567d5
Setting trunk version of PRISM to 2.1.dev11.sim8.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@2 bbc10eb1-c90d-0410-af57-cb519fbb1720
21 years ago