网站大量收购独家精品文档,联系QQ:2885784924

形式化的方法Designware及其规约精化机理.doc

  1. 1、本文档共30页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
形式化的方法Designware及其规约精化机理

形式化的方法Designware及其规约精化机理   摘要:介绍了一种新的支持算法设计自动化的形式化方法Designware,详细分析了其理论基础及规约精化机理,阐述了其半自动算法设计支撑系统,并结合一个开发实例展示了Designware的具体使用,给出了Designware的两个实际应用项目,最后对Designware进行了评述。   关键词:形式化方法Designware;规约精化;算法设计;高可信   中图分类号:TP311.1文献标志码:A   文章编号:1001-3695(2008)03-0721-05      0引言      形式化方法是建立在严格数学基础上的软件开发方法,其重要目标是以一种严格的工程方法进行软件开发,作为一种思想、方法、技术渗透到软件开发的各个活动中去。在软件开发的需求分析、规格说明、设计、编码、系统集成、测试、文档生成直至维护的各阶段,凡是采用严格的数学语言、具有精确的数学语义的方法都称为形式化方法[1]。统计表明,传统的非形式化方法对软件质量的保证具有一个难以逾越的顶点,而形式化方法的实践证明形式化方法是提高软件质量的重要途径[2]。在从高层规范至最终实现的过程中,选用适当的、以形式化方法为基础的工具进行辅助设计和验证,对提高安全攸关系统的可信度有很大帮助。20 世纪90 年代以来,在国际上,形式化方法已成为软件开发中重要的可信软件技术之一[3]。形式化方法对软件可信性的获得和保证有着不可替代的作用。 但至今形式化方法在实际的高可信软件的开发中仍不多见,基本处于实验室的试验阶段,并且其使用者多是专家型用户。软件开发包括高可信软件的开发,仍以非形式化软件开发方法为主流[2]。因此,研究和应用形式化方法及以其为基础的支撑工具是极有意义的一项工作。   目前公认的在实际开发中得到最成功应用的方法[4~6]是由美国Kestrel研究所D.R.Smith博士主持研究的Specware[7,8]、Designware[9,10]和Planware[11,12]。它们分别带有支持软件开发全过程的支撑系统,已成功应用于美国海军调度系统、波音公司客机设计软件[13,14]中。   这三种方法统一于同一个可机械化的形式化框架中,关注于软件工程的各个方面:Specware主要涉及到形式化规约的构建;Designware关注于设计知识的管理及应用;Planware则用于构建特定调度领域的应用系统。由于篇幅所限,且算法设计是软件开发中知识高度密集的创造性劳动,本文主要介绍Designware,特别是它的规约精化机理。      1形式化方法Designware      1.1理论基础   1.1.1规约   规约采用代数方法描述,由基调(signature)和公理(axiom)两部分组成。一个规约的基调定义了类(sort)和运算(op)的集合,它为描述对象、操作和属性提供了词汇表;公理给出了运算需要满足的约束。   下面给出的是偏序的规约[10],它引进了一个类E和一个定义在E上的中缀二元运算le;此外还包括自反性、传递性和反对称性三条公理,对le的含义加以约束。   spec PartialOrder is   sort E   op _le_ : E, E→Boolean   axiom reflexivity is x le x   axiom transitivity is x le y ^ y le z??x le z   axiom antisymmetry is x le y ^ y le x??x = z   endspec   规约是进行问题求解的起点,它被看成是一个范畴。通过规约态射(morphism)可进行规约的求精,如态射PartialOrdertoInteger is{E→Integer,le→≤}可将偏序规约转换为整数规约。利用该态射,偏序规约中的axiom x le x将转换为整数规约中的axiom x≤x。通过import子句来支持规约的重用,对规约还可进行其他的操作,这些由Specware支持完成。   1.1.2Specware   Specware是Designware的基础,它是Kestrel研究所为整合其前期开发的三个原型系统KIDS[15,16]、REACTO[17]、DTRE[18]的功能而开发的。在Specware中使用的语言是Slang(Specware language)[19],它以高阶逻辑和范畴论为基础,支持形式化规约(包括高阶规约、参数化规约等)的开发及从规约到可执行代码的逐步求精,目标是Common Lisp或C++可执行程序代码。在Slang中的顶层机制包括用于建立规约的规约(specificat

文档评论(0)

fangsheke66 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档