形式化方法研究内容形式化方法的一个重要研究内容是形式规约(Formal Specification,也称形式规范或形式化描述),它是对程序“做什么”(what to do)的数学描述,是用具有精确语义的形式语言书写的程序功能描述,它是设计和编制程序的出发点,也是验证程序是否正确的依据
对形式规约通常要讨论其一 致性(自身无矛盾)和完备性(是否完全、无遗漏地刻画所要描述的对象)等性质
形式规约的方法主要可分为两类:一类是面向模型的方法也称为系统建模,该方 法通过构造系统的计算模型来刻画系统的不同行为特征;另一类是面向性质的方法也称为性质描述,该方法通过定义系统必须满足的一些性质来描述一个系统
不同 的形式规约方法要求不同的形式规约语言,即用于书写形式规约的语言(也称形式化描述语言),如代数语言OBJ、Clear、ASL、ACT One/Two等;进程代数语言CSP、CCS、π演算等;时序逻辑语言PLTL、CTL、XYZ/E、UNITY、TLA等;这些规约语言由于基于不同 的数学理论及规约方法,因而也千差万别,但它们有一个共同的特点,即每种规约语言均由基本成分和构造成分两部分构成
前者用来描述基本(原子)规约,后者 把基本部分组合成大规约
构造成分是形式规约研究和设计的重点,也是衡量规约语言优劣的主要依据
形式验证形式化方法的另一重要研究内容是形式验证(Formal Verification)
形式验证与形式规约之间具有紧密的联系,形式验证就是验证已有的程序(系统)P,是否满足其规约(φ,ψ)的要求(即P (φ,ψ)),它也是形式化方法所要解决的核心问题
传统的验证方法包括模拟(simulation)和测试(testing),它们都是通过实验的方法 对系统进行查错
模拟和测试分别在系统抽象模型和实际系统上进行,一般的方法是在系统的某点给予输入,观察在另一点的输出,这些方法花费很大,而且由于实 验所能涵盖的系统行为有限,很难找出所有潜在的错误
基于此,早期的形式验证主要研究如何使用数学方法,严格证明一个程序的正确性(即程序验证)
以上内容由大学时代综合整理自互联网,实际情况请以官方资料为准。