浅析形式化描述方法应用.docVIP

浅析形式化描述方法应用.doc

此“教育”领域文档为创作者个人分享资料,不作为权威性指导和指引,仅供参考
  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文档。上传文档
查看更多
浅析形式化描述方法应用

浅析形式化描述方法应用   摘要形式化方法是一种使用严格的数学模型和方法准确、抽象、规范地描述和验证软件系统的行为和性能的方法,其中主要包括软件的需求规格、设计和实现等。使用这种描述方法可以帮助开发者发现软件系统的设计、实现和程序中的问题和缺陷,能够较好的提高软件系统的正确性和可靠性。本文介绍了形式化方法的基本内容、分类以及应用等方面,分析了其思想和应用情况,以及形式化方法在软件工程中的优势和可靠性,并列举了一个简单的实例。   【关键词】软件工程 形式化描述 形式规约语言 Z语言   1 引言   随着计算机硬件和应用技术的快速发展,软件工程和软件开发技术也发展迅速,那么在这种情况下,开发出正确的、可靠的、安全的、可扩展的、结构复杂的软件就变得越来越重要,形式化描述方法的出现成为了解决此问题的一种方法。软件工程和设计模式的规格和功能描述可以采用非形式化和形式化描述两种方法,非形式化的描述方法主要有自然语言、流程图等,但是这种方法存在一定的局限性、不准确性和易混淆性。而形式化描述方法则是使用严格的数学方法进行描述,并且具有严格的语法和语义定义,可以准确、抽象、规范地描述软件系统的模型、功能和规格,从而提高软件的正确性和可靠性,更好地满足用户的需求。   2 形式化方法的介绍   2.1 形式化方法的含义   形式化方法(Formal Method)的基本含义是借助数学的方法来研究计算机科学中的有关问题。形式化方法提供了一个框架,在框架中可以用数学的方式开发和验证系统。在软件开发的全过程中,凡是采用严格的数学语言,具有精确的数学语义的方法,都可称为形式化的方法。总之,形式化方法是软件开发过程中规格、设计及实现的系统工程方法,是软件规格和验证的方法。而形式化的软件开发就是用形式化语言来描述软件的需求和功能,并通过推理验证来保证最终的软件系统实现了这些需求和功能。形式化方法的规格描述所采用的形式化描述语言是严格的数学语言,其语法和语义都是无二义的、精确的,目前形式化规格描述语言主要有Z语言、VDM语言等。因为形式化方法使用具有精确的、一致性的和完整性的数学符号来描述软件系统,因此只要保证软件规约对实际问题描述的正确性,就能确保软件系统实现的完备性与可靠性。   2.2 形式化方法的内容   软件开发的形式化描述方法有两个重要内容:形式规约(Formal Specification)和形式验证(Fomal Verification)。形式规约是用具有精确语义的数学语言描述程序的功能,它是设计和编写程序的依据。其中典型的是基于状态的描述方法,利用一些已知特性的数学抽象(域、元组、集合、序列、包、映射等)来为软件系统的状态特征和行为特征构造模型。形式验证与形式规约之间有着密切的联系,形式验证就是验证最终的程序是否满足其规约的要求,这是形式化方法重要的问题。形式化方法是用数学方法解决计算机科学研究和软件工程中程序开发问题的工具,集合论、数理逻辑、代数理论、范畴论、抽象构造类型论等数学理论是形式化方法坚实的理论基础。   在形式化描述中,数据抽象和过程抽象是软件规格过程中的两类重要抽象。数据抽象又称为表示抽象,是利用抽象的数据结构(如关系、函数等)来进行功能性的描述,而不关心这些抽象数据结构在计算机中是如何表示和实现的;过程抽象是指忽略任务具体完成的过程,而只精确描述该任务所要完成的功能,即描述了从输入到输出的映射,该映射的定义域和值域均使用数据抽象来刻画。   2.3 形式化方法的分类   根据表达的方法和性能,形式化方法可以分为五类:   (1)面向模型的方法:也称为基于状态的形式方法,利用一些已知特性的数学抽象,如集合、序列、映射等为目标软件的状态特征和行为特征构造模型,如Z语言。   (2)代数方法:通过分析不同操作间的行为关系给出操作的隐式定义,而不定义状态,支持描述的结构化,代数方法仅使用一阶逻辑表示,如OBJ语言。   (3)基于过程代数方法:给出并发过程的一个显式模型,并通过过程间的约束来表示行为。   (4)基于逻辑的方法:采用逻辑描述系统的特性,包括程序行为的低级规范和系统行为规范,使用与所选逻辑相关的公理系统证明系统具有预期的性能。如时态逻辑。   (5)基于网络的方法:根据网络中的数据流显式地给出系统的并发模型,包括数据在网中从一个结点流向另一个结点的条件。如Petri网。   3 形式化方法的评论   形式化方法在软件开发各阶段的应用能有效地提高软件质量和开发效率,减少开发成本。形式化描述的优势在于实际问题的抽象和语法准确、语义清晰、描述准确规范、表达无二义性。形式化方法还可以通过数学工具求解一些问题的确定解进行有效地检查软件系统中的非功能特性。   4 Z语言与形式化应用实例   4.1 Z语言   Z语言是由英

文档评论(0)

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

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

1亿VIP精品文档

相关文档