在计算机科学和软件⼯程领域,形式化⽅法是基于数学的特种技术,适合于软件和硬件系统的描述、开发和验证。将形式化⽅法⽤于软件和硬件设计,是期望能够像其它⼯程学科⼀样,使⽤适当的数学分析以提⾼设计的可靠性和鲁棒性。但是,由于采⽤形式化⽅法的成本⾼意味着它们通常只⽤于开发注重安全性的⾼度整合的系统。
形式化⽅法定义
@暗月寺起云13
⽤于开发计算机系统的形式化⽅法是描述系统性质的基于数学的技术,这样的形式化⽅法提供了⼀个框架,可以在框架中以系统的⽽不是特别的⽅式刻划、开发和验 证系统。如果⼀个⽅法有良好的数学基础,那么它就是形式化的,典型地以形式化规约语⾔给出。 形式化⽅法的本质是基于数学的⽅法来描述⽬标软件系统属性的⼀种技术。不同的形式化⽅法的数学基础是不同的,有的以集合论和⼀阶谓词演算为基础(如Z和 VDM),有的则以时态逻辑为基础。形式化⽅法需要形式化规约说明语⾔的⽀持。
形式化⽅法的分类
(1)⾯向模型的形式化⽅法。⾯向模型的⽅法通过构造⼀个数学模型来说明系统的⾏为。
(2)⾯向属性的形式化⽅法。⾯向属性的⽅法通过描述⽬标软件系统的各种属性来间接定义系统⾏为。