Release 2.5.3

This new (minor) version introduces support for ARM64, improvements for the dynamics simulator and support for multivalued functions, among others.

Legenda:

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

Changes:

  • #34 (N) Support multivalued functions (for Interval Taylor models support)
  • #328 (N) Add atan support for NormedAlgebra
  • #796 (N) Add Foundations module for (topo)logical notions
  • #569 (A) Adding multiple points simulator
  • #685 (A) Support ARM by making it properly fall into C99 rounding
  • #686 (A) Support GCC 12 on all platforms
  • #334 (C) Clean-up function models, notably template parameters
  • #337 (C) Rename partial functions to FunctionPatch
  • #665 (C) Remove Value, and use plain FloatXX as exact object
  • #666 (C) Template Float classes
  • #681 (C) Refactor the logger as a ConcLog logger submodule
  • #688 (C) Modify atan to avoid using long double, to support ARM architecture
  • #702 (C) Refactor the concurrency modules as a BetterThreads concurrency submodule
  • #788 (C) Add explicit suggest(…) for step-size suggestion to integrator classes
  • #698 (C) Use snprintf instead of the deprecated sprintf
  • #198 (C,F) Modify differential inclusion code to conform to other evolvers, fix reach set returned to be rigorous
  • #678 (F) Address warnings using AppleClang, which is now usable on C++20 Concepts code
  • #710 (F) Change use of char to short to address issue that ARM GCC char is unsigned
  • #735 (F) Fix bug in multiplication of Taylor models causing under-approximation of error
  • #741 (F) Fix fault in VectorFieldSimulator by using Approximation instead of Real step size

Release 2.4.1

This new (minor) version is mainly meant to address missing Python bindings for the hybrid module. It also changes the interface for integrators and introduces two new integrators, among other things.

Legenda:

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

Changes:

  • #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

Release 2.3

This new version introduces concurrency in the library, applied to evolution routines and drawing at the moment. We also offer the ability to add arguments to executables (both C++ and Python) in order to set variables such as concurrency level, drawer to be used or logger verbosity.

Legenda:

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

Changes:

[Read More]

Release 2.2

This new version expands coverage of Python bindings, introduces Gnuplot output and a simulator for purely continuous systems, among other things.

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

Release 2.1

In this minor release we mainly address 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.

Installation and Tutorial sections have been updated accordingly.

Legenda:

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

Changes:

[Read More]

Release 2.0

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:

[Read More]

Updated publications

The main publications have been updated, including our latest work on differential inclusions and a paper on computable compositionality.

Migration complete and internal release 1.9

Migration from BitBucket to GitHub has completed! In particular, the repository for the development version of the library becomes

https://github.com/ariadne-cps/ariadne.

This renaming is in preparation for the 2.0 official release of Ariadne, tentatively due at the beginning of 2019. The migration also comes with a new 1.9 internal release, where we improved stability and increased OS and compiler compatibility. We introduced continuous integration and code coverage to our development flow, with the purpose of driving improvements to code quality.

[Read More]

GitHub migration commenced

In order to get access to a wider open-source community and also to exploit better continuous integration services, we are migrating from BitBucket to GitHub.

The new source site will become

https://github.com/ariadne-cps

with a new organization called ariadne-cps as part of the GitHub Education program.

The original repositories on BitBucket will be removed as of October the 1st.

There will be an additional news in the next few days to announce the completion of the migration process.

[Read More]