Skip to content

Releases: moves-rwth/storm

v1.11.1

02 Oct 20:49
8478d92

Choose a tag to compare

  • Bug fixes in conditional probabilities computation with the (recent) bisection method.
  • Sound value iteration diagnostics in debug mode are more robust.
  • Improved support for ARM.
  • Support for musl libc.
  • Code quality fixes (reduced warnings)

v1.11.0

08 Sep 15:00
e52ebd1

Choose a tag to compare

  • Completely restructured CMake build process:
    • Storm can now be properly installed.
    • Carl-storm is now automatically fetched from a predefined repository and tag. Use CMake option -DFETCHCONTENT_SOURCE_DIR_CARL=<path_to_carl> to set a local path.
  • Improved support for interval models, especially parsing support for Prism models with intervals and CLI support for interval models.
  • Support for discounted properties in DTMCs and MDPs.
  • Added guessing value iteration.
  • Support exporting schedulers for multi-objective properties.
  • Revised implementation of conditional probabilities for MDPs.
  • Added building of choice labels for Jani.
  • Support time limits for the Gurobi LP Solver.
  • Various fixes in DRN parser, BitVector, (negative) expected rewards, parsing of PDEP and for compiler warnings.
  • Updated dependencies: carl-storm, gmm, googletest, l3pp, spot.
  • Removed support for Intel TBB.
  • Developer: Replaced GmmxxMultiplier by ViOperatorMultiplier.
  • Developer: Added CI workflow for new releases.

v1.10.0

27 May 20:43
9b69c20

Choose a tag to compare

  • Improved LpMinMaxLinearEquationSolver, set relevant values in topological solvers.
  • Speed up of MEC decomposition by adjusting loops.
  • Minor improvements for steady-state properties.
  • Improved access to state valuations.
  • Improved parsing: detect and handle integer overflows in expression parsing, and handle irrational probability expressions.
  • Limit Sylvan threads to 1 on Apple Silicon.
  • Bug fixes in computation of cumulative rewards, transient variables in JANI, SMGs with non-synchronizing but labeled actions, in SparseCbAchievabilityQuery and PcaaWeightVectorChecker.
  • Updated shipped dependencies: Eigen, ExprTk, Spot.
  • storm-dft: Set BDD variable ordering for SFT from file.
  • storm-dft: Warning on potential modeling issues.
  • storm-dft: Bug fixes in DFT representant computation and failable elements.
  • storm-pars: Bug fixes in monotonicity computation.
  • storm-pomdp: Added cut-off memory node information.
  • storm-pomdp: Extended handling of terminal states.
  • storm-pomdp: Improved output.
  • Developer: Require at least CMake version 3.22.
  • Developer: Revised includes.
  • Developer: GLPK is optional.
  • Developer: BitVector conforms to std::ranges::range concept.
  • Developer: Improved CI tests and added builds on macOS.

v1.9.0

22 Aug 12:52
5d5ebe4

Choose a tag to compare

  • Improved expected visiting times (EVTs) and steady state distribution computations.
  • Support for interval-based models.
  • Robust VI.
  • Significantly improved compilation times.
  • Support for logarithm expressions in PRISM and JANI.
  • Support for sin and cos operators, and PI and Euler constants in JANI parser.
  • Extraction of schedulers for minimal expected total rewards.
  • More efficient MEC and SCC decompositions.
  • Revised LP encoding for multi-objective verification under simple strategies.
  • Added CLI option --permute to re-order the states after building.
  • Added CLI option --build:state limit <number> to limit the number of explored states.
  • Print all linked libraries when using --version.
  • Removed support for HyPro and Cuda.
  • Moved gamebased-ar to own library.
  • Various bug fixes.
  • storm-conv: Removed option --stdout.
  • storm-dft: Fixes and improvements for DFT symmetries and DFT simulation.
  • storm-pars: Completely reworked the command-line interface (and partially the C++ API).
  • storm-pars: "Time travelling" optimization.
  • storm-pgcl: Removed the library.
  • Developer: Require at least CMake version 3.15.
  • Developer: Moved storm-config.h.in into src directory.
  • Developer: Use various Dockerfiles in CI.
  • Developer: Revised includes and use pre-compiled headers.
  • Developer: Fixed various compiler warnings.

v1.8.1

15 Jun 18:05
3f74f3e

Choose a tag to compare

Workaround for issue with Boost >= 1.81

v1.8.0

31 May 19:39
fd1fe70

Choose a tag to compare

  • Revised implementation of value iteration algorithms and its variants, fixing a bug in the optimistic value iteration heuristic.
  • Experimental support for compiling on Apple Silicon.
  • Added SoPlex as a possible LP solver.
  • Upgraded shipped version of sylvan.
  • Upgraded repo / version for carl (for polynomials), requires carl-storm in at least version 14.23.
  • Removed support for just-in-time compilation (JIT). If the JIT engine is needed, use Storm version 1.7.0.
  • storm-dft: better modularization: improved algorithm for finding independent modules and revised the DFT analysis via modularization.
  • storm-dft: added checks whether a given DFT is well-formed and conventional.
  • storm-pomdp: streamlined implementation for quantitative analysis.
  • storm-pomdp: added clipping for POMDP under-approximation.
  • storm-pomdp: added API for interactive exploration of belief MDPs.
  • Developer: Introduced forward declarations (in their own headers), in particular for storm::RationalNumber, storm::RationalFunction, and storm::json.
  • Developer: LpSolver interface now supports RawMode (to avoid overhead of storm::expression) and indicator constraints.

