SiLVer (SimuLation-based Verification)SiLVer (SimuLation-based Verification) supports verification / falsification of dynamical / hybrid systems against requirements. It is a semi-automated approach for determining whether a system model conforms to a given set of requirements. Operates on C++ code representation, which makes it suitable also for analysis of implementations instead of just initial design models.https://repo.valu3s.eu/tools/improved-developed-tool/silver-simulation-based-verificationhttps://repo.valu3s.eu/@@site-logo/logo_valu3s_green_transparent.png
SiLVer (SimuLation-based Verification)
SiLVer (SimuLation-based Verification) supports verification / falsification of dynamical / hybrid systems against requirements. It is a semi-automated approach for determining whether a system model conforms to a given set of requirements. Operates on C++ code representation, which makes it suitable also for analysis of implementations instead of just initial design models.
The SiLVer (SimuLation-based Verification) tool supports verification and falsification of system models against requirements. Falsification is conducted by Monte-Carlo simulation runs, while verification is essentially symbolic simulation of the system model using Affine arithmetic. System model and requirement monitors are expected to be provided as C++ code. This enables analysis throughout the design cycle (even when moving to implementation). There is support for automatic generation of C++ code from specific requirement and system templates (however, new templates - to address different types of systems and requirements - have to be created manually). The tool is implemented as a C++ library driven by a high-level Python script based on a set of YAML configuration / input files. The Python code parses the YAML files and generates C++ code based on a few predefined templates making use of the C++ library for analysis. For basic usage, only YAML knowledge is required. For more advanced usage (e.g. creating custom C++ code templates or modifying the generation procedure), the user is expected to be familiar with C++ and Python as well.
Increased automation of model and requirement translation to representations able to be consumed by the tool (C++)
Improved support for hybrid systems (although scalability is an issue)
Improved performance through workload parallelization
Tsachouridis, Vassilios & Giantamidis, Georgios. (2019). Computer-aided verification of matrix Riccati algorithms. 2019 IEEE 58th Conference on Decision and Control (CDC). 10.1109/CDC40024.2019.9030135
Tsachouridis, Vassilios & Giantamidis, Georgios & Basagiannis, Stylianos & Kouramas, Konstantinos. (2019). Formal analysis of the Schulz matrix inversion algorithm: A paradigm towards computer aided verification of general matrix flow solvers. Numerical Algebra, Control and Optimization. 10.3934/naco.2019047