New polytope class:
We replaced the \(\texttt{mptPolytope}\) class with a brand new \(\texttt{polytope}\) class with support for degenerate sets.
Thus, CORA does no longer depend on the Multi Parametric Toolbox (MPT).
Please make sure to remove MPT from your MATLAB path and replace all instances of \(\texttt{mptPolytope}\) with \(\texttt{polytope}\).
Reachset conformance:
Checking for and establishing reachset conformance are now implemented in CORA,
i.e., a model is essentially reachset conformant if the measurements
of the real system are contained in the set of reachable outputs of the model.
Extension of hybrid systems:
Hybrid systems were extended significantly, including handling of instant transition and empty locations.
We also added two new set representations, \(\texttt{fullspace}\) and \(\texttt{emptySet}\),
to model instant transitions and unbounded invariant sets, respectively.
Improved usability for set-based computing:
We improved and standardized more operations across all set representations.
For example, CORA now offers an operation \(\texttt{representsa}\) to check whether a given set can equivalently
be represented by another set, e.g. a special case.
This operation also replaces \(\texttt{isempty}\) due to conflicts with the built-in function.
ARMAX models:
CORA now supports a new dynamic system class:
Discrete-time autoregressive moving average models with exogenous input (ARMAX models).
Automatic verification of specifications:
The operation verify automatically verifies given specifications for a dynamic system.
Currently, this operation is primarily supported for systems with linear dynamics.
Improved neural network verification:
CORA offers the verification of neural networks and neural-network controlled systems.
We provide the import of neural networks from various common machine learning frameworks via the ONNX format.
New and improved converter:
CORA can now convert CommonOcean models and has improved the conversion from SpaceEx models.
Miscellaneous:
Minor improvements have been made in various parts of the code:
Readme files help to navigate through the CORA repository,
some basic functionality runs more efficiently, standardized input argument validation
and more accurate error messages enhance the responsiveness,
and more unit tests ensure greater reliability.
Website:
In addition to the new features listed above, CORA got a brand new website
describing the functionality of CORA with examples: cora.in.tum.de.
The latest version of the manual can now always be found at cora.in.tum.de/manual.