实时系统的自动机

实时系统

实时系统是指对于时间有严格要求的系统, 系统的状态、动作或运行轨迹需要满足一定的时间约束条件,
例如, 必须在一定时间期限内做出响应等. 汽车的控制系统、网络实时监控系统都有这些要求, 因此可以称为
实时系统. 下面将从实时系统的行为规约、性质规约和验证、验证工具进行展开, 最后还对实时系统的鲁棒
性进行介绍.

1 行为规约

时间自动机(timed automata, TA)是一个常用的实时系统建模语言, 这一模型最初由 Alur 等人提出.
TA 可以看作在有穷状态自动机的基础上引入了有限个时钟变元, 用字母 x, y, z 表示. 它们的取值范围是 R≥0,
在进入初始状态时, 所有时钟变元都被赋值为 0, 之后具有相同的增长速率. TA 还包含“时钟约束条件”和“时
钟变元的重置”: 一个时钟约束条件是若干形如 x~c 的原子公式的合取, 其中, c 是常数, ~∈{<,>,≤, ≥}, 时钟
约束条件可以标注在迁移上, 表示迁移发生的必要条件, 也可以标注在状态上, 表示停留在该状态的必要条
件; 时钟变元 x 的重置只能标注在迁移上, 表示进入下一个状态时 x 重置为 0. 此外, 标注在迁移上的字母表
示动作.

图 2 是一个时间自动机的样例, 描述了包含两种亮度的声控灯的行为: 初始状态为关闭(off), 第 1 次触发
后进入暗状态(dim), 如果没有再次触发, 则在暗状态持续 10 s 后关闭; 如果在暗状态再次触发, 则会进入亮
状态(bright), 在亮状态持续 10 s 后自动关闭. 以从 dim 到 bright 的迁移为例, 在处于 dim 状态时, 首先要满足
dim 状态的条件 x≤10, 迁移上的标注 b,x>1,{x}表示该迁移对应 b 动作, 发生的必要条件是 x>1, 并且如果发
生了迁移, 则把时钟变元 x 重置为 0, 之后才进入 bright 状态.

在这里插入图片描述
我们称 TA 的一个格局(configuration)是由当前位置 s 与时钟变元赋值 v 构成的二元组(s,v). TA 允许两种类
型的格局变化: “迁移”和“停留”. 迁移发生的必要条件是满足该迁移对应的时钟约束条件, 而在迁移的过程
中, 允许重置部分时钟变元; 若想在自动机的某一状态停留, 同样需要满足该状态对应的时钟约束条件. TA
的一次执行可以看成由有限或无限个格局构成的序列 , 如 σ=(off,x=0) (off,x=2) (dim,x=0) (dim,x=2)
(bright,x=0) (bright,x=2) (off,x=2) (off,x=4) (dim,x=0)…就是一次执行, 描述的是依次在 off、dim 和 bright 停留
2 s 后转移到下一状态的无限循环.

一个带时间戳的动作是二元组(t,a), t 是自开始运行经历的时间, a 是在 t 时刻执行的动作. 对于 TA 的一次
执行, 两个相邻的格局之间的转移可由带时间戳的动作描述, 所以由一次执行可以生成一个动作序列, 如上
一段中的执行σ对应的动作序列是(2,d)(4,b)(6,c)(8,d)… 我们称所有这样的动作序列为该 TA 接受的语言.

2 性质规约和验证

对于 TA 本身和 TA 之间的关系, 我们关注 3 类性质: 可达性、包含性和互模拟性. 其中, 可达性判定的
复杂度是 PSPACE 的, 借助于 region 等价类划分的概念, 将 TA 的无限状态空间划分成有穷个区域(region), 从
而将 TA 的可达性转化为有穷迁移系统上的可达性. 包含性和互模拟性考虑 2 个或多个 TA 之间的关系: 两
个 TA 之间满足包含关系说明一个 TA 接受的语言也被另一个接受; 互摸拟则说明两个 TA 之间满足某种等价
关系. 其中, 包含性是不可判定的, 互模拟性是可判定的.

