Published May 23, 2024 | Version v1.2
Software Open

PRoTECT: Parallelized Construction of Safety Barrier Certificates for Nonlinear Polynomial Systems

Description

PRoTECT: Parallelized ConstRuction of SafeTy BarriEr Certificates for Nonlinear Polynomial SysTems

PRoTECT is an open-source software tool, for the parallelized construction of safety barrier certificates (BCs) for nonlinear polynomial systems. This tool aims to verify safety properties for four classes of dynamical systems: (i) discrete-time stochastic systems (dt-SS), (ii) discrete-time deterministic systems (dt-DS), (iii) continuous-time stochastic systems (ct-SS), and (iv) continuous-time deterministic systems (ct-DS). PRoTECT is implemented in Python as an application programming interface (API), offering users the flexibility to interact either through its user-friendly graphic user interface (GUI) or via function calls from other Python programs. PRoTECT leverages parallelism across different barrier degrees to efficiently search for a feasible BC. Additionally, PRoTECT employs sum-of-squares (SOS) optimization programs to systematically search for polynomial-type BCs.

We have provided Youtube tutorial videos to help understand how to use PRoTECT here.

This version contains the artifact evaluation instructions that can be found in the file: Artifact_Evaluation_Instructions.pdf, as well as some bash-scripts for ease of installation and adjusting examples. All PRoTECT dependencies are now included in a folder dependencies, and the tool we compare against FOSSIL 2.0 is included in fossil-main.

Notes

If you use this software, please cite it as below.

Files

Kiguli/PRoTECT-v1.2.zip

Files (172.4 MB)

Name Size Download all
md5:ddb77150f5047287a1ddfa0b31ef808f
172.4 MB Preview Download

Additional details

Related works

Is supplement to
Software: https://github.com/Kiguli/PRoTECT/tree/v1.2 (URL)