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.
Improved

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
Relationships with other web-repo artefacts
Improvement Classification
Number of malicious attacks and faults detected, Simulation-level system robustness, Error Coverage, Software fault tolerance robustness
Time of execution, Number of test cases, Effort needed for test, Reduced cost and time for work on certification process and functional safety
Open source - Goals
No
Safety, Functional Requirements
Contents

There are currently no items in this folder.