在文献[134]中, 作者提出了几类具体的实时性质的模式, 例如, 一个系统在多长时间内一直满足某个性
质(minimum and maximum duration); 一个性质多长时间满足一次(periodic 或 recurrence); 一个状态出现之后,
多长时间内另一个状态出现(bounded response). 用于刻画这些 TA 性质的规约语言有多种, 其中比较重要的是
基于分支时间的 Timed CTL (TCTL)和基于线性时间的 Timed Propositional Temporal Logic (TPTL).
和 CTL 一样, TCTL 语法的定义分为状态公式Φ和路径公式ϕ两部分:
Φ::=true|a|g|Φ1∧Φ2|¬Φ|∃ϕ|∀ϕ;
ϕ::=Φ1UJΦ2,
其中, a 表示原子命题, g 表示时钟约束条件. TCTL 在 CTL 的基础上额外允许状态公式Φ可以是时钟约束条件
g. 路径公式只允许ϕ::=Φ1UJΦ2 一种形式, 其中, J 是 R≥0 上的区间, 表示存在一个 J 中的时刻 t 满足Φ2, 并且在
此之前一直满足Φ1. 例如, legalU[0,30]deadlock 是一个 TCTL 公式, 表示正常运行 30 s 内会死锁. 给定 TA 和一
个 TCTL 公式θ, 验证 TA 是否满足θ可以归结为迁移系统上 CTL 性质的验证, 难点在于如何构建对应的迁移
系统 TS 与 CTL 性质Φ, 使得 TA 满足θ当且仅当 TS 满足Φ. TCTL 模型检验算法首先通过引入新的时钟变元将
TCTL 公式θ转化为等价的 CTL 公式Φ, 再借助 region 等价类划分的方法将 TA 转化为有限大小的迁移系统 TS,
从而得到了一个等价的 CTL 验证问题. TCTL 模型检测算法的复杂度是 PSPACE 完全的.

TPTL 语法定义如下:
ϕ::=a|π1≤π2|π1≡dπ2|false|ϕ1→ϕ2|○ϕ|ϕ1Uϕ2|x.ϕ,

其中, π=x|x+c, c 为常数. TPTL 在 LTL 的基础上允许公式中出现带时钟变元的表达式比较以及同余运算和时钟
变元的初始化. x.ϕ表示将 x 赋值为 0 后ϕ成立, 时态算子□, ◇也可以按 LTL 的方式定义. 例如, □x.(p→◇y.(q∧y≤
x+10))是一个 TPTL 公式, 表示每一个 p 请求能够在 10 s 内得到 q 响应. 可以证明: TPTL 的表达能力严格强于
本文第 6 节将要介绍的 MTL, 且 TPTL 公式的永真性判定问题是 EXPSPACE 完全的.

**

3 验证工具

**

目前已有多种用于时间自动机验证的工具, 如 Uppaal、KRONOS、RED 等.
Uppaal 是目前最常用的基于 TA 的实时系统建模、仿真、验证工具, 目前仍在维护[140]. Uppaal 建模使用
的模型是 TA 网络, 即多个并发执行、相互可以通信的 TA, 支持共享整数变元、紧急通道、提交状态等特殊
机制以刻画不同需求的系统. 在性质验证方面, Uppaal 定义了一个可验证的 TCTL 安全子集, 并支持验证一些
限界活性性质. Uppaal 集成了多种分析和验证工具, 在工业界的应用场景丰富. 验证方面, 应用于音频控
制协议、传输协议、通信协议的验证, 成果包括在 Bang&Olufsen 公司的一个音频设备控制器中发现了 3 个设
计漏洞; 测试方面, 集成了 TRON 在线测试工具以及 COVER 测试生成工具, 能够基于 TA 模型生成满足
特定可达性性质的测试样例, 成果包括基于测试建模冰箱控制系统; 综合方面, 集成了 STRATEGO、
CORA, 基于 PricedTA 分析综合最优策略和最优调度算法, 成果包括卫星电池的控制系统、房屋温控系统以
及交通信号灯控制器的综合.

KRONOS 的特点在于支持多种形式的建模, 并且除了基本的 TCTL 性质以外, 还允许通过定义一个 TA
从行为的方式描述性质, 将特定性质的验证归结为忽略时钟变元后两个自动机的互模拟问题. KRONOS 主
要用于多种通信协议的验证, 包括 ATM 协议、CSMA-CD 协议和 FDDI 协议等; 除了协议的验证以外, 也曾应
用于芯片验证和实时调度器的综合.

RED 主要用于验证带同步操作的分布式实时系统,支持基于时间自动机的仿真与模型检验, 采用基于 CRD (clock-restriction diagram)的模型检验算法.

4 鲁棒性

鲁棒性是实时系统的重要性质. 在实时系统中, 时间扮演着重要的角色, 而时间的测量、时钟的实现以及
控制导致的误差会干扰系统的正常运行. 对于实时系统而言, 系统执行过程可以看成一个带时间戳的执行序
列. 我们可以在所有执行构成的空间中定义一个度量, 借助度量空间的相关理论, 研究实时系统的鲁棒性.
TA 鲁棒性研究主要应用于设计与实现的过程中, 给定一个 TA 模型 A, 我们用 Aδ 表示把 A 中所有时钟约束条
件都松弛δ后得到的模型(如 x>c 松弛成 x>c−δ), 则理论模型 A 的实现可以看成 Aδ. 如果希望实现的模型鲁棒
满足性质Φ, 则需要验证松弛后的模型 Aδ满足Φ.

  • 16
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值