收稿日期: 2005-05-09; 修返日期: 2006-02-17
基金 项 目: 国 家 自 然 科 学 基 金 资 助 项 目 ( 60273025) ; 国 家
“973”计划资助项目( 2002CB312200)
一 种 基 于 有 限 精 度 时 间 自 动 机 的 模 型 检 测 工 具
*
徐雨波
1, 2
, 晏荣杰
1
( 1. 中国 科学 院 软 件研 究所 计 算机 科学 国家 重点 实验室 , 北 京 100080; 2. 中 国科 学院 研究 生院 , 北京 100049)
摘 要: 基 于有 限精 度时 间自 动机 模型 , 实 现了 一种 新 的数 据 结 构———SDS , 用 SDS 符号 化 表 示状 态 空 间 的 实
时系 统模 型检 测工具 , 并进 行了 初步的 实验 分析 , 取 得了 良好 的效 果。
关键 词: 模 型检 测工 具; 实 时系 统; 数 据结 构; 有 限精 度; 时 间自 动机
中图 法分 类号 : TP316 文献 标识码 : A 文章 编号 : 1001-3695( 2006) 05-0121-05
Model-checking Tool Based on Finite Precision Timed Automata ( FPTA)
XU Yu-bo
1, 2
, YAN Rong-jie
1
( 1. Key Lab. for Computer Science, Institute of Software, Chinese Academy of Sciences, Beijing 100080, China; 2. Graduate School, Chinese
Academy of Sciences, Beijing 100049, China)
Abstract: Based on the theoryof Finite Precision Timed Automata( FPTA) , this article implements a kind of datastructure,
named series of delay sequence ( SDS) , to describe the state space symbolically. Then implement a model-checking tool for
real-time systems based on the data structure of SDS. From primary experiment results, it can be concluded that the perfor-
mance of the tool is good in most cases.
Key words: Model-checking Tool; Real-time Systems; Data Structure; Finite Precision; Timed Automata
实时系统应用领域诸如航天航空控制系统、核反应堆控制
系统、实时通信系统等, 对系统的安全性、可靠性和正确性都提
出了很高的要求, 尤 其 在一 些高 尖 端领 域比 如 航空 航天 领 域
中, 系统设计上的微 小错误 都可能 导致灾 难性的 后果。所以,
如何保证这些系统的安全性、可靠性和正确性成了研究工作者
广为关注的问题。
一个系统或者 程序 是 否正 确 主要 有两 种 判定 方 法: 测 试
( Testing) 和模型检测方法( Model-checking) 。测试方法是 通过
程序在大量测试数据上的运行表现来发现程序中的错误, 一般
只能发现系统或者程序中的 部分错 误, 并且需 要手动 完成; 而
模型检测方法是通过对程序状态空间的穷尽搜索, 针对某一个
特性发现系统或者程序中的 错误, 并且 可以自 动完成, 无须 人
工干预。这些特点使得模型检 测方法 引起了 研究者 很大的 兴
趣。
对于有穷状态系统, 可以通过搜索其状态空间变迁图的方
法, 完成程序的自动验证, 目前 存在许 多基于 不同逻 辑理论 的
方法和工具来验证有穷状态系统。对于非实时系统, 其模型检
测的理论和工具的研究比较成熟, 目前比较著名 的是基于 LTL
的模型检测工具 SPIN
[ 1]
和基于 CTL 的模型检测工具 SMV
[ 2]
。
在此基础上, 提出了针对 实时系 统的模 型检测 理论, 如基于 时
间自动机 ( Timed Automata, TA)
[ 3]
模型 的符 号 化模 型检 测 方
法, 这方面比较著名的实时系统模型检测工具有基于连续语义
的 Kronos
[ 4]
以及 Uppaal
[ 5]
等。
本文介绍的 FPTAT ( Finite Precision Timed Automata Tool)
工具是针对实时反应型系统的模型检测工具, 其理论基础是有
限精度时 间 自 动机 ( Finite Precision Timed Automata, FPTA) 。
FPTAT工具根据自身的语 义特点 实现了 相应的 数据结 构———
SDS ( Series of Delay Sequence) 结 构 并 且符 号 化 表 示 状 态 空
间, 实现了基于深度优先搜索和广度优先搜索两种模型检测算
法。FPTAT 工具主要用于实时系统的可达性分析。
1 FPTA理论简介
有限精度时间自动机建立在时间自动机基础上, 是时间自
动机的一种变形, 其 中“有 限精 度”主要 体现 在时 钟变 量的 定
义和状态迁移的语义定义上, 这一 节主要 介绍时 间自动 机, 有
限精度时间自动机及其语义以及相关概念。
1. 1 时间自动机
由 Alur 和 Dill 提出的时间自动机是实 时系统领 域模型 检
测研究的理论基础之一。时间 自动机 是具有 有限个 时钟变 量
的有限状态自动机, 最主要 的特点 是具有 时钟变 量, 时钟变 量
是一种特殊的变量, 它会随 着系统 运行时 间的流 逝而变 化, 其
中时钟变量的取值( 时钟域) 为非负 实数。时间自动 机可以 表
示为一个有向图, 图的顶点为自动机的节点( Location) , 图的 边
为自动 机 的 转 移 边 ( Transition) , 自 动 机 中 节 点 非 变 量 约 束
( Location Invariant ) 限制了可以停 留在该 节点的 最大时 间, 只
有满足转移边上的卫条 件( Guard ) 才 可以从 一个 节点 转移 到
另一个节点。
令 C 为时钟变量的可数有限集, 其中的 时钟变 量用 x, x
1
,
x
2
, …表示, d 为非负整数, 时钟约束用 BNF 记号定义如下:
: : =x ~d| |
1
∧
2
. ~∈{ < , ≤, > , ≥ }
用 Φ( C) 表 示满 足 上 述 定 义 的时 钟 约 束 的 集 合 { ,
1
,
·121·第 5 期 徐雨波等: 一种基于有限精度时间自动机的模型检测工具
┐
评论0
最新资源