v1.7.0

29 Jul 18:27

Choose a tag to compare

  • Fixed a bug in LP-based MDP model checking.
  • DRN Parser is now more robust, e.g., it does no longer depend on tabs.
  • PRISM Parser: Modulo with negative numbers is now consistent with Prism.
  • Added lexicographic multi-objective model checking. Use --lex in the command line interface when specifying a multi(...) property.
  • Fix handling duplicate entries in the sparse matrix builder.
  • Added support for step-bounded until formulas in LTL.
  • Added Dockerfile.
  • API: Applying a fully defined deterministic memoryless scheduler to an MDP yields a DTMC.
  • storm-dft: Use dedicated namespace storm::dft.
  • storm-dft: Added support (parsing, export, BDD analysis) for additional BE failure distributions (Erlang, log-normal, Weibull, constant probability).
  • storm-dft: Added instantiator for parametric DFT.
  • Developer: Storm is now built in C++17 mode.
  • Developer: Added support for automatic code formatting for storm-dft.

v1.6.4

13 Jan 11:23
4ec3f6a

Choose a tag to compare

  • Added support for model checking LTL properties in the sparse (and dd-to-sparse) engine. Requires building with Spot or an external LTL to deterministic automaton converter (using option --ltl2datool).
  • Added cmake options STORM_USE_SPOT_SYSTEM and STORM_USE_SPOT_SHIPPED to facilitate building Storm with Spot.
  • Improved parsing of formulas in PRISM-style syntax.
  • Added export of schedulers that use memory (in particular optimizing schedulers for LTL properties)
  • Added support for PRISM models that use unbounded integer variables.
  • Added support for nested arrays in JANI.
  • Added --location-elimination that can be applied to Jani DTMC models to reduce the size of the resulting Markov models, see here.
  • Added an export of check results to json. Use --exportresult in the command line interface.
  • Added --exportbuilt option that exports the built model in various formats. Deprecates --io:exportexplicit, --io:exportdd and --io:exportdot
  • Added export of built model in .json. which can be used to debug and explore the model.
  • Added computation of steady state probabilities for DTMC/CTMC in the sparse engine. Use --steadystate in the command line interface.
  • Added computation of the expected number of times each state in a DTMC/CTMC is visited (sparse engine). Use --expvisittimes in the command line interface.
  • Implemented parsing and model building of Stochastic multiplayer games (SMGs) in the PRISM language. No model checking implemented (yet).
  • API: Simulation of prism-models
  • API: Model-builder takes a callback function to prevent extension of particular actions, prism-to-explicit mapping can be exported
  • API: Export of dice-formatted expressions
  • Prism-language/explicit builder: Allow action names in commands writing to global variables if these (clearly) do not conflict with assignments of synchronizing commands.
  • Prism-language: n-ary predicates are supported (e.g., ExactlyOneOf)
  • Added support for continuous integration with Github Actions.
  • storm-pars: Exploit monotonicity for computing extremal values and parameter space partitioning.
  • storm-dft: Support for analysis of static fault trees via BDDs (Flag --bdd). In particular, efficient computation of multiple time bounds was added and support for several importance measures (Argument --importance).
  • storm-dft: Computation of minimal cut sets for static fault trees (Flag --mcs).
  • storm-dft: Improved modularisation for DFT by exploiting SFT analysis via BDDs.
  • storm-dft: Fixed don't care propagation for shared SPAREs which resulted in wrong results.
  • Developer: Added support for automatic code formatting and corresponding CI workflow.

v1.6.3

24 Nov 11:54

Choose a tag to compare

  • Added support for multi-objective model checking of long-run average objectives including mixtures with other kinds of objectives.
  • Added support for generating optimal schedulers for globally formulae
  • Simulator supports exact arithmetic
  • Added switch --no-simplify to disable simplification of PRISM programs (which sometimes costs a bit of time on extremely large inputs)
  • Fixed issues with JANI inputs concerning
    • transient variable expressions in properties,
    • constants in properties, and
    • integer variables with either only an upper or only a lower bound.
  • storm-pomdp: States can be labelled with values for observable predicates
  • storm-pomdp: (Only API) Track state estimates
  • storm-pomdp: (Only API) Reduce computation of state estimates to computation on unrolled MDP

v1.6.2

04 Sep 12:59

Choose a tag to compare

  • Prism program simplification improved.
  • Revamped implementation of long-run-average algorithms, including scheduler export for LRA properties on Markov automata.
  • Support for step-bounded properties of the form ... [F[x,y] ... ] for DTMCs and MDPs (sparse engine).
  • Renamed portfolio engine to automatic
  • storm-dft: Fix for relevant events when using symmetry reduction.
  • storm-pomdp: Fix for --transformsimple and --transformbinary when used with until formulae.
  • storm-pomdp: POMDPs can be parametric as well.