前言:每天看文献总是不知道该写点什么好,不记录点东西读了就忘,就随时补充记录在博客里吧。(希望导师能够看到知道我没在摸鱼)
文章目录
概览
根据STL公式模板推理出满足dense-time real-valued信号的可行参数空间,即可行域的推导。文中提供了两种方法:
- 量词消去法 quantifier elimination
- 自适应(“暴力”)搜索法
流水账笔记
1 Introduction
首先对背景进行了介绍,系统设计中通常使用某种量化指标对系统的performance进行评估,及使用量化方法作用于动态系统的trace(有时候又称:信号、波形、轨迹)。因此设计评估方法的同时也反映了工程师对系统表现的期望。
本文进行相反的工作,已知信号来得到评价期望(specification)。即,用原文的话来说:
Given a PSTL formula, find the range of parameters that render the formula satisfied by a given set of traces.
2 Parametric Signal Temporal Logic
定义了几个重要的概念:
PSTL:
包含参数的STL
parameter valuation:
赋值,将PSTL变为STL
polarity π ( p , φ ) \pi(p,\varphi) π(p,φ) :
φ \varphi φ中的参数 p p p变大,信号是更容易满足 φ \varphi φ还是更难满足 φ \varphi φ,更容易为正
validity domain:
可行域,在这个空间中的参数都能够使信号满足公式 φ \varphi φ
3 Computing Validity Domains
介绍计算可行域的计算流程
3.1 Semilinear Validity Domains
这里为什么要定义一个semilinear的概念并不是太懂,原文是这样定义的:
A subset of the parameter space is semilinear if it can be written as a Boolean combination of linear inequalities on the corresponding variables.
即,半线性可行域可以用有关不同变量的不等式的线性组合表示。
接着证明了以下Proposition:
For every PSTL formula φ \varphi φ and piecewise-linear signal x x x, the validity domain D ( x , φ ) D(x,\varphi) D(x,φ) is semilinear.
可行域计算步骤
用以上方法得到的可行域是不等式的布尔运算组合(可以理解为在时间上分段的不等式),如图
选取最优参数
得到可行域后,我们得到的是个超曲面(多维的区间),曲面上的点都是可用的参数组合。这时,我们会想要得到optimal valuation,由于前面的假设,每个参数的polarity都是非负即正,这里选择边界的点作为最优解。边界可以看做是Pareto front,所得到的参数是tightest。
Tightness vs. robustness
这就引出了时序逻辑的两个向对概念:tightness和robustness. 我是这样理解的:
Tightness可译为极限度,表示极性为正(负)的参数的参数减小(增大),信号更容易违反公式的程度。
Robustness可以为鲁棒度,表示参数的变化不容易导致公式被违反的程度。
可以理解为,越靠边界上的点,tightness越大,robustness越小;越靠里面的点,tightness越小,robustness越大。
3.2 Example
案例复现
案例中要求解的STL如下
φ = ⋄ [ 0 , s 2 ] □ [ 0 , s 1 ] ( x < p ) \varphi=\diamond_{[0,s_2]} \square_{[0,s_1]}(x<p) φ=⋄[0,s2]□[0,s1](x<p)
给出的信号为有5个点,通过线性插值分成了四段:
x ( t ) = { 2 t 0