Skip to content

Releases: ariadne-cps/ariadne

v2.4.1

07 Aug 12:19
Compare
Choose a tag to compare

Legenda:

N: new feature
A: addition to a feature
C: change to the behavior of a feature
F: fixed feature
R: removed feature

  • #357 (N) Introduce a TaylorSeriesBounderIntegrator, that identifies the bounds from the expansion without resorting to a Bounder initially
  • #613 (A) Add Python bindings for Variables2d, Projection2d fields, HybridEnclosure space accessors
  • #617 (A) Add is_polynomial_in predicate for symbolic expressions
  • #622 (A) Implement GradedTaylorPicardIterator that avoids initial use of Bounder
  • #626 (A) Allow 'none' graphics backend or drawer from CLI, to temporarily switch off graphics when desired
  • #628 (A) Implement some methods for Polynomial, in particular for vectors thereof
  • #636 (A) Add Python bindings for hybrid automaton target method
  • #642 (A) Add Python bindings for hybrid automaton name and symbolic expressions in dynamics/guards/invariants/resets
  • #643 (A) Add C++ and Python support for iteration through components of a CompositeHybridAutomaton
  • #612 (C) Remove unused legend from Gnuplot output
  • #639 (C) Use a finer (3/4) refinement strategy for the step size when computing a flow step based on an accuracy threshold
  • #616 (F) Fix behavior of unary symbolic expression predicates
  • #620 (F) EulerBounder did not reset the bounding domain between refinements to the step size
  • #631 (F) Conditional disabling of graphics in absence of both Cairo and Gnuplot was incorrect
  • #645 (F) Use only static const Generator objects, addressing linking issue for the whole library
  • #623 (R) Simplify IntegratorInterface with only one flow step, removing flow/flow_to and hiding flow_bounds

v2.3

24 May 15:51
Compare
Choose a tag to compare

Legenda:

N: new feature
A: addition to a feature
C: change to the behavior of a feature
F: fixed feature
R: removed feature

  • #538 (N) Introduce a concurrency module designed for parallel execution of internal tasks
  • #549 (N) Introduce a Least Recently Used cache utility for holding a limited number of homogeneous objects
  • #559 (N) Introduce an optional ariadne_main.hpp that offers an ariadne_main() function handling all header tasks for an executable
  • #562 (N) Introduce a command line interface class for acquiring CLI input arguments setting logger verbosity, theme and scheduler, along with concurrency, graphics backend and drawer
  • #561 (A) Add Python bindings for TaskManager in order to control concurrency
  • #570 (A) Add Python bindings for GraphicsManager in order to control drawer and graphics backend
  • #571 (A) Add Python bindings for Logger in order to expose (themed) logging
  • #599 (A) Add extra Python bindings for HybridEnclosure, add Python subscripting for ListSet
  • #602 (A) Add extra Python bindings for Enclosure, add Python bindings for Point2d for graphics
  • #605 (A) Add Python bindings for CommandLineInterface, to acquire arguments to a Python script
  • #551 (C) Make VectorFieldEvolver process sets in parallel (when splitting initially or during evolution)
  • #556 (C) Disallow unsafe default value of upper semantics for orbit methods
  • #565 (C) Draw lists of (Labelled/Hybrid)Enclosure in parallel
  • #563 (C) Rename the 'output' module into the 'io' module to support future classes related to input
  • #566 (C) Make HybridEvolver process sets in parallel (due to either splitting or multiple trajectories)
  • #573 (C) Use an LRU cache for modes in CompositeHybridAutomaton, avoid exhausting a given mode in HybridEvolver before changing mode
  • #580 (C) VectorFieldEvolver, IteratedMapEvolver and HybridEvolver now check that the initial enclosure is consistent
  • #592 (C) Enclosure now uses the global GraphicsManager drawer instead of having a dedicated configuration field
  • #595 (C) Modify examples to use ariadne_main function for simplicity, tutorials are not changed
  • #539 (F) A segmentation fault sometimes would be issued when terminating the executable, due to logging
  • #557 (F) Fix behavior of StopWatch utility for concurrent code, enhance the class for choosing a duration type
  • #567 (F) Fix problem with state_time space creation when state space already contains the 't' variable
  • #576 (F) Fix HybridEnclosure state_set() incorrectly working when an auxiliary function is present
  • #578 (F) Fix VectorFieldEvolver not storing the auxiliary mapping to the initial enclosure created from an expression set
  • #581 (F) Fix Enclosure splittings not carrying over the auxiliary mapping
  • #558 (R) Remove unnecessary IteratedMapEvolver::enclosure methods
  • #552 (R) Remove evolve/reach/reach_evolve methods from EvolverInterface, relying on orbit generation only
  • #553 (R) Remove ability to write an evolver object to the standard output, since it was implemented as a fixed string for all evolvers anyway

