Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Try merging robots2 again, previous merge was squash #6

Merged
merged 249 commits into from
Sep 16, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
249 commits
Select commit Hold shift + click to select a range
95a6c58
GUI fix: better remembering of previous model constants.
davexparker Jun 30, 2022
3a632e2
README contact details update.
davexparker Nov 5, 2022
9324dbd
Implement test for short-circuit evaluation
merkste Nov 21, 2022
2a1c36b
Fix short-circuit evaluation for expressions
merkste Nov 21, 2022
bd7a15b
Add ModelGenerator.getChoiceIndexByAction(), with default implementat…
davexparker Jun 22, 2022
bc92eea
DistributionOver class for discrete distributions, plus sample() meth…
davexparker Jul 4, 2022
e4610cb
Update and re-design of classes to store strategies.
davexparker Jun 24, 2022
9a86ecf
Proper support for SimulatorEngine following a strategy.
davexparker Jun 24, 2022
308677b
Add GUI support for generating strategies and viewing/enforcing them …
davexparker Jun 24, 2022
5bdee58
Add GUI support for export of current strategy (actions, induced mode…
davexparker Jun 26, 2022
6c53d34
GUI: Add "Strategies" menu at top-level.
davexparker Jul 11, 2022
c8b69fa
Construction of product of (explicit engine) model and strategy.
davexparker Jul 1, 2022
1d110c7
Strategy synthesis (finite-memory) for MDP bounded reachability (expl…
davexparker Jul 9, 2022
021ecdd
Strategy synthesis (finite-memory) for LTL on MDPs (explicit engine).
davexparker Jun 24, 2022
c571ca0
Fix for GUI strategy handling (cleanly ignore when unusable).
davexparker Jan 1, 2023
508706c
Create BigIntegers properly in BigRational
merkste Sep 13, 2022
1171293
Use BigInteger#abs to compute absolute value
merkste Sep 14, 2022
1ed3b66
Add option to export model and props labels to same file
merkste Feb 18, 2022
b0c5d0b
Adapt tests to new label export behaviour
merkste Feb 18, 2022
476994f
Add -exportproplabels to export (just) properties file labels to a file.
merkste Feb 18, 2022
2ef4d70
Test -exportproplabels
merkste Feb 18, 2022
c40bb81
Adapt GUI commands for label export
merkste Feb 18, 2022
d39e133
Improve constructors of StateRewardsArray
LudwigPauly Jul 21, 2022
7fe1426
Fix short-circuiting for ? (if-then-else) in expression evaluation.
davexparker Feb 17, 2023
02cc706
Add subset-only variants of apply methods to explicit.StateValues.
davexparker Feb 17, 2023
f8e9792
Implement short-circuiting of &,|,=>,? during (explicit) model checking.
davexparker Feb 17, 2023
6c1d28c
Some tests for short-circuiting.
davexparker Feb 17, 2023
fb1ca18
Update CHANGELOG.
davexparker Feb 25, 2023
f360fbf
prism-auto Python compatibility fix (no list.copy() in 2.x or <3.3).
merkste Mar 1, 2023
67761e7
Cleaner handling of failures during reward export.
merkste Mar 3, 2023
7712600
Small tweak in model export precision setting.
davexparker Mar 13, 2023
fb8fb0f
Import of multiple reward structures + optional header (explicit).
LudwigPauly Jan 29, 2022
38a3d29
Import of multiple reward structures + optional header (symbolic).
LudwigPauly Apr 20, 2022
4d1adc9
Import of multiple reward structures + reward file headers.
LudwigPauly Mar 2, 2023
fa5019b
Add header comments to (symbolically) exported transition reward file…
davexparker Mar 15, 2023
89ddcc2
Adapt reward export header format.
merkste Mar 16, 2023
84239f8
Error message typo.
davexparker Mar 15, 2023
dfc1ec7
Implement clone(), i.e. shallow copy, for ASTElement classes.
maxkurze1 Jun 12, 2022
d1cb886
Refactor ASTElement deepCopy() to use clone().
maxkurze1 Jun 30, 2022
1baa909
Refactor ASTElement deepCopy() into clone() and DeepCopy visitor.
maxkurze1 Jun 30, 2022
cef9382
ASTElement refactoring: Change all Vectors to Lists and ArrayLists.
maxkurze1 Jul 28, 2022
16b8ff3
Align stochastic game classes with PRISM-games.
davexparker Mar 18, 2023
1cca9e9
Bug fix in new symbolic model import code when there are no rewards f…
davexparker Mar 18, 2023
c30229b
API change/fix: loadModelFromExplicitFiles needs rewards file _list_.
davexparker Mar 18, 2023
2a39a51
Make ModelGenerator generic: probabilities/rates can be any type.
davexparker Mar 18, 2020
04df287
Make RewardGenerator generic: rewards can be any type.
davexparker May 22, 2020
cb4ba74
Make ModulesFileModelGenerator and associated classes generic.
davexparker Mar 18, 2020
a139a77
Replace ModulesFileModelGeneratorSymbolic with generic version.
davexparker Mar 19, 2020
3a16754
Add create methods to ModulesFileModelGenerator and use instead of co…
davexparker Jun 7, 2020
2d65692
Convert explicit engine model and reward classes to generic types.
davexparker May 27, 2020
7be252e
Remove (now unused) sumRoundOff field from simulator.Updater.
davexparker Sep 14, 2020
7c65f1c
Make symbolic/explicit engines consistent in checking distributions s…
davexparker Sep 14, 2020
5ffbeb7
Compile fixes for generic code on POMDPs.
davexparker Jan 17, 2021
7456d7c
Some new methods in EvaluateContext.
davexparker Apr 14, 2022
3aab576
Remove calls to evaluateExact and castFromBigRational methods.
davexparker Feb 18, 2022
5920f46
Simplify "set constants" methods in ConstantsList: just take Evaluate…
davexparker Apr 8, 2022
6eefe82
ModulesFile and PropertiesFile use EvaluateContext for setting/storin…
davexparker Apr 14, 2022
02bfa7f
Simplify and update "update" methods in simulator.
davexparker Apr 11, 2022
bbd244c
Simulator fix: make resilient to reward generators not supporting tra…
davexparker Mar 16, 2023
e2bb191
Refactoring in prism.Prism regarding model loading/storage.
davexparker Feb 11, 2022
4551d52
Bug fix in TypeClock.canAssign().
davexparker Mar 26, 2022
492be51
Remove Prism dependency from DigitalClocks.
davexparker Apr 11, 2022
c47cee5
Alternative ASTElement.findAllConstants() taking name/type lists.
davexparker Apr 23, 2022
406c7e0
Tidy up GUIInitialStatePicker in GUI simulator.
davexparker Apr 23, 2022
97224f2
DigitalClocks: minor code tidying.
davexparker Jan 5, 2023
b53ffae
Remove old unused code: Modules2PTA (see 6d363beb).
davexparker Jan 5, 2023
94cfd30
Expression simplification: positions are retained for better error re…
davexparker Jan 9, 2023
c994047
PrismExceptions retain type/fields when prepending to the message.
davexparker Jan 9, 2023
c9b1b59
Improved catching of model errors in GUI simulation.
davexparker Jan 9, 2023
74f66bb
ProbModel: provide static variant of convertBddToState()
kleinj Jul 24, 2018
3ba72f9
Modules2MTBDD refactoring.
davexparker Jan 10, 2023
cf58a5a
Add clearPosition methods to ASTElement.
davexparker Feb 17, 2023
491eeba
GUI simulator: Refactoring and tidying for better error reporting.
davexparker Feb 18, 2023
c320d06
Code tidying: Strategies + generics.
davexparker Mar 11, 2023
4785096
Code tidy + fix: Strategies + generics.
davexparker Mar 23, 2023
bcf7dc2
Bugfix: NPE when export of rewards to stdout is not supported.
davexparker Mar 23, 2023
0f30209
Undeprecate setSomeUndefinedConstants(Values) in ModelInfo etc.
davexparker Mar 24, 2023
d60edb7
Add product constructions for POMDPs. Unused for now.
davexparker Mar 29, 2023
c6a6d39
Reactoring of explicit engine product constructions.
davexparker Mar 23, 2023
86c616c
Code tidying: generic model classes.
davexparker Mar 30, 2023
46ba9a4
Relax some generic types for product models in rewards/strategies.
davexparker Mar 30, 2023
d6c8225
Support for building interval models (IDTMCs and IMDPs).
davexparker Mar 12, 2023
c4e4ba0
Addition of minmin/minmax/etc. to P=? and R=? in property parser.
davexparker Dec 15, 2020
a5e0889
Model checking for IDTMCs/IMDPs.
davexparker Mar 12, 2023
2a864ac
Explicit file model import for IDTMCs/IMDPs (explicit engine).
davexparker May 13, 2021
03b3589
Allow simulation of uncertain (interval) models.
davexparker Mar 14, 2023
57b4d25
Product construction for interval models.
davexparker Mar 23, 2023
5174828
Cosafe LTL model checking (probability, rewards) for IDTMC/IMDPs.
davexparker Mar 23, 2023
ceeb1ed
Reducible: Implement concat as a static function.
merkste Mar 30, 2023
df8fbfc
Improve class Distribution.
merkste Mar 31, 2023
39c37cc
Improve class Evaluator.
merkste Mar 31, 2023
03c6c15
Minor cleanups in TypeInterval.
merkste Apr 10, 2023
183fffd
CHANGELOG.
davexparker Apr 11, 2023
68072b7
Update contributor info.
davexparker Apr 11, 2023
88c12f1
Update -help message for export options.
davexparker Apr 12, 2023
f6cc79b
Set default model export precision to 16 decimal places (not 17).
davexparker Apr 17, 2023
213414b
Fixes in Evaluator usage in Reward classes.
davexparker Apr 18, 2023
b79c3bb
Enable state reward export for POMDPs.
davexparker Apr 20, 2023
fa31c01
Set default strategy export type for -exportstrat based on file exten…
davexparker Apr 18, 2023
6c58914
Strategies can provide a string view of their memory, shown in the GUI.
davexparker Mar 27, 2023
b73a51c
Make StrategyExplicit subclasses more robust when states are missing.
davexparker Mar 27, 2023
c5890bf
Improvements in finite-memory strategies from LTL products.
davexparker Mar 27, 2023
9e2b29e
Improve strategy representation for POMDPs.
davexparker Mar 29, 2023
ab7820c
Refactor and extend strategy export options.
davexparker Apr 21, 2023
c58e57a
Support states=false in -exportstates (Dot files, explicit engine).
davexparker Apr 21, 2023
cf5011b
Support reach/mode options for -exportstrat where possible (explicit).
davexparker Apr 21, 2023
1328f4e
POMDP strategy generation supports mode options (reduce,restrict) too.
davexparker Apr 23, 2023
c38e06e
Explicit model checkers copy result on inheritSettings().
davexparker Apr 23, 2023
7e306bf
Only store strategy in symbolic engines is result is non-null.
davexparker Apr 24, 2023
90a53cb
Strategy generation for probabilistic next (MDPs, explicit).
davexparker Apr 24, 2023
49dc0d6
Small improvements to engine auto-switching.
davexparker Apr 24, 2023
024febf
Switch to explicit engine (for now) if strategy generation requested.
davexparker Apr 24, 2023
2824652
Extend GUI strategies menus with "view" and "simulate".
davexparker Apr 24, 2023
22e687e
Explicit engine model checkers no longer support -exportadv (just -ex…
davexparker Apr 24, 2023
cdf0cbf
PrismCL: Warn about use of -exportadv for POMDPs/IMDPs/etc.
davexparker Apr 26, 2023
28f2edd
Strategy export as actions repects "states=true" (and this is the def…
davexparker Apr 26, 2023
eca1d8b
Exand view/export strategy options in GUI.
davexparker Apr 28, 2023
709e08f
Bugfix in POMDP product construction (unused currently).
davexparker May 5, 2023
574c6ba
Correcting inconsistency between state and transition reward export h…
LudwigPauly May 5, 2023
ef9aeae
Remove colon in transition reward export header.
LudwigPauly May 5, 2023
bffec9c
Allow min/max expressions with 1 argument
merkste Apr 19, 2023
9dbeedf
Test min/max expressions with 1 argument
merkste Apr 19, 2023
09378c2
Strategy export: reach=false supported for FM strats, and now default…
davexparker Jun 16, 2023
fefa641
Add -help text for -exportstrat.
davexparker Jun 16, 2023
0bdf1f0
Add export of (state) observations for POMDPs (and "view" from GUI).
davexparker Apr 20, 2023
e0d33cc
CHANGELOG.
davexparker Jul 4, 2023
8cb18a0
Test for issue 232
merkste May 24, 2023
a4c805c
Define boolean constants with one step
merkste May 24, 2023
3377f67
Update regression tests for recent -exportstrat finalisations.
davexparker Jul 4, 2023
cbf298b
Update Ubuntu install script (Python).
davexparker Jul 4, 2023
1bfc0a8
CHANGELOG.
davexparker Jul 5, 2023
5d2396f
Version number (4.8).
davexparker Jul 5, 2023
8d13bee
Update manual.
davexparker Jul 5, 2023
9f16517
Version number (4.8.dev).
davexparker Jul 6, 2023
8804a3c
Re-enable strategy generation for IMDP bounded reachability (oops).
davexparker Jul 28, 2023
a413fdf
Align STPG class with PRISM-games.
davexparker Jul 30, 2023
d3f47d1
Remove "nested" transition methods from STPG (only appear in STPGAbst…
davexparker Jul 30, 2023
ed23ba1
Minor code tidying (compile warnings) in SPTG classes.
davexparker Jul 30, 2023
6875708
Fix a few JavaDoc bugs.
davexparker Jul 30, 2023
193ca94
Remove "nested" transition methods from STPGRewards (not in STPG, als…
davexparker Aug 1, 2023
27a7138
Fix a few JavaDoc bugs.
davexparker Aug 1, 2023
52d560f
Bugfix in IMDP expected reward computation (wrong precomputation).
davexparker Aug 10, 2023
bf50752
IMDP export tests.
davexparker Aug 11, 2023
1475010
IMDP export tests.
davexparker Aug 11, 2023
932509f
Parametric model checker: Remove ModelBuilder reference; no longer ne…
davexparker Jun 8, 2020
2e18811
Strategy induced model construction preserves initial states.
davexparker Aug 15, 2023
0c2ca21
Documentation for StrategyExportOptions.
davexparker Aug 15, 2023
2238446
Switch to explicit engine for interval models (and others) works for …
davexparker Aug 18, 2023
dabfcee
Further fix to engine switch for model import.
davexparker Sep 1, 2023
7e7da2f
Code tidy (compiler warnings).
davexparker Sep 8, 2023
da5244b
Strategy: More export methods without options.
davexparker Sep 2, 2023
d1f6182
Small changes to strategy (action) export format.
davexparker Sep 7, 2023
19b9056
Retain generated strategy when solving digital clocks MDPs.
davexparker Oct 20, 2023
d6cc19d
-exportpropaut also works for NBAs from non-prob LTL model checking.
davexparker Nov 8, 2023
74e9c58
Bugfix: nested R[F] properties misdetected as cosafe.
davexparker Nov 8, 2023
89e0d1e
Fix detection of (syntactic) cosafe LTL (ignore nested P/R).
davexparker Nov 8, 2023
f23cf1f
Change to "make release": don't automatically do "make clean_all" and…
davexparker Nov 11, 2023
90acc6c
Update "make release" to include architecture in file name.
davexparker Dec 2, 2023
a761aa9
Update binary release filenames for Mac (e.g. osx64 -> mac64).
davexparker Dec 5, 2023
1ab9bb4
Implement transition reward export (MDP-like models) for explicit eng…
davexparker Dec 19, 2023
0826f5b
Fix some compiler warnings (@Deprecated).
davexparker Dec 19, 2023
5b13358
Re-arrange simple individual test(s).
davexparker Dec 19, 2023
629e5fe
Fix launch scripts (was breaking on Cygwin).
davexparker Dec 23, 2023
beab44b
Update/rename install script for Fedora-based Linux (tested on Amazon…
davexparker Dec 22, 2023
c6b3dd1
Fix for -javaparams switch.
davexparker Dec 23, 2023
ca2113c
Install script typos.
davexparker Dec 26, 2023
5463eda
Scripts to install PRISM on a clean Windows instance.
davexparker Dec 23, 2023
762998f
Install script typo.
davexparker Dec 28, 2023
0a42e31
Update lib README.
davexparker Dec 29, 2023
6cf7a92
Add README for ext.
davexparker Dec 29, 2023
1fa2d57
Easier testing that lpsolve works (make testlpsolve).
davexparker Dec 30, 2023
3bf463b
Makefile update: JAVA_DIR detection removes bin / Commands, regardles…
davexparker Dec 30, 2023
0b064f1
Makefile update: "checks" displays javac version.
davexparker Dec 30, 2023
111c6f7
Merge prism.darwin{32,64} launch scripts, which are identical these d…
davexparker Jan 1, 2024
70e59ea
Update prism launch script on macOS.
davexparker Jan 1, 2024
1ad88ee
Add -javaversion switch to prism: calls "java -version" and exits.
davexparker Jan 1, 2024
b2642c1
prism-auto fix: Allow Nailgun usage on newer Java installs.
davexparker Dec 31, 2023
fea9128
CI update: run build/test on macOS too, and newer Java.
davexparker Dec 30, 2023
e6f3ff7
Makefile fix: unit tests not working on Cygwin.
davexparker Jan 1, 2024
50acdda
CI update: run build/test on Windows too.
davexparker Jan 1, 2024
379614c
Makefile fix: dos2unix bash scripts in case unpacked by Windows git.
davexparker Jan 2, 2024
c18e861
Revert recent change to "make release" (now does clean first again).
davexparker Jan 9, 2024
a533b12
Makefile fix: "make release" extends not overrides JFLAGS.
davexparker Jan 9, 2024
f412896
Add --nobuild option to prism-install-* scripts.
davexparker Jan 9, 2024
786d22a
Update prism-install-ubuntu script, to avoid install interruptions.
davexparker Jan 9, 2024
a6d86d2
Update prism-install-windows.bat: Run a Cygwin terminal too.
davexparker Jan 10, 2024
8c048dd
CHANGELOG update.
davexparker Jan 10, 2024
95ce0f0
Switch --print-failures in prism-auto, enabled by default for "make t…
davexparker Jan 10, 2024
8573497
Patch PRISM to compile against API changes in CUDD 3.0.0.
davexparker Jan 10, 2018
66c3116
Build/clean (modified) CUDD 3.0.0 from main Makefile.
davexparker Jan 11, 2018
f25727b
Update cudd directory to 3.0.0 version (from cudd repo @ 706dea0).
davexparker Apr 20, 2019
074b218
Update cudd (from repo).
davexparker Jan 4, 2024
6dc62a9
Update cudd (from repo).
davexparker Jan 4, 2024
b75e64c
Remove -malign-double flag from compilation (was only there for CUDD).
davexparker Jan 4, 2024
20db06e
Build tidy: CFLAGS/LDFLAGS.
davexparker Jan 4, 2024
ac1580d
Build tidy: -fno-common should not be needed.
davexparker Jan 4, 2024
e8a542b
Build tidy: no particular need for -Wformat.
davexparker Jan 4, 2024
29c1927
Build tidy: document some compiler/linker options.
davexparker Jan 5, 2024
817dd77
Small README updates.
davexparker Jan 12, 2024
8f70273
Small README updates.
davexparker Jan 12, 2024
d685e10
Remove outdated Travis config.
davexparker Jan 12, 2024
6bf73df
Update make-tests.yml: newer package versions to remove warnings.
davexparker Jan 12, 2024
00d2db3
Fix broken (command-line) transient probability computation.
davexparker Jan 12, 2024
20f5972
Update CHANGELOG.
davexparker Jan 12, 2024
a1f4e0c
Update version (4.8.1).
davexparker Jan 12, 2024
24b85e6
Update manual.
davexparker Jan 12, 2024
c541aff
Update manual.
davexparker Jan 12, 2024
6f749aa
ModelSimple construction refactoring.
davexparker Sep 1, 2023
3454027
Explicit engine product model construction(s) refactoring.
davexparker Sep 1, 2023
17bf38b
Allow the simulator's random number generator to be initialised with …
davexparker Jul 8, 2023
2f2e282
Prism API tidy: remove svn build info.
davexparker Aug 13, 2023
c04700e
Prism API tidy: compile fix.
davexparker Aug 13, 2023
73987cc
Version number (4.8.1.dev).
davexparker Jan 15, 2024
684ee20
Bugfixes in MDPSimple constructor (currently unused).
davexparker Jan 16, 2024
3769ce7
Fix Linux/Mac xprism script: works when install directory has a space.
davexparker Feb 29, 2024
7e917df
GUI simulator fix: column headings when there are variableless modules.
davexparker Mar 5, 2024
1ce5255
Rename Type.canAssign() to canCastTypeTo().
davexparker Apr 23, 2022
bf5d347
Add Type.defaultDeclarationType() method.
davexparker Apr 23, 2022
31484b2
Utility functions guessTypeForValue() and guessTypesForValues().
davexparker Apr 23, 2022
1998c0f
Code tidy: Javadoc compiler warnings.
davexparker Feb 5, 2024
1d57010
Tidy up some calls to VarList methods (to facilitate upcoming changes).
davexparker Apr 8, 2022
bd9b0aa
Update handling of constants in VarList.
davexparker Apr 14, 2022
95bdff3
Update some VarList methods to respect current evaluation mode.
davexparker Feb 5, 2024
9a41dc9
Grammar bug fix: implication is right-associative.
davexparker Feb 6, 2024
aa9102c
Fix Expression toString() to add ()s where needed for precedence.
davexparker Feb 6, 2024
19a120d
Miscellaneous regression tests.
davexparker Feb 9, 2024
c8195a6
Regression testing: RESULT: Error:string checks are now case insensit…
davexparker Feb 9, 2024
d9ddefc
Fix some broken regression tests ("RESULT: Error" in wrong format).
davexparker Feb 9, 2024
17fbaf7
Regression test fix (export .all creates transition reward files now).
davexparker Feb 9, 2024
65e6872
Bug fix: should throw error cleanly on exact evaluation of fractional…
davexparker Feb 11, 2024
9dcd92f
Add power operator a^b, equivalent to pow(a,b).
davexparker Feb 9, 2024
a231ae7
Add copy constructors with probability maps to core *Simple model cla…
davexparker Feb 2, 2024
dc676d8
Add/clarify hasStateRewards()/hasTransitionRewards() for Rewards().
davexparker Feb 2, 2024
a548c91
Add copy constructors (also with maps) to core *Simple Reward classes.
davexparker Feb 2, 2024
f735054
DTMCEmbeddedSimple fix: copy basic model info properly.
davexparker Feb 8, 2024
ca9c68e
Small change in StateRewardsSimple (avoid exceptions).
davexparker Feb 9, 2024
dc6bc7c
Access to DTMC/MDP transitions with probability maps.
davexparker Jan 27, 2024
664f887
Regression test bugfix: Ignore "not supported" before checking error …
davexparker Feb 13, 2024
0529820
Small IMDP/IDTMC solution optimisation (and bugfix).
davexparker Feb 19, 2024
a52c48e
Bug fix in bisimulation minimisation (quotient construction).
davexparker Mar 19, 2024
294a8b6
Distribution.equals fix (use evaluator to compare values).
davexparker Jun 10, 2024
a7d9f8a
Code to export bisimulation minimised model (commented out).
davexparker Jun 10, 2024
91a4559
Code tidy (Javadoc).
davexparker Jun 11, 2024
fa0ae40
Merge branch 'master' into robots
davexparker Jun 12, 2024
7bb64bd
Bug fix in DA modifications.
davexparker Jun 12, 2024
01527b0
Fix strategy generation in MDPModelChecker.checkPartialSat.
davexparker Jun 25, 2024
dde8dd8
updates to handle new prism export stragegy functionality
bfalacerda Jun 26, 2024
ff4956e
edits to get right engines for exporting different specs
bfalacerda Jun 27, 2024
429c630
dont tell prism to export strat using new stuff in case of multi or R…
bfalacerda Jun 27, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
48 changes: 43 additions & 5 deletions .github/workflows/make-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,19 +11,57 @@ jobs:

strategy:
matrix:
java: [9, 11, 15]
runs-on: ubuntu-latest
java: [11, 21]
os: [ubuntu-latest, macos-latest]
runs-on: ${{ matrix.os }}

steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4
- name: Set up JDK
uses: actions/setup-java@v1
uses: actions/setup-java@v4
with:
java-version: ${{ matrix.java }}
- run: cd prism
distribution: temurin
- name: make tests
working-directory: ./prism
run: |
make
make unittests
make tests

build-win:

strategy:
matrix:
java: [11, 21]
runs-on: windows-latest

steps:
- run: git config --global core.autocrlf input
- uses: actions/checkout@v4
- name: Set up JDK
uses: actions/setup-java@v4
with:
java-version: ${{ matrix.java }}
distribution: temurin
- name: Install Cygwin Dependencies
uses: cygwin/cygwin-install-action@v4
with:
packages: |
make,
mingw64-x86_64-gcc-g++,
binutils,
dos2unix,
git,
wget,
unzip,
python
- name: make tests
shell: bash
env:
CYGWIN: winsymlinks:native
working-directory: ./prism
run: >-
make &&
make unittests &&
make tests
32 changes: 0 additions & 32 deletions .travis.yml

This file was deleted.

59 changes: 59 additions & 0 deletions CHANGELOG.txt
Original file line number Diff line number Diff line change
@@ -1,5 +1,64 @@
This file contains details of the changes in each new version of PRISM.

-----------------------------------------------------------------------------
Version 4.8.1 (first released 13/1/2024)
-----------------------------------------------------------------------------

* Migrate to CUDD version 3
* Transition reward export (MDP-like models) for explicit engine
* Fix broken transient probability computation
* Updates/fixes in install/launch/testing scripts and build process
* New tests in etc/tests available for easier build tests
* New -javaversion switch to show Java version used
* New --print-failures switch for prism-auto
* Various bugfixes

-----------------------------------------------------------------------------
Version 4.8 (first released 5/7/2023)
-----------------------------------------------------------------------------

* Support for interval DTMC (IDTMC) and interval MDP (IMDP) model checking

* Improved strategy (policy) generation
- switch -exportstrat exports to tra/dot/txt format
- additional export options (restrict/reduce, states, reach)
- strategy generation extended for bounded reachability, LTL, POMDPs
- GUI support for generating, exporting and simulating strategies

* Other features/enhancements:
- PTA model checking supports global/non-local variables
- ModelGenerator interface now supports real-time models (e.g., PTAs)
- new -javaparams switch to pass command-line arguments to JVM
- prism-log-extract: new field 'dd_nodes' for model MTBDD size

* Import/export enhancements:
- import of multiple (and named) reward structures
- reward exports include header with name/type
- new setting for model export precision (-exportmodelprecision)
- new "proplabels" option for -exportmodel and -exportlabels
- new -exportproplabels switch to export (just) properties file labels
- explicit model import without -importmodel: prism model.all
- results export to new formats: PRISM comment, dataframe
- results import from dataframe format (-importresults or GUI)
- observation export for POMDPs (-exportobs or GUI)

* Fixes / upgrades
- compile fix for newer MacOS
- library updates: JAS (2.7.90), Log4j (2.16.0), jhoafparser (1.1.1)
- various bugfixes

* Development and code-level changes
- automated testing via GitHub Actions
- unit testing via JUnit
- JavaCC upgraded from version 6.0 to 7.0
- major refactoring:
> generic model/reward classes
> ASTElement deepCopy()
> Expression evaluation
> explicit.StateValues
> Strategy and related classes
> Modules2MTBDD

-----------------------------------------------------------------------------
Version 4.7 (first released 19/3/2021)
-----------------------------------------------------------------------------
Expand Down
60 changes: 32 additions & 28 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ This is PRISM (Probabilistic Symbolic Model Checker).

For detailed installation instructions, check the online manual at:

http://www.prismmodelchecker.org/manual/InstallingPRISM/Instructions
https://www.prismmodelchecker.org/manual/InstallingPRISM/Instructions

or see the local copy included in this distribution:

Expand All @@ -17,7 +17,7 @@ Very abbreviated instructions for installing/running PRISM are as follows:

For Windows binary distributions:

* to install, run `prism-XXX-win-installer.exe`
* to install, run `prism-XXX-win64-installer.exe`
* to run, use Desktop/Start menu shortcuts or double-click `bin\xprism.bat`

For other binary distributions:
Expand All @@ -28,7 +28,7 @@ For other binary distributions:
For source code distributions:

* enter the PRISM directory and type `cd prism` then `make`
* to check the install, type `make test`
* to check the install, type `make test` or `etc/tests/run.sh`
* to run, execute `bin/xprism` or `bin/prism`

If you have problems check the manual, especially the section "Common Problems And Questions".
Expand All @@ -38,57 +38,62 @@ If you have problems check the manual, especially the section "Common Problems A

The best source of information about using PRISM is the online manual:

http://www.prismmodelchecker.org/manual/
https://www.prismmodelchecker.org/manual/

You can also view the local copy included in this distribution:

* `manual/index.html`

For other PRISM-related information, see the website:

http://www.prismmodelchecker.org/
https://www.prismmodelchecker.org/doc

Information for developers is kept here:

https://github.com/prismmodelchecker/prism/wiki

## Licensing

PRISM is distributed under the GNU General Public License (GPL), version 2.
A copy of this license can be found in the file `COPYING.txt`.
For more information, see:

http://www.gnu.org/licenses/

PRISM uses the CUDD (Colorado University Decision Diagram) library of Fabio Somenzi,
which is freely available. For more information about this library, see:

http://vlsi.colorado.edu/~fabio/CUDD/
https://www.gnu.org/licenses/

PRISM also uses various other libraries (mainly to be found in the lib directory).
For details of those, and for links to source where we distribute only binaries, see:
For details of those, including licenses and links to downloads and source code, see:

http://www.prismmodelchecker.org/other-downloads.php
https://www.prismmodelchecker.org/other-downloads.php


## Acknowledgements

PRISM was created and is still actively maintained by:

* Dave Parker (University of Birmingham)
* Dave Parker (University of Oxford)
* Gethin Norman (University of Glasgow)
* Marta Kwiatkowska (University of Oxford)

Development of the tool is currently led from Birmingham by Dave Parker. Other current key developers are:
Development of the tool is currently led from Oxford by Dave Parker.

The following have made a wide range of contributions to
PRISM covering many different aspects of the tool
(in approximately reverse chronological order):

* Steffen Märcker (Technische Universität Dresden)
* Joachim Klein (formerly Technische Universität Dresden)
* Vojtech Forejt (formerly University of Oxford)

We gratefully acknowledge contributions to the PRISM code-base from various sources,
including (in approximately reverse chronological order):
We also gratefully acknowledge contributions to the PRISM code-base from
(in approximately reverse chronological order):

* Max Kurze: Language parser code improvements
* Ludwig Pauly: Reward import/export
* Alberto Puggelli: First version of interval DTMC/MDP code
* Xueyi Zou: Partially observable Markov decision processes (POMDPs)
* Steffen Märcker: Fixes and improvements, especially in explicit engine
* Chris Novakovic: Build infrastructure and explicit engine improvements
* Ernst Moritz Hahn: Parametric model checking, fast adaptive uniformisation + various other features
* Frits Dannenberg: Fast adaptive uniformisation
* Vojtech Forejt: Various model checking code, including multi-objective + GUI enhancements
* Hongyang Qu: Multi-objective model checking
* Mateusz Ujma: Bug fixes and GUI improvements
* Christian von Essen: Symbolic/explicit-state model checking
Expand All @@ -107,22 +112,21 @@ including (in approximately reverse chronological order):

For more details see:

http://www.prismmodelchecker.org/people.php
https://www.prismmodelchecker.org/people.php


## Contact

If you have problems or questions regarding PRISM, please use the help forum provided. See:

http://www.prismmodelchecker.org/support.php
https://www.prismmodelchecker.org/support.php

Other comments and feedback about any aspect of PRISM are also very welcome. Please contact:

Dave Parker
([email protected])
School of Computer Science
University of Birmingham
Edgbaston
Birmingham
B15 2TT
ENGLAND
([email protected])
Department of Computer Science
University of Oxford
Oxford
OX1 3QG
UK
30 changes: 30 additions & 0 deletions cudd/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
# general patterns to ignore
# Emacs backup files
*~
# OS X system files
.DS_Store

# build artefacts by pattern:
*.o
*.a
*.class
*.dylib
*.jnilib
*.so
*.dll
*.lo
*.la
*.dirstamp
.deps
.libs

# build artefacts:
config.h
config.log
config.status
Makefile
libtool
stamp-h1
doc/cudd.tex
dddmp/exp/*.sh
include
Loading