“确定监控器也为LTL控制器综合提供接口。验证寻找一条违反给定系统规格的路径;综合则先选一个只看已知输入的统一输出策略,再要求它应对全部环境输入。把非确定自动机的一次成功猜测直接当作控制器动作…”
形式陈述
LTL控制器综合给定互不相交的有限输入命题集I、输出命题集O及LTL公式φ,要求构造一个在线输出策略,使所有环境输入序列产生的联合无限词都满足φ。
本页先固定Mealy 时序与控制器输出接口:第t轮环境选择iₜ∈2ᴵ,控制器看到截至iₜ的输入历史后,选择oₜ∈2ᴼ。策略形式为
它要求一份统一策略,不能先让环境交出完整未来输入,再为每条输入单独挑一条输出序列。
若已取得识别φ的确定完整奇偶自动机A=(Q,Σ,δ,q₀,Ω),建立有限奇偶博弈:环境顶点为q,环境选择当前输入i后走到控制器顶点(q,i);控制器选择输出o后,走到δ(q,i∪o)。环境顶点保留Ω(q),中间顶点赋一个大于全部原优先级的数,不改变min-even的长期最小值。
q₀在Even获胜区,当且仅当规格可实现。获胜策略在(q,i)选择o,自动机状态q作为有限记忆,便得到一台Mealy机器。
直觉
模型检查问“这台给定机器的所有运行是否正确”,综合则要选出机器本身。环境输入是不可控制选择,控制器输出是可设计选择;把两种边混成自动机的普通非确定后继,会丢掉存在策略、全称环境的先后顺序。
确定监控器使过去输入输出唯一确定当前q,不需要猜未来。一般LTL先经LTL 到 Büchi 转换取得识别公式本身的非确定自动机;这里不是模型检查中识别否定公式的坏行为机。其接受分支只保证对完整词存在,并不保证能在线选对;因此不能直接把NBA所有分支交给控制器自由选择。Safra确定化及后续接受条件转换是经典可行途径之一,也有其他保持正确策略语义的综合流程。
具体的后续条件转换可先把确定 Rabin 机改写为同图 Muller 条件:允许的集合为所有满足某一对
例子与边界
请求与可用信号
输入为req、ready,输出为grant。希望满足
没有环境假设时不可实现:环境先发请求,再永远令ready=false。控制器若授权就违反S,若永不授权就违反R。
较弱假设
每个未回应请求让pending保持真;假设保证之后某轮ready,届时grant为真并清账。S无条件成立,R在A_req成立的输入上成立。同一轮req与ready都真时可立即授权,因为F允许当前时刻兑现。
三优先级监控器
为把公平假设做成一个小奇偶图,下面采用更强、形式更简单的
这表示安全S始终要守,环境违反公平时只免除响应R。它不同于
仍用pending更新式,但监控器不替控制器选择grant,而是读取任意联合字母。若grant=true且ready=false,进入永久拒绝状态D。其他情况计算pending′,进入以下状态:
| 监控状态 | 读完本轮后的含义 | 优先级 |
|---|---|---|
| Q | pending′=false | 0 |
| P₀ | pending′=true且ready=false | 2 |
| P₁ | pending′=true且ready=true | 1 |
| D | 曾有非法授权,永久停留 | 1 |
初态Q。在从未进入D的运行中,Q出现无限次等价于没有请求被永久拖欠,因此R成立;若Q只有限出现,就最终一直pending。此时ready无限出现会让P₁无限出现,最小色1拒绝;ready仅有限出现则最终只见P₀的2,表示公平前提失败而响应义务被解除。D的1自环另保证任何一次非法授权都不能被后来不公平“洗掉”。
一段合法策略执行为:输入(req,ready)依次(1,0)、(0,0)、(0,1),输出grant依次0、0、1,监控器Q→P₀→P₀→Q。之后即使还有任意长但有限的不可用区间,只要GFready成立,每次pending最终仍能被清掉。
为什么Mealy改Moore会改变答案
Moore时序要求控制器先输出oₜ,再看到本轮iₜ。对同一即时安全条件grant→ready,控制器不能提前知道ready。
环境可以一直req=true,并在控制器第一次grant=true的那一轮令ready=false,其余轮令ready=true。如果控制器从不授权,GFready成立而R失败;若它某轮授权,S立即失败,此后环境持续ready=true仍满足公平。故这个Moore版本不可实现,而刚才的Mealy版本可实现。
把输出解释成“下一轮授权”可以得到另一份有意义的接口,但须同步调整公式中的X及时间对齐。单纯把机器类型名称换掉,不会保留同一个综合问题。
推论与应用
从位置策略提取实现
把四状态监控器按“环境输入、控制器输出”展开,调用Zielonka求解器。Even在每个可达(q,i)挑一条获胜输出边,并按δ更新记忆,就得到有限控制器。该位置策略是对扩展图无记忆,对原始输入接口可能仍需要保存监控状态。
本例还有更简单的合法实现grant=ready,因为规格允许没有请求时也授权。若希望不主动授权,可以选择上面的pending版本;这种约束或偏好没有出现在原公式里时,综合器不会自动替设计者补上。得到一个获胜实现也不等于得到状态数最少、延迟最短的实现。
若初态在Odd获胜区,输出环境反策略比只说“不可实现”更有帮助。反策略必须尊重环境在回合中能看到的信息,并用真实输入迫使安全违例或长期未回应,不能用一条控制器本可避开的失败路径冒充证书。
把展开图交给只记录端点关系的奇偶求解器时,可合并同一
构造成本与规格边界
若确定监控器有N个状态、输入/输出字母数分别为a、b,直接展开有N(1+a)个顶点、Na(1+b)条带动作边,之后还需支付奇偶求解和策略输出成本。a=2^|I|、b=2^|O|时,显式字母枚举本身就可能昂贵,符号表示需另行分析。
一般 LTL 有双指数规模的标准确定自动机翻译,且最坏情况确需这一量级,不能用本例四状态监控器代表普遍成本。上面把整台确定 Rabin 机显式改写为 Muller 再做 LAR 的流程,只提供透明的存在性构造,不承诺达到这个最优规模界:若中间已有 N 个状态,LAR 的 N! 记忆可能再增加一层指数。要获得标准双指数界,应使用保留较小接受对结构的转换或直接确定奇偶构造。朴素 Zielonka 的宽松指数上界也不能忽略;应分别报告所选规格翻译、积图与实际求解方法。
单元终点给出完整16顶点展开及递归获胜证书,再比较禁止授权的接口和Moore接口,要求交付真实控制器或环境反策略,并核对假设失效时哪些义务仍然保留。
参考资料
-
Michael Luttenberger, Philipp J. Meyer and Salomon Sickert, “Practical Synthesis of Reactive Systems from LTL Specifications via Parity Games”, 2019作者稿,§2.4的Mealy策略量词、§3的确定监控器与输入/输出博弈、§3.3的控制器提取
-
Amir Pnueli and Roni Rosner, “On the Synthesis of a Reactive Module,” POPL, 1989, 179–190,原始综合问题的书目来源;本页具体监控器和交错例子独立构造
-
Nir Piterman, “From Nondeterministic Büchi and Streett Automata to Deterministic Parity Automata”, LMCS 3(3:5), 2007,§1 比较按接受对数的条件转换与直接确定奇偶构造;这些规模界不能替代本文按全部监控状态做 LAR 时的成本。