60
模型检验技术 南京大学计算机科学与技术系

模型检验技术 - Nanjing University抽象和组合技术 • 抽象方法通过把原来模型中与待验证性质无关 的信息去掉而获得简化模型的方式来减小模型

  • Upload
    others

  • View
    7

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 模型检验技术 - Nanjing University抽象和组合技术 • 抽象方法通过把原来模型中与待验证性质无关 的信息去掉而获得简化模型的方式来减小模型

模型检验技术

李 宣 东李 宣 东

南京大学计算机科学与技术系

Page 2: 模型检验技术 - Nanjing University抽象和组合技术 • 抽象方法通过把原来模型中与待验证性质无关 的信息去掉而获得简化模型的方式来减小模型

提 纲

• 软件可信性

• 形式化方法

• 模型检验概述

• 软件系统的模型检验软件系统的模型检验

• 实时和混成系统的模型检验• 实时和混成系统的模型检验

Page 3: 模型检验技术 - Nanjing University抽象和组合技术 • 抽象方法通过把原来模型中与待验证性质无关 的信息去掉而获得简化模型的方式来减小模型

研究背景:提高软件可信性

• 随着计算机技术在各行各业应用的日益普及,计算机已经渗透到我们工作和生活的方方面计算机已经渗透到我们工作和生活的方方面面,成为我们工作和生活的一部分,从而极大地促进了社会的发展和生产力的提高。

• 与此同时,工作在我们身边的各种计算机系统由于其中的软件系统失效经常表现不尽人统由于其中的软件系统失效经常表现不尽人意,呈现出脆弱、难以信任的特征,甚至造成不可挽回的损失,因此研究相关的可信软件关键技术以提高软件系统的可信性已经成为十分迫切的需求。

Page 4: 模型检验技术 - Nanjing University抽象和组合技术 • 抽象方法通过把原来模型中与待验证性质无关 的信息去掉而获得简化模型的方式来减小模型

欧洲阿丽亚娜 型火箭欧洲阿丽亚娜5型火箭

1996年6月4日因软件失效在因软件失效在发射40秒后爆炸 原因是惯炸,原因是惯性参考系统

软件的数据软件的数据转换异常造成的失效成的失效。

Page 5: 模型检验技术 - Nanjing University抽象和组合技术 • 抽象方法通过把原来模型中与待验证性质无关 的信息去掉而获得简化模型的方式来减小模型

美国 22猛禽战斗机美国F-22猛禽战斗机

2007年2月9日同样因软件问题延迟在日本部署

2004年12月20日 美空军第422测试评估大队的2004年12月20日,美空军第422测试评估大队的一架F-22战斗机因软件问题在起飞过程中失控坠毁。

Page 6: 模型检验技术 - Nanjing University抽象和组合技术 • 抽象方法通过把原来模型中与待验证性质无关 的信息去掉而获得简化模型的方式来减小模型

美国电力监测与控制管理系统美国电力监测与控制管理系统

多计算机多计算机系统试图同时访问同时访问同一资源引起的软引起的软件失效

Page 7: 模型检验技术 - Nanjing University抽象和组合技术 • 抽象方法通过把原来模型中与待验证性质无关 的信息去掉而获得简化模型的方式来减小模型

美国空管软件美国空管软件

原因是空管软空管软件时钟缺陷缺陷

Page 8: 模型检验技术 - Nanjing University抽象和组合技术 • 抽象方法通过把原来模型中与待验证性质无关 的信息去掉而获得简化模型的方式来减小模型

东京证券交易软件

2005年11月1日,东京证券交易所因为软件升级出因为软件升级出现系统故障,导致早间股市“停早间 市 停摆”。

Page 9: 模型检验技术 - Nanjing University抽象和组合技术 • 抽象方法通过把原来模型中与待验证性质无关 的信息去掉而获得简化模型的方式来减小模型

“熊猫烧香”病毒“熊猫烧香”病毒

