Dave Parker
544c1cbe65
Missing part of previous bigfix.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@11794 bbc10eb1-c90d-0410-af57-cb519fbb1720
9 years ago
Dave Parker
19ec2f0a76
Refactor parametric model construction to use an extension of ModelGenerator instead of reading specifically from a ModulesFile. Needs further refactoring.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@11793 bbc10eb1-c90d-0410-af57-cb519fbb1720
9 years ago
Dave Parker
4f491f9e07
Bug fix in test mode comparisons where expected result is an expression comprising a single constant.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@11792 bbc10eb1-c90d-0410-af57-cb519fbb1720
9 years ago
Dave Parker
37543a928d
Bug fix in test mode comparisons where expected result is an expression comprising a single constant.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@11791 bbc10eb1-c90d-0410-af57-cb519fbb1720
9 years ago
Dave Parker
f4bae778ce
Bug fix in test mode comparisons where expected result is an expression comprising a single constant.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@11790 bbc10eb1-c90d-0410-af57-cb519fbb1720
9 years ago
Joachim Klein
d126a8ae21
prism/Makefile: remove lib/prism.jar on clean
If lib/prism.jar exists (built by 'binary' target), it takes
precedence over newly compiled .class files. This is confusing, as
changing some sources, running 'make clean all' and then running PRISM
results in the "old" behaviour contained in lib/prism.jar.
Now, we remove lib/prism.jar on 'make clean'.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@11789 bbc10eb1-c90d-0410-af57-cb519fbb1720
9 years ago
Joachim Klein
5fcf8f50e6
Makefile: compile ngprism with CFLAGS instead of CPPFLAGS options (calls C compiler)
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@11788 bbc10eb1-c90d-0410-af57-cb519fbb1720
9 years ago
Joachim Klein
72d08b9407
hybrid 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@11787 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
9 years ago
Joachim Klein
08482e9f0d
ExpressionReward: provide static variants of getRewardStructByIndexObject and getRewardStructIndexByIndexObject
Allows resolving of reward structure index objects when they occur outside of R operators.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@11785 bbc10eb1-c90d-0410-af57-cb519fbb1720
9 years ago
Joachim Klein
6935798edf
explicit.ProbModelChecker: provide constructRewards(model, rewardStructureIndex)
Deprecate the previous methods using RewardStruct, as those don't work with
arbitrary model generators.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@11784 bbc10eb1-c90d-0410-af57-cb519fbb1720
9 years ago
Dave Parker
9890d74315
Various improvements focused on the ModelGenerator interface:
- Extended functionality available through the prism.Prism API when using ModelGenerators
- Improvements to ModelGenerator interface wrt handling of rewards (and also labels)
- Explicit engine model checkers now build rewards from a ModelGenerator, not a RewardStruct.
This is now (optionally) attached with the setModulesFileAndPropertiesFile method.
- New code to generate symbolic models from ModelGenerators (useful, if not super efficient)
- Move createVarList() method from ModelGenerator up to ModelInfo
- Some code tidying in LabelList
Code was previously at https://github.com/prismmodelchecker/prism-svn/tree/model-generator
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@11772 bbc10eb1-c90d-0410-af57-cb519fbb1720
9 years ago
Dave Parker
4ad8e43e9f
Deal with module/model alphabets properly in PTAs, in particular when storing PTAs internally using pta.PTA. The definition of the alphabet of a PTA from a PRISM model is now correct and inline with the defition for other models.
Fixes https://github.com/prismmodelchecker/prism/issues/10
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@11770 bbc10eb1-c90d-0410-af57-cb519fbb1720
9 years ago
Joachim Klein
e38ea63e89
Fix U>=t computations for CTMC, explicit engine [with Marcus Daum]
The unbounded until computation has to be carried out on the embedded DTMC.
Fixes issue prismmodelchecker/prism#9 .
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@11768 bbc10eb1-c90d-0410-af57-cb519fbb1720
9 years ago
Dave Parker
7615d9fcd8
Fix handling of PRISM_DEBUG and PRISM_DEBUG_ARG variables in launch scripts so that the scripts work when they are not set.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@11767 bbc10eb1-c90d-0410-af57-cb519fbb1720
9 years ago
Dave Parker
241547abe9
Add PRISM_DEBUG and PRISM_DEBUG_ARG variables to launch scripts, which allow debugging of C++ code, as described at http://www.prismmodelchecker.org/wiki/Developers/Debugging .
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@11766 bbc10eb1-c90d-0410-af57-cb519fbb1720
9 years ago
Joachim Klein
338ef64bb6
Revert SVN 11756 "add jltl2ba.MyBitSet.clone()", breaks LTL->NBA generation
Sorry about that.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@11762 bbc10eb1-c90d-0410-af57-cb519fbb1720
9 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
9 years ago
Joachim Klein
3b4cb29c2c
parser.Values: use PrismUtils.formatDouble for double formatting
Fixes issue #1 .
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@11760 bbc10eb1-c90d-0410-af57-cb519fbb1720
9 years ago
Joachim Klein
ee4f2d2941
ExpressionTemporal: static constructors for the temporal operators
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@11759 bbc10eb1-c90d-0410-af57-cb519fbb1720
9 years ago
Joachim Klein
04bf278fd3
ExpressionTemporal: add Javadoc comments, fix getNumOperands() (is not used)
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@11758 bbc10eb1-c90d-0410-af57-cb519fbb1720
9 years ago
Joachim Klein
f64be5223a
ExpressionTemporal: convenience methods for testing for the various top-level temporal operators
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@11757 bbc10eb1-c90d-0410-af57-cb519fbb1720
9 years ago
Joachim Klein
7317c5f066
add jltl2ba.MyBitSet.clone()
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@11756 bbc10eb1-c90d-0410-af57-cb519fbb1720
9 years ago
Joachim Klein
a4536fef48
add NBA.getSuccessors
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@11755 bbc10eb1-c90d-0410-af57-cb519fbb1720
9 years ago
Joachim Klein
3d51fd0f8f
ExpressionUnaryOp, ExpressionBinaryOp: setOperator from symbol (string), for convenience
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@11754 bbc10eb1-c90d-0410-af57-cb519fbb1720
9 years ago
Joachim Klein
c076b3e005
explicit.ModelTransformation: remove unnecessary Exception [from Steffen Märcker]
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@11753 bbc10eb1-c90d-0410-af57-cb519fbb1720
9 years ago
Joachim Klein
9a2d757554
explicit.ConstructRewards: error on negative rewards, use automatic close for BufferedReader
Optionally, negative rewards can also be accepted to allow dealing with weights in other branches.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@11752 bbc10eb1-c90d-0410-af57-cb519fbb1720
9 years ago
Joachim Klein
3d1ee7a66f
LTL2DA.convertLTLFormulaToDAWithExternalTool: honor PRISM_NO_DA_SIMPLIFY setting
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@11751 bbc10eb1-c90d-0410-af57-cb519fbb1720
9 years ago
Joachim Klein
5c68cf3c2b
param.BigRational: fix BigRational.MONE definition
MONE is not used in the current code base.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@11750 bbc10eb1-c90d-0410-af57-cb519fbb1720
9 years ago
Joachim Klein
494f61adeb
PrismSTPGAbstractRefine: cleanup refactoring from SVN 11747
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@11749 bbc10eb1-c90d-0410-af57-cb519fbb1720
9 years ago
Joachim Klein
890620fd5f
PrismSTPGAbstractRefine: set initial states from the label file
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@11748 bbc10eb1-c90d-0410-af57-cb519fbb1720
9 years ago
Joachim Klein
0667019a05
explicit: Make calls to StateModelChecker.loadLabelsFile static
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@11747 bbc10eb1-c90d-0410-af57-cb519fbb1720
9 years ago
Joachim Klein
55c0034a18
explicit model import: some more minor fixes to set correct initial states
Followup to SVN 11744.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@11746 bbc10eb1-c90d-0410-af57-cb519fbb1720
9 years ago
Dave Parker
a6eb2bd327
Add support for a state rewards file when doing explicit model import (not the explicit engine).
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@11745 bbc10eb1-c90d-0410-af57-cb519fbb1720
9 years ago
Dave Parker
81451753d1
Bug fix for explicit engine model import - we should not assume that the initial state is 0. This also highlights a bug that ModelExplicit should store initial states as a state, not a list, but that issue is not fixed here.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@11744 bbc10eb1-c90d-0410-af57-cb519fbb1720
9 years ago
Dave Parker
0f9dfe0275
prism-auto: Make sure nailgun is closed down if the script ends with an error (and refactor the exit code).
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@11743 bbc10eb1-c90d-0410-af57-cb519fbb1720
9 years ago
Dave Parker
2a38cf110b
prism-auto: Don't actually execute nailgun commands in echo mode - just print them.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@11742 bbc10eb1-c90d-0410-af57-cb519fbb1720
9 years ago
Joachim Klein
5ae882f609
prism.ExplicitFiles2MTBDD: better I/O error messages
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@11741 bbc10eb1-c90d-0410-af57-cb519fbb1720
9 years ago
Joachim Klein
19cb2b45b5
arser.ExplicitFiles2ModulesFile: create label definitions in the ModulesFile for all labels in .lab file [with Steffen Maercker]
To be able to reference labels that are loaded from a .lab file and stored in the model,
they have to appear in the ModulesFile. This method stores
label "labelName" = false;
definitions. As the actual state set information is directly stored in the model,
evaluating the label will result in the correct state set.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@11740 bbc10eb1-c90d-0410-af57-cb519fbb1720
9 years ago
Joachim Klein
7d9beeaf21
ExplicitFiles2MTBDD/import: fully load label information and attach to model [with Steffen Maercker]
In the same method, we also determine the initial states
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@11739 bbc10eb1-c90d-0410-af57-cb519fbb1720
9 years ago
Joachim Klein
5fc4ca16ef
symbolic models: allow attaching label state sets directly to the model (similar to explicit models)
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@11738 bbc10eb1-c90d-0410-af57-cb519fbb1720
9 years ago
Joachim Klein
2d494dbeac
prism.ExplicitFiles2MTBDD: tidy JavaDoc, auto-close BufferedReaders [with Steffen Maercker]
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@11737 bbc10eb1-c90d-0410-af57-cb519fbb1720
9 years ago
Joachim Klein
ef71f87d58
parser.ExplicitFiles2ModulesFile: automatic close for BufferedReader
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@11736 bbc10eb1-c90d-0410-af57-cb519fbb1720
9 years ago
Joachim Klein
d9a0216159
parser.ExplicitFiles2ModulesFile: make PrismComponent (tidy)
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@11735 bbc10eb1-c90d-0410-af57-cb519fbb1720
9 years ago
Joachim Klein
76bf167c8e
Prism: activate model import from explicit files for the explicit engine (-import... switches)
For MDPs, this currently relies on MDPSimple, which is not necessarily the most efficient way
to read/store the imported models.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@11734 bbc10eb1-c90d-0410-af57-cb519fbb1720
9 years ago
Joachim Klein
541e995741
explicit.ExplicitFiles2Model: explicit model import
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@11733 bbc10eb1-c90d-0410-af57-cb519fbb1720
9 years ago
Joachim Klein
d4ffeac654
explicit.MDPSimple: more flexible buildFromPrismExplicit() [with Steffen Maercker]
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@11732 bbc10eb1-c90d-0410-af57-cb519fbb1720
9 years ago
Joachim Klein
edbb99fdb4
explicit.DTMSimple: use auto-close in buildFromPrismExplicit(), better error message (with Steffen Maercker)
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@11731 bbc10eb1-c90d-0410-af57-cb519fbb1720
9 years ago
Joachim Klein
2c3d4a09e3
explicit.StateModelChecker: make loadLabelsFile static, use automatic close for BufferedReader
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@11730 bbc10eb1-c90d-0410-af57-cb519fbb1720
9 years ago
Dave Parker
45466e9f1c
Minor refactoring (for branch synching).
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@11695 bbc10eb1-c90d-0410-af57-cb519fbb1720
9 years ago