v2.2

25 Apr 19:12
7ffe625
Compare
Choose a tag to compare

Legenda:

  • N: new feature
  • A: addition to a feature
  • C: change to the behavior of a feature
  • F: fixed feature
  • R: removed feature

Changes:

  • #441 (N) Add support for Gnuplot output, including animated gif plot of sets and tridimensional plots for PDEs
  • #507 (N) Add a simulator for vector field dynamics
  • #514 (N) Add Python examples in python/examples
  • #509 (A) Additionally support a set as input in simulators, using the midpoint as the effective point
  • #513 (A) Add missing Python bindings for verify_safety in (Hybrid)ReachabilityAnalyser
  • #516 (A) Add missing Python bindings for Real predicates to be used in automata specification
  • #518 (A) Add missing Python bindings for evolver configuration and initial set assignment
  • #520 (A) Add missing Python bindings for plotting using HybridFigure
  • #543 (A) Add missing Python bindings for iterating across ListSet of Enclosure classes
  • #527 (A) Allow to draw a Labelled/Hybrid orbit directly to a Labelled/Hybrid figure
  • #492 (C) Modify SFINAE code to use C++20 concepts, currently preventing AppleClang compilation under macOS until the compiler supports Concepts
  • #529 (C) Disallow construction of VectorField and IteratedMap from a Function, since it was broken
  • #533 (C) Map<K,V> now checks for existing key using ARIADNE_ASSERT, yielding errors also for Release builds
  • #447 (F) Check that a VectorField is defined with dynamics for all involved variables, fixes a segfault within evolution
  • #532 (F) RealExpressionBoundedConstraintSet could be constructed in an incoherent way, due to missing checks
  • #211 (R) Remove various deprecated functions

v2.1

08 Mar 19:12
Compare
Choose a tag to compare

In this minor release we mainly addressed Python bindings, which now cover all layers of functionality up to hybrid evolution.
As a consequence, now C++ and Python tutorials mirror each other.

This is also the first release that comes with Homebrew and Aptitude packages for quick installation of the library.

v2.1-rc3

06 Mar 15:06
Compare
Choose a tag to compare
v2.1-rc3 Pre-release
Pre-release

Gives DEB packaging and supplies a different installation directory if run for Homebrew.

v2.1-rc2

05 Mar 17:03
Compare
Choose a tag to compare
v2.1-rc2 Pre-release
Pre-release

Offers DEB packaging and install Python bindings directly from the install command.

v2.1-rc1

25 Feb 16:40
Compare
Choose a tag to compare
v2.1-rc1 Pre-release
Pre-release

To be used for checking package usability for installation.

v2.0

18 Apr 10:12
dceac80
Compare
Choose a tag to compare

We are happy to announce the release of version 2.0 of Ariadne!

This release introduces a significant number of changes with respect to the previous major version, mainly:

  1. A more general and robust way of constructing hybrid automata;
  2. On-the-fly composition of systems;
  3. A hybrid simulator based on the classic Runge-Kutta method;
  4. Use of constraints in the evolution of hybrid systems;
  5. Algebraic-differential equations;
  6. Differential inclusions in the continuous space;
  7. Wider use of named variables and symbolic manipulation;
  8. Python bindings for most of the library.

In the process of transitioning from version 1.0 some functionality has not been migrated yet though:

  1. Verification routines;
  2. Parametric analysis;
  3. Use of BDDs for discretisation of reachable sets.

These will be targets for a next release, along with the completion of some functionality such as differential inclusions in the hybrid space and Python bindings for the dynamics module. From now on, the release cycle of Ariadne will be more frequent, in order to reflect API changes and new features.

The installation instructions and the tutorial have been updated accordingly.

1.9.2

20 Jan 10:57
5e9fa5d
Compare
Choose a tag to compare
1.9.2 Pre-release
Pre-release

This internal version introduces minor organization changes, along with improvements to the Python interface and the documented examples.

Internal 1.9.1 release

11 Oct 18:32
48209ab
Compare
Choose a tag to compare
Pre-release

Minor reorganizations of the code, slight improvements to the build process.