近乎一夜之间 该病毒间,该病毒使上百万台计算机感染计算机感染并遭到破坏

Page 10: 模型检验技术 - Nanjing University抽象和组合技术 • 抽象方法通过把原来模型中与待验证性质无关 的信息去掉而获得简化模型的方式来减小模型

互联网软件安全的几个数据互联网软件安全的几个数据

• 约80%的家庭用户感染了Spyware• 美国2004年网络犯罪非法谋利105亿美元

• 50%以上的安全漏洞是由软件缺陷引起的• 50%以上的安全漏洞是由软件缺陷引起的

Page 11: 模型检验技术 - Nanjing University抽象和组合技术 • 抽象方法通过把原来模型中与待验证性质无关 的信息去掉而获得简化模型的方式来减小模型

误杀百万电脑 诺顿致歉

由于误将中文Windows XP中的系统文件当作木马程序屏蔽掉,2007年5月17日和18日,诺顿杀毒软件导致全

部安装了该软件的计算机系部安装了该软件的计算机系统瘫痪。根据保守估计,被误杀的电脑在中国内地不下误杀的电脑在中国内地不下百万台。昨天,诺顿产品的母公司赛门铁克公司发表声明,向用户致歉并发布了官方解决方案。

Page 12: 模型检验技术 - Nanjing University抽象和组合技术 • 抽象方法通过把原来模型中与待验证性质无关 的信息去掉而获得简化模型的方式来减小模型

2002年NIST估计软件

造成美国年经济损失约600亿美元,GDP的0.6%

Page 13: 模型检验技术 - Nanjing University抽象和组合技术 • 抽象方法通过把原来模型中与待验证性质无关 的信息去掉而获得简化模型的方式来减小模型

我们的信息基础设施我们的信息基础设施我们的信息基础设施我们的信息基础设施正建立在脆弱的软件之上正建立在脆弱的软件之上正建立在脆弱的软件之上正建立在脆弱的软件之上

Page 14: 模型检验技术 - Nanjing University抽象和组合技术 • 抽象方法通过把原来模型中与待验证性质无关 的信息去掉而获得简化模型的方式来减小模型

为什么?

• 软件的根本问题:

任何机构和个人都无法确保所开发的软件一

定没有问题。定没有问题。

Page 15: 模型检验技术 - Nanjing University抽象和组合技术 • 抽象方法通过把原来模型中与待验证性质无关 的信息去掉而获得简化模型的方式来减小模型

Microsoft的承诺

• 就间接损害不赔付责任:– 在法律所允许的最大范围内,Microsoft Corporation或其他供应商绝不就因使用或不能使用本“软件产品”所发生的其他损害负赔偿责任 即使Mi f品”所发生的其他损害负赔偿责任,即使Microsoft Corporation事先被告知该损害发生的可能性。

• 若为Windows的每一次Bug出现赔偿1美分,比尔盖茨 贫如洗尔盖茨早已一贫如洗。

Page 16: 模型检验技术 - Nanjing University抽象和组合技术 • 抽象方法通过把原来模型中与待验证性质无关 的信息去掉而获得简化模型的方式来减小模型

建立人与机器之间的信任关系

• 计算机系统(软件系统):

数学系统 生物系统数学系统 生物系统

• 人与机器之间的关系

人与人之间的关系人与人之间的关系

Page 17: 模型检验技术 - Nanjing University抽象和组合技术 • 抽象方法通过把原来模型中与待验证性质无关 的信息去掉而获得简化模型的方式来减小模型

可信性与可信软件

• 可信性即“可信任的” 是实体的一种属性 一个实体的即 可信任的 ,是实体的 种属性。 个实体的

行为总以预期方式达到既定目标,称其为可信的。

• 可信软件软件系统的行为符合人们的预期,在受到干扰

(外部攻击 错误操作或环境影响)时 具有连续提(外部攻击、错误操作或环境影响)时,具有连续提供服务的能力。

可靠性( li bilit )– 可靠性(reliability)– 安全性(security)– 防危性(safety)– 可维护性(maintainability)可维护性(maintainability)– 可用性(availability)– 容错性(fault tolerance)– 生存性(survivability)

Page 18: 模型检验技术 - Nanjing University抽象和组合技术 • 抽象方法通过把原来模型中与待验证性质无关 的信息去掉而获得简化模型的方式来减小模型

提高软件系统的可信性

• 软件系统的认识与理解分析– 分析

– 测试– 验证

• 软件过程的管理与控制– 过程管理– 质量控制

• 软件系统的运行保障容错– 容错

– 监控

Page 19: 模型检验技术 - Nanjing University抽象和组合技术 • 抽象方法通过把原来模型中与待验证性质无关 的信息去掉而获得简化模型的方式来减小模型

软件过程的管理与控制

• 软件质量定义明确声明的功能和性能需求 明确文档化过的开发标准 以明确声明的功能和性能需求、明确文档化过的开发标准、以

及专业人员开发的软件所应具有的所有隐含特征都得到满足。

软件过程管理• 软件过程管理

软件配置管理• 软件配置管理

软件项目管理• 软件项目管理

软件质量保障• 软件质量保障

Page 20: 模型检验技术 - Nanjing University抽象和组合技术 • 抽象方法通过把原来模型中与待验证性质无关 的信息去掉而获得简化模型的方式来减小模型

软件系统的运行保障

• 容错

• 监控根据软件系统运行过程中产生的动态信息 检验软件– 根据软件系统运行过程中产生的动态信息,检验软件系统是否具备相关的性质

– 在线监控(Online), Monitoring-Oriented P iProgramming

– 离线监控(Offline)

• 多核CPU的发展对软件容错和监控提供了强有力的支持的支持

Page 21: 模型检验技术 - Nanjing University抽象和组合技术 • 抽象方法通过把原来模型中与待验证性质无关 的信息去掉而获得简化模型的方式来减小模型

软件系统的认识与理解--软件分析

• 软件分析主要是指针对程序和相关制品的分析,主要包括静态分析和动态分析主要包括静态分析和动态分析。

静态分析技术是指通过对程序代码进行扫描分• 静态分析技术是指通过对程序代码进行扫描分析而获得程序相关性质的技术。

• 动态分析技术通过对程序的执行来获得程序的相关性质 般与程序切片 调试和测试技术相关性质,一般与程序切片、调试和测试技术相结合。

Page 22: 模型检验技术 - Nanjing University抽象和组合技术 • 抽象方法通过把原来模型中与待验证性质无关 的信息去掉而获得简化模型的方式来减小模型

软件系统的认识与理解--软件分析

• 软件分析技术的作用主要体现在两个方面:通过检测系统中的错误而提高软件的可靠性– 通过检测系统中的错误而提高软件的可靠性

– 通过检测系统的安全漏洞来提高软件的安全性。

• 很多软件系统的错误来自于对指针或内存的误用,比如内存泄漏和缓冲区溢出。还有一些错误和并发相关,比如死锁以及数据共享错误 这些错误很难通过测试发现如死锁以及数据共享错误。这些错误很难通过测试发现。

• 软件系统的安全性漏洞主要有三种类型:访问控制漏洞、软件系统的安全性漏洞主要有三种类型:访问控制漏洞、敏感信息的泄漏、因为程序设计疏忽而导致的安全漏洞、以及因为某些API的误用而导致的安全漏洞。

Page 23: 模型检验技术 - Nanjing University抽象和组合技术 • 抽象方法通过把原来模型中与待验证性质无关 的信息去掉而获得简化模型的方式来减小模型

软件系统的认识与理解--软件测试

• 以运行系统为主要手段发现系统错误

• 只能发现系统的错误,不能证明系统没有错,无法回答系统一定没有错误这样一类问题答系统 定没有错误这样 类问题

• 工业界常用的途径,成本高,代价大工业界常用的途径,成本高,代价大

• 仿真(Simulation):以运行系统模型为主要手段发现系统错误

Page 24: 模型检验技术 - Nanjing University抽象和组合技术 • 抽象方法通过把原来模型中与待验证性质无关 的信息去掉而获得简化模型的方式来减小模型

软件验证

• 建立系统模型,确认系统模型是否存在错误

• 可以从某一个角度回答系统一定没有错误这样可以从某 个角度回答系统 定没有错误这样一类问题,从而进一步提高我们对系统可靠性的可信度信度

• 基于形式化方法• 基于形式化方法

Page 25: 模型检验技术 - Nanjing University抽象和组合技术 • 抽象方法通过把原来模型中与待验证性质无关 的信息去掉而获得简化模型的方式来减小模型

形式化方法(Formal Methods)

• 形式化方法是指为说明和验证复杂计算机系统所采用的基于数学的语言 技术和 具统所采用的基于数学的语言、技术和工具。

• 形式化方法不能确保系统的可靠性,但其可以通过揭示系统的不一致性 歧义性和不完以通过揭示系统的不一致性、歧义性和不完备性来增加我们对系统的理解程度,从而提高我们对系统可靠性的可信度高我们对系统可靠性的可信度。

Page 26: 模型检验技术 - Nanjing University抽象和组合技术 • 抽象方法通过把原来模型中与待验证性质无关 的信息去掉而获得简化模型的方式来减小模型

形式验证

• 形式化方法包括:

规约(specification)验证(verification)验证(verification)

• 形式验证包括:

模型检验( d l h ki )模型检验(model checking)推理验证(theorem proving)p g

Page 27: 模型检验技术 - Nanjing University抽象和组合技术 • 抽象方法通过把原来模型中与待验证性质无关 的信息去掉而获得简化模型的方式来减小模型

模型检验

• 模型检验是一种自动验证有穷状态系统的技术。

• 模型检验的基本思想是通过遍历系统模型的状态空间来检验系统模型是否满足给定的性质态空间来检验系统模型是否满足给定的性质。

• 模型检验技术的创始人(1981):

• EM Clarke, EA Emerson (USA)JP Quielle, J Sifakis (France)

Page 28: 模型检验技术 - Nanjing University抽象和组合技术 • 抽象方法通过把原来模型中与待验证性质无关 的信息去掉而获得简化模型的方式来减小模型

模型检验

• 在模型检验中涉及两种形式说明语言:

性质说明语言用于描述系统的性质;模型描述语言用于描述系统的模型模型描述语言用于描述系统的模型。

• 模型检验技术用于检验由模型描述语言描述的系统模型是否满足由性质说明语描述的系统模型是否满足由性质说明语言描述的系统性质。

Page 29: 模型检验技术 - Nanjing University抽象和组合技术 • 抽象方法通过把原来模型中与待验证性质无关 的信息去掉而获得简化模型的方式来减小模型

模型检验的过程

• 建模(Modeling)

• 规约(Specification)• 规约(Specification)

• 验证(Verification)

Page 30: 模型检验技术 - Nanjing University抽象和组合技术 • 抽象方法通过把原来模型中与待验证性质无关 的信息去掉而获得简化模型的方式来减小模型

模型检验

OKFinite-state model or

Model Checker(Φ Ω)

Error traceLine 5:

Temporal logic formula

( )Line 5: …Line 12: …Line 15:…Line 21:…Line 25:…Line 27:…

……Line 41:…Line 47:…

Page 31: 模型检验技术 - Nanjing University抽象和组合技术 • 抽象方法通过把原来模型中与待验证性质无关 的信息去掉而获得简化模型的方式来减小模型

模型检验中的关键技术问题

• 模型检验中的关键技术问题是如何设计数据结构和算法 用以表示和遍历大规模的系统模型构和算法,用以表示和遍历大规模的系统模型状态空间。

• 解决由多个系统模型的并行组合而形成的状态解决由多个系统模型的并行组合而形成的状态空间爆炸问题。

Page 32: 模型检验技术 - Nanjing University抽象和组合技术 • 抽象方法通过把原来模型中与待验证性质无关 的信息去掉而获得简化模型的方式来减小模型

解决状态空间爆炸问题的途径

• 符号化模型检验技术

(Symbolic representation of state space)• 偏序规约技术(Partial order reduction)• 偏序规约技术(Partial order reduction)• On-the-fly技术

• 对称技术(Symmetry)抽象和组合技术(Ab t ti &• 抽象和组合技术(Abstraction & Composition)

Page 33: 模型检验技术 - Nanjing University抽象和组合技术 • 抽象方法通过把原来模型中与待验证性质无关 的信息去掉而获得简化模型的方式来减小模型

符号化模型检验技术

• 1993年KL McMillan基于RE Byrant的有序二叉判定图(OBDD)来有效地表示状态迁移系统判定图(OBDD)来有效地表示状态迁移系统,提出了符号化模型检验,大大地提高了可有效应用模型检验技术的系统规模(10

120) 使得模应用模型检验技术的系统规模(10 ),使得模型检验在工业界逐步得到应用。

• 用布尔公式刻画状态集合和状态对集合,用OBDD来表示这些布尔公式,使用OBDD上的OBDD来表示这些布尔公式,使用OBDD上的布尔操作来计算谓词转换子(其不动点刻画了CTL模态子),从而使模型检验在压缩了的符模 子 ,从 使模 检 在 缩 的符号化状态空间上来验证CTL性质。

Page 34: 模型检验技术 - Nanjing University抽象和组合技术 • 抽象方法通过把原来模型中与待验证性质无关 的信息去掉而获得简化模型的方式来减小模型

偏序规约技术

• 通过发掘系统中并发执行的迁移的交换性,减少本质上相同的状态,从而仅生成足以检验性质的小部分状态空间。成足以检验性质的小部分状态空间

Page 35: 模型检验技术 - Nanjing University抽象和组合技术 • 抽象方法通过把原来模型中与待验证性质无关 的信息去掉而获得简化模型的方式来减小模型

On-the-fly技术

• 把状态空间生成和检验它是否满足性质合在一起做,而不去预先生成整个状态空间,从而尽可能避免状态爆炸。空间,从而尽可能避免状态爆炸

Page 36: 模型检验技术 - Nanjing University抽象和组合技术 • 抽象方法通过把原来模型中与待验证性质无关 的信息去掉而获得简化模型的方式来减小模型

对称技术

• 针对由多个完全类似的进程组成的系统,利用其模型的状态空间的对称性来生成压缩的且对模型检验等价的模型压缩的 对模型检验等价的模型

Page 37: 模型检验技术 - Nanjing University抽象和组合技术 • 抽象方法通过把原来模型中与待验证性质无关 的信息去掉而获得简化模型的方式来减小模型

抽象和组合技术

• 抽象方法通过把原来模型中与待验证性质无关的信息去掉而获得简化模型的方式来减小模型的信息去掉而获得简化模型的方式来减小模型检验时问题的规模,抽象必须是保持性质的,即若简化的模型满足性质 则原来的模型亦满即若简化的模型满足性质,则原来的模型亦满足该性质。

• 组合方法基于分而治之的思路来缩减模型检验合方法 于分 的 路来缩 模 检时问题的规模,先验证系统的构件的局部性质,然后把这些性质组合起来获得系统的全局性质。然 把 性质 合起来获得系统的 局性质

Page 38: 模型检验技术 - Nanjing University抽象和组合技术 • 抽象方法通过把原来模型中与待验证性质无关 的信息去掉而获得简化模型的方式来减小模型

模型检验

• 关于具有时序性质的并发系统的模型检验理论和技术在工业界已经得到实际的应用。应用

目前模型检验理论和技术的研究热点• 目前模型检验理论和技术的研究热点已经转向实时系统和软件系统。

Page 39: 模型检验技术 - Nanjing University抽象和组合技术 • 抽象方法通过把原来模型中与待验证性质无关 的信息去掉而获得简化模型的方式来减小模型

软件系统的模型检验

Automated model extraction:

Applying model checking to software requires pp y g g q• program source code be translated to a finite-state

transition systems that safely models programtransition systems that safely models program behaviour, and

• remove irrelevant code and thus reduce the size of• remove irrelevant code and thus reduce the size of the corresponding transition system models.

Page 40: 模型检验技术 - Nanjing University抽象和组合技术 • 抽象方法通过把原来模型中与待验证性质无关 的信息去掉而获得简化模型的方式来减小模型

软件系统的模型检验

G. Holzmann研发的模型检验工具SPIN获2001年ACM软件系统奖。2001年ACM软件系统奖。

http://netlib.bell-labs.com/netlib/spin/whatisspin.html

Page 41: 模型检验技术 - Nanjing University抽象和组合技术 • 抽象方法通过把原来模型中与待验证性质无关 的信息去掉而获得简化模型的方式来减小模型

软件系统的模型检验SPIN系统结构图

SPIN系统结构图

Page 42: 模型检验技术 - Nanjing University抽象和组合技术 • 抽象方法通过把原来模型中与待验证性质无关 的信息去掉而获得简化模型的方式来减小模型

实时和混成系统的模型检验

对于实时系统来说,由于时间的引

入,其状态空间是无穷的。要设法遍历无穷的状态空间,这对研究人员来说是无穷的状态空间,这对研究人员来说是一个新的挑战。目前人们关注的主要问题包括:题包括:

• 针对典型实时性质开发检验算法

• 探索解决状态空间过大的有效途径探索解决状态空间过大的有效途径

Page 43: 模型检验技术 - Nanjing University抽象和组合技术 • 抽象方法通过把原来模型中与待验证性质无关 的信息去掉而获得简化模型的方式来减小模型

混成系统

混成系统(Hybrid Systems)是一类

复杂的计算机系统,这类系统的运行过程中既有连续的状态变化,又有离散的程中既有连续的状态变化,又有离散的状态变化。

Page 44: 模型检验技术 - Nanjing University抽象和组合技术 • 抽象方法通过把原来模型中与待验证性质无关 的信息去掉而获得简化模型的方式来减小模型

混成系统实例

水箱监控系统

Page 45: 模型检验技术 - Nanjing University抽象和组合技术 • 抽象方法通过把原来模型中与待验证性质无关 的信息去掉而获得简化模型的方式来减小模型

混成系统实例

水箱监控系统• 初始状态时,水箱中水面的高度为1英寸;

• 水泵打开时,水箱中水面以每秒1英寸的速度上升;

• 水泵关闭时,水箱中水面以每秒2英寸的速度下降;

• 监控器发出信号打开(关闭)水泵到实际打开• 监控器发出信号打开(关闭)水泵到实际打开(关闭)水泵之间有2秒钟的延迟;

要求监控器将水箱中的水面高度控制在1至12英寸之间。

Page 46: 模型检验技术 - Nanjing University抽象和组合技术 • 抽象方法通过把原来模型中与待验证性质无关 的信息去掉而获得简化模型的方式来减小模型

混成自动机(hybrid automata)S1

x = 1S2

x = 1y=1 . .y = 10?

y = 1y ≤ 10

y = 1x ≤ 1

. .yx := 0

x = 2? x = 2?

S3 S4S3x = 1y = -2

S4x = 1y = -2

..

.

.y = 5?x := 0y 2

x ≤ 2y 2y ≥ 5

x := 0

Page 47: 模型检验技术 - Nanjing University抽象和组合技术 • 抽象方法通过把原来模型中与待验证性质无关 的信息去掉而获得简化模型的方式来减小模型

混成自动机的运行示例

Time Current location x y0 10 s1 x0 1 9 s1 x0 + 9 10 9 s2 0 10 11 s2 2 12 211 s4 2 12 14.5 s4 5.5 514.5 s4 5.5 5 14.5 s3 0 5 16 5 s 2 116.5 s3 2 1 16.5 s1 2 1

Page 48: 模型检验技术 - Nanjing University抽象和组合技术 • 抽象方法通过把原来模型中与待验证性质无关 的信息去掉而获得简化模型的方式来减小模型

混成自动机(hybrid automata)

• 混成自动机是不可判定的;

目前国际上相关领域的研究热点在于寻• 目前国际上相关领域的研究热点在于寻找混成自动机的可判定子集。

Page 49: 模型检验技术 - Nanjing University抽象和组合技术 • 抽象方法通过把原来模型中与待验证性质无关 的信息去掉而获得简化模型的方式来减小模型

线性时段性质

线性时段性质可以通过系统在各个

状态上的累积时间来约束系统的行为。一个线性时段性质是如下形式的线性积个线性时段性质是如下形式的线性积分不等式:

∑ c ∫s ≤M∑i∈e ci∫si≤M其中si表示系统状态,ci是实型系数,M是i i实数。

Page 50: 模型检验技术 - Nanjing University抽象和组合技术 • 抽象方法通过把原来模型中与待验证性质无关 的信息去掉而获得简化模型的方式来减小模型

线性时段性质

在水箱监控系统中,要求监控器将水箱中的水面高度控制在1至12寸之间,可以表示成以下线性时段性质:以表示成以下线性时段性质

∫ ∫ (∫ ∫ )• ∫s1 + ∫s2 - 2(∫s3 + ∫s4 ) ≤ 11

• ∫s1 + ∫s2 - 2(∫s3 + ∫s4 ) ≥ 0

Page 51: 模型检验技术 - Nanjing University抽象和组合技术 • 抽象方法通过把原来模型中与待验证性质无关 的信息去掉而获得简化模型的方式来减小模型

满足性问题

检验混成自动机相对于线性时段性质的满足性问题:

• 一个混成自动机满足一个线性时段性质当且仅当该混成自动机的所有行为满足该线性时段性当该混成自动机的所有行为满足该线性时段性质。

Page 52: 模型检验技术 - Nanjing University抽象和组合技术 • 抽象方法通过把原来模型中与待验证性质无关 的信息去掉而获得简化模型的方式来减小模型

混成自动机的行为表示

混成自动机的行为可以表示如下时间状态序列:

(s1, t1)^ (s2, t2)^…^ (sm, tm)

其中s表示系统状态 t表示系统在s上的其中si表示系统状态, ti表示系统在si上的停留时间, t1, t2,…, tm必须满足相应的时间约束约束。

Page 53: 模型检验技术 - Nanjing University抽象和组合技术 • 抽象方法通过把原来模型中与待验证性质无关 的信息去掉而获得简化模型的方式来减小模型

带时段约束的规则表达式

在规则表达式中引入时段约束形成

带时段约束的规则表达式。时段约束表示成如下形式:示成如下形式

∑ ∫ ba ≤ ∑i∈e ci∫si ≤ b

Page 54: 模型检验技术 - Nanjing University抽象和组合技术 • 抽象方法通过把原来模型中与待验证性质无关 的信息去掉而获得简化模型的方式来减小模型

带时段约束的规则表达式

R = ε ⊕ s0 ⊕ (s0 ^ (s1 ,{∫s1 = 9}) ^ R1) ⊕ ( ^ ( {∫ 9}) ^ R ^ ( {∫ 2}))⊕ (s0 ^ (s1 ,{∫s1 = 9}) ^ R1 ^ (s2, {∫s2 = 2}))⊕ (s0 ^ (s1 ,{∫s1 = 9}) ^ R1

( {∫ ∫ ∫ }))^ (s2 ^ s3 , {∫s2 = 2, 2∫s3 -∫s2 = 5})) ⊕ (s0 ^ (s1 ,{∫s1 = 9}) ^ R1

∫ ∫ ∫ ∫^ (s2 ^ s3 ^ s4, {∫s2 = 2, 2∫s3 -∫s2 = 5, ∫s2 = 2}))其中

R1 = (s2 ^ s3 ^ s4^ s1 , {∫s2 = 2, 2∫s3 -∫s2 = 5, ∫s2 = 2, ∫s1 -2∫s4 = 5 })*

Page 55: 模型检验技术 - Nanjing University抽象和组合技术 • 抽象方法通过把原来模型中与待验证性质无关 的信息去掉而获得简化模型的方式来减小模型

带时段约束的规则表达式

• 带时段约束的规则表达式不能描述所有混成自动机的行为;

• 带时段约束的规则表达式对应于一类混• 带时段约束的规则表达式对应于 类混成自动机;

对应于带时段约束的规则表达式的 类• 对应于带时段约束的规则表达式的一类混成自动机是可判定的。

Page 56: 模型检验技术 - Nanjing University抽象和组合技术 • 抽象方法通过把原来模型中与待验证性质无关 的信息去掉而获得简化模型的方式来减小模型

基于线性规划的验证途径

• 用带时段约束的规则表达式描述混成自动机的行为,从而线性时段性质相对于混成自动机的满足性问题转化成为相对混成自动机的满足性问题转化成为相对于规则表达式的满足性问题;

Page 57: 模型检验技术 - Nanjing University抽象和组合技术 • 抽象方法通过把原来模型中与待验证性质无关 的信息去掉而获得简化模型的方式来减小模型

