软件开发中的形式化方法.pdfVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
软件开发中的形式化方法

-1- 软件开发中的形式化方法 郑红军 张乃孝 (北京大学 计算机科学技术系, 北京 100871) 摘要 本文基于研究的角度,首先讨论了在软件开发过程各阶段使用形式化 方法的可能及困难,进而研究了形式化方法在理论上和应用上的能力、局限性及 其产生原因,以及由此产生的对形式化方法的讨论。最后,综合上述讨论,从形 式化方法的实质出发,在方法上,对形式化方法的研究提出了几点建议,以及基 于这些建议所能看到的形式化方法研究可能的一些发展方向。 关键词 形式化方法 软件开发 1 形式化方法 随着软件系统复杂度的不断增长,开发正确、可靠的软件,成为一个急待解 决的问题。解决此问题的一个有前途、有希望的技术是形式化方法的应用。形式 化方法建立在严格的数学基础上,其目标是希望能使系统具有较高的可信度和正 确性,并能使系统具有良好的结构,使其易维护,关键是能较好地满足用户需求。 “形式化方法”一词虽然一直被广泛地应用,但在不同程度上,因理解不同, 使其具有了不同的含义。一般说来,形式化方法是指具有坚实数学基础的方法, 它是数学上的综合、分析技术的应用,用于开发计算机控制的系统,经常有推理 工具的支持,它可提供一个用于模型设计和分析的一个严格而有效的途径。从形 式系统和复杂问题的本质来看,还未有一个适于全面描述和分析一个复杂系统的 形式系统。所以,可以说,一个“形式化方法”并不是系统设计者开发系统时可 能选择使用的方法,而只是设计者在此过程中希望利用的一种工具之一[Wood* 1988]。 总体上,形式化方法大致可分为五类[Barroca* 1992]: (1) 基于模型的方法 — 给出系统(程序)状态和状态变换操作的显式但亦是 抽象的定义,但对于并发没有显式的表示,如:Z 和 VDM[Jones 1990]。 (2) 代数方法 — 通过联系不同操作间的行为关系而给出操作的隐式定义,而 不定义状态,同样,它亦未给出并发的显式表示,如:OBJ、CLEAR。 (3) 过程代数方法 — 给出并发过程的一个显式模型,并通过过程间允许的可 观察的通讯上的限制(约束)来表示行为,如:CSP、CCS。 (4) 基于逻辑的方法 — 有很多方法采用逻辑来描述系统的特性,包括程序行 为的低级规范和系统时间行为的规范,如:时态逻辑[Galton 1992]。 ------------------------------------------------------------------- *本文受到国家自然科学基金项目和 863-306 项目资助 (5) 基于网络的方法 — 根据网络中的数据流显式地给出系统的并发模型,包 -2- 括数据在网中从一个结点流向另一个结点的条件。如:Petri 网、谓词变 换网。 在形式化方法的使用中,这些方法之间的区别并不总是那么清楚的,有些是 结合多种方法的多个方面而形成的混成(hybrid)方法,大多数方法都以集合论 和谓词逻辑作为其根本基础,所以,这些方法在技术上都有一些相似性。不过, 在表达能力上,这些方法之间有着一定的不同,这也是上述分类的主要依据。 形式化方法可以两种不同的方式来使用。首先,它们可用于生成规范,然后 将此规范作为传统系统开发的基础;第二,形式规范以上述方式产生,然后将其 作为验证程序正确性的依据。在第一种情况,数学将被作为生成规范的主要工具。 形式化规范的好处在于:精确、抽象、简明和可操纵。操作可以包括规范的一致 性检查、原型的自动生成或通过证明的方法推导出规范的一些特殊性质。在第二 种情况,具有与第一种情况类似的益处,除此之外,还可以利用形式化方法证明 规范及其相应程序的正确性,以表明程序与其规范的一致性,这样,可以使软件 开发有可能具有与数学证明同样的确定性。 虽然形式化方法在研究和应用上都取得了很大的进展,也越来越成为研究者 和软件开发者感兴趣的方法,但在理论上和方法上(哲学上)仍有其自身的局限 性,而且有关使用形式化方法开发大型软件系统和解决特殊问题的适用性及其适 用程度问题还不很清楚[Garhart 1990][Ehrig 1995]。本文基于研究的角度,首先讨 论了在软件开发过程各阶段使用形式化方法的可能及困难,进而研究了形式化方 法在理论上和应用上的能力、局限性及其产生原因,以及由此产生的对形式化方 法的讨论。最后,综合上述讨论,从形式化方法的实质出发,在方法上,对形式 化方法的研究提出了几点建议,以及基于这些建议所能看到的形式化方法研究可 能的一些发展方向。希望本文能有益于形式化方法的研究和应用,也希望有助于 认清形式化方法的能力、局限性及适用性,以使形式化方法能更有效地发挥其内 在的潜力,从而能够

文档评论(0)

***** + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档