关于模型检测了解
在计算机出现后的最初几十年里,计算机实质上是一个巨大的计算器,数字被录入,计算结果被输出。
直到20世纪70年代,科学家们才意识到需要正确地验证这些计算结果。随着电脑变得更强大,软件更先进,多任务和笔画的数据核查变得更加困难。因此,程序员不得不考虑到时间推移下系统的行为。
在这个契机下,时序逻辑被引入计算科学,这是计算科学发展历史的重要转折点。
时序逻辑也叫时态逻辑(temporallogic),是计算机科学里一个很专业很重要的领域。时序逻辑被用来描述为表现和推理关于时间限定的命题的规则和符号化的任何系统,主要用于形式验证。20世纪60年代Arthur Prior提出介入的基于模态逻辑的特殊的时间逻辑系统,这一理论后来被艾米尔 伯努利等逻辑学家进一步发展。
模型检测(model checking),是一种自动验证技术,由Clarke和Emerson以及Quelle和Sifakis提出,主要通过显式状态搜索或隐式不动点计算来验证有穷状态并发系统的模态/命题性质。
模型检测的基本思想是用状态迁移系统(S)表示系统的行为,用模态逻辑公式(F)描述系统的性质。这样“系统是否具有所期望的性质”就转化为数学问题“状态迁移系统S是否是公式F的一个模型”,用公式表示为S╞F。对有穷状态系统,这个问题是可判定的,即可以用计算机程序在有限时间内自动确定。
命题投影时序逻辑分布式模型检测采用主从模式的分布式框架。
利用分布式技术进行多机协同验证,也为缓解状态空间爆炸问题提供了良好的途径。
现有的分布式模型检测方法主要采用对待验证系统模型进行状态空间划分的策略,要求验证前先必须完整构造出系统的有穷状态模型,因而无法应用于复杂系统验证。