基于线性规划的验证途径

• 对于不包含*运算符的简单规则表达式,

由于规则表达式中所包含的时段约束形成了多组线性不等式,同时线性时段性成了多组线性不等式,同时线性时段性质本身可以作为相应的目标函数,因此验证满足性问题可以转化为一组线性规验证满足性问题可以转化为 组线性规划问题;

Page 58: 模型检验技术 - Nanjing University抽象和组合技术 • 抽象方法通过把原来模型中与待验证性质无关 的信息去掉而获得简化模型的方式来减小模型

基于线性规划的验证途径

• 对于任意包含*运算符的一般规则表达式R,我们可以找出 个简单规则表达式R’ 使得R和R’们可以找出一个简单规则表达式R’,使得R和R’在相对于某个给定的线性时段性质P的满足性问题上是等价的 即问题上是等价的,即

R 满足 P 当且仅当 R’ 满足 P

从而最终将验证满足性问题归结为线性规划问题题。

Page 59: 模型检验技术 - Nanjing University抽象和组合技术 • 抽象方法通过把原来模型中与待验证性质无关 的信息去掉而获得简化模型的方式来减小模型

模型检验工具

• SMVh // d / d l h k/ d h lhttp://www.cs.cmu.edu/modelcheck/code.html

• SPINh // lib b ll l b / lib/ i / h i i h lhttp://netlib.bell-labs.com/netlib/spin/whatisspin.html

• HyTechhttp://www-cad.eecs.berkeley.edu/tah/HyTech/

• Kronoshttp://www.verimag.imag.fr/PEOPLE/Sergio.Yovine/kronos/index.html

• UPPAALhtt // b i dk/F lM th d /UPPAAL/i d ht lhttp://www.brics.dk/FormalMethods/UPPAAL/index.html

Page 60: 模型检验技术 - Nanjing University抽象和组合技术 • 抽象方法通过把原来模型中与待验证性质无关 的信息去掉而获得简化模型的方式来减小模型

25 Years of Model Checking

• http://www.easychair.org/FLoC-06/25MC.html