一个有效使用信号时序逻辑(STL)及其定量语义的库。
signal-temporal-logic的Python项目详细描述
信号时序逻辑监控
这个软件包提供了一个接口来定义信号时序的离线监视 逻辑(STL)规范。该库是用C++编写的(可以与CMake一起使用) 已使用pybind11对其进行包装以供Python使用。在
图书馆的灵感来自以下项目:
- py-metric-temporal-logic是一个用纯Python编写的工具,它提供了一个优雅的 使用度量时态逻辑(MTL)评估离散时间信号的接口。在
- Breach和S-TaLiRo是为伪造和 基于STL和MTL规范的网络物理系统仿真测试, 分别。它们的一个特性包括评估 对STL/MTL信号的鲁棒性。在
signal-temporal-logic
库的目标是在以下方面与上面的不同
方法:
- 为速度和目标Python编写。
- 虽然py-metric-temporal-logic是用Python编写的,但它不能执行 计算效率高,速度快。在
- 支持多种定量语义。
- 以上所有工具都有自己的方法来计算 STL/MTL规范。在
- 这个工具将尝试支持计算健壮性的常用方法,但是 也支持STL的其他定量语义。在
数量语义学一览表
- Classic Robustness
- A、 Donzéand O.Maler,“时态逻辑对实值的鲁棒满足 《时间系统的形式建模与分析》,柏林,海德堡, 2010年,第92-106页。在
- Temporal Logic as Filtering
- A、 Rodionova,E.Bartocci,D.Nickovic和R.Grosu,“时序逻辑 过滤,“第19届混合动力系统国际会议论文集: 《计算与控制》,纽约,纽约,美国,2016年,第11-20页。在
- Smooth Cumulative Semantics
- 一、 Haghigi,N.Mehdipour,E.Bartocci和C.Belta,“信号控制 时序逻辑规范具有平滑的累积量化语义,” arXiv:1904.11611[cs],2019年4月。在
安装Python包
使用pip
$ python3 -m pip install signal-temporal-logic
从源代码生成
^ {STR 1 } $要求:< /强> ^ {CD3>} gt;= 3.5,^ {CD4>},以及支持C++ 17的C++编译器。在
首先克隆存储库:
^{pr2}$然后使用pip
进行安装,安装包:
$ python3 -m pip install -U .
使用
参见C++和Python中一些使用示例的^ {A12}。在
- 项目
标签: