形式化方法的核心就是形式化语言,以及基于形式化语言构建出来的系统的形式化模型。
在对形式化方法了解的更多的人们看来,它不仅没有“不行”,近年还发展得挺迅猛。只不过,形式化方法也就是是做软件或者硬件,不做什么新东西,不太会像近来热炒的云计算、大数据、人工智能那样,被疯狂追捧。
形式化方法能用于实际软件开发,而且能做出最高质量的软件系统。形式化开发的工作过程与常规软件开发有一些类似的地方。
当然,软件形式化开发技术和应用都还处在起步阶段,还有许多问题需要研究。例如,这里需要考虑的一个重要问题是正确性的组合和传播。复杂系统必然是一些部件的组合,部件可能是不同形式化开发方法的产物,即使每个部件都已经验证,如何模块化地验证由这些部分构造出来的系统仍然正确,还是一个问题。再如,作为与常规方式不同的软件质量保证手段,形式化方法怎样与常规开发方法协同工作?虽然如此,我们还是应该承认,形式化软件开发方法已经取得了实质性进展,并已开始在实际领域发挥作用了。