Skip to content

v0.2.0

Compare
Choose a tag to compare
@mforets mforets released this 05 Apr 00:38
· 191 commits to master since this release
cb7a0b3

Announcements

This release dropped compatibility with pre-v1.0 versions of Julia (#431).

This release is used for ARCH2019_RE.

Features

  • added (rudimentary) support to check properties for hybrid systems (#480, #500)
  • added a new option to discretize using concrete operations on zonotopes (#528)
  • Inf as time horizon is now supported (#549)
  • added clustering option :none_oa which does not cluster but still overapproximates (#555)
  • accept affine continuous systems without inputs (#560)
  • added new continuous-post algorithm: GLGM06 (#531)
  • added new continuous-post algorithm: TMJets (#537)

Bug fixes

  • fixed behavior of LazyDiscretePost's option :lazy_R⋂G and added option :lazy_A⌜R⋂G⌟ for the old behavior (#459)
  • fixed bloating for systems without inputs in the approximation model that uses interpolation (former assume_homogeneous option) (#503)
  • BFFPSV18 (continuous-post operator) now returns the input options (instead of an internal representation) (#539)
  • fixed crash in error message (#546)
  • do not automatically project if :projection_matrix option is given (#547)

Enhancements

  • allow to disable the max_jumps option and disable it by default (#456)
  • allow using a U::LazySet for the input set of systems; it is equivalent to ConstantInput(U) (#526)
  • allow to use x' = Ax + Bu, with or without constraints, which is transformed to the canonical form internally, with the normalize function (#542)
  • initial states in hybrid-system analysis are now preserved if are fully inside the invariant (#573)

Other

  • refactoring work (#430, #432)
  • new page in the documentation about works citing JuliaReach related packages (#428), and another one with publications of repeatability evaluations or algorithms (#426)
  • We now use the AbstractMap interface from MathematicalSystems for transitions (guards/assignmens) of hybrid automaton models (#439, #458)
  • The options interface has changed. In particular, options specific to the continuous-post algorithm now need to be passed to the respective post operator, and the default values for some options has changed. (#464)
  • The Properties module has become a standalone module. We renamed the property types and a method (check_propertycheck). Conjunction/Disjunction types have been added. LinearConstraintProperty has been removed as it can be imitated by a combination of the other property types. (#493, #494, #497)
  • The options for the BFFPSV algorithm have changed. For overapproximation during decomposition and iteration, we now use a unified option :block_options. This synchronizes the code with recent corresponding changes in LazySets. (#505)
  • Overhaul discretize.jl (#503)
  • inout_map now uses the concrete projection of half-spaces and hpolyhedron from LazySets for property checking (#525)
  • decomposition for one-block partitions is now only skipped if the option :block_options_init is set to LinearMap in addition (#534)
  • the invariant argument is removed from the continuous post; instead it is read from the stateset of the dynamical system in each mode (#551)
  • better error message if unsupported value for option :overapproximation is given (#561)

Breaking changes

  • ContinuousSystem and DiscreteSystem constructors are removed; use constructors from MathematicalSystems types instead (#503)
  • see the section Other above for more refactoring-related changes