- 1、本文档共10页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
第3章程序规范及其正确性证明概述
内容-Whereweare?程序规范、规范的描述断言与规范及{P}S{Q}程序正确性的概念程序正确性证明的过程
程序设计之前,第一步必须明确“做什么”。所谓“做什么”是指对欲求解的问题的描述。程序规范(PS-ProgramSpecification):关于“做什么”的描述。01这里的PS仅指功能的描述,不包括诸如处理速度、执行时间、响应周期等与时间有关性能指标。PS是软件工程的需求分析的结果。PS的含义是映射,是输入到输出的映射,它反映了程序对数据的作用。02程序规范:3.1程序规范与程序
3.1程序规范与程序(续)2.程序程序也是映射,是输入到计算的映射,即每一输入都对应一串计算步。3.程序规范与程序的关系给出规范后,程序开发就是建立一个程序,使得计算刚好能实现规范的映射;程序验证是证明程序正确地实现了规范,即证明规范和已有程序之间的一致性规范程序输入输出映射输入计算映射
STEP5STEP4STEP3STEP2STEP1规范必须用语言描述,该语言称为规范语言。描述一个复杂问题的输入和输出之间的关系是困难的,目前对规范语言的模式尚无定论。有三种模式:自然语言:不够准确,存在二义性,必须辅以数学语言。一阶谓词:可以精确地描述问题的输入和输出的关系,但是规范文本比较长。如Hoare系统。数学语言:用数学语言可以把输入和输出的映射描述为函数。这些函数的精确的泛函定义就构成了问题的规范。但存在过于规范的问题。程序规范的描述-----规范语言3.1程序规范与程序(续)当有严格的数学语义应当与形式方法的构造理论和程序设计语言协调应当有较强的表达能力和通用性应当为描述者和使用者所直接理解;一个合适的程序规范语言应满足的基本条件:3.1程序规范与程序(续)
3.1程序规范与程序(续)Z语言VDMB方法三者的比较6.形式化程序规范描述语言简介
Z语言是一种基于集合论和一阶谓词逻辑的形式化语言;是迄今为止应用最广泛的形式语言之一;PRG与IBM的Hursley实验室合作,将Z语言用于IBM的客户信息控制系统的开发,使得最终的产品质量得到了全面的的提高,所测出的错误数量大大减少,并且整体开发费用降低了9%;Z语言支持软件的形式化规范描述,规范的推理和求精;Z是在JeanRaymondAbrial等的开创性工作下,由英国牛津大学的程序设计研究小组(PRG,ProgrammingResearchGroup),于20世纪80年代初开发;在ISO指导下的国际标准化Z工作于2002年完成6.形式化程序规范描述语言简介-Z语言简介13.1程序规范与程序(续)
6.形式化程序规范描述语言简介-Z语言简介23.1程序规范与程序(续)提供了一种称为模式(Schema)的结构,它是Z的基本描述单位,以此来描述一个规范说明的状态空间(静态性质)和操作(动态行为)。Z语言的模式和模式演算:状态模式对目标软件系统的结构特征进行抽象描述;操作模式对目标软件系统的行为特征进行抽象描述;通过模式演算,无论多么大型系统的规格说明都可以通过一个个小的部分来构成;
Z模式说明可以组合成新的Z模式,新的Z模式继承其成分模式的一切属性和约束。软件系统的Z模式规格说明可以按一定的层次结构给出。Z规格说明由一系列模式组成,每个模式定义一个抽象对象或操作,并用谓词判定描述给出新的对象或操作的语义约束。模式例:6.形式化程序规范描述语言简介-Z语言简介33.1程序规范与程序(续)
3.1程序规范与程序(续)模式例1:[Student]//引入基本类型studentStudentSys//模式名Enrolled,tested:PStudent//声明部分,学生的密集类型#enrolled≤size//断言部分,合取关系tested?enrolled等价于://水平方式StudentSys=[enrolled,tested:PStudent|
#enrolled≤size?tested?enrolled]6.形式化程序规范描述语言简介-Z语言简介4
3.1程序规范与程序(续)模式例2:EnrollStudent?StudentSys//=Studentsys?StudentSys’的简写name?:Student//在输入变量后加?name??enrolled//在输出变量后加!enrolledsize
您可能关注的文档
最近下载
- 消渴病(2型糖尿病)中医临床路径方案临床疗效总结分析报告.docx VIP
- 碳排放监测员职业理论考试题及答案.doc VIP
- 肿瘤标志物ppt课件.pptx VIP
- 碳排放监测员(高级)技能鉴定考试题及答案.doc VIP
- 项目管理知识体系指南.pdf VIP
- BactAlert 3D 240 型自动血培养分析仪仪器操作规程 (一) 检测原理.pdf VIP
- 35KV电抗器试验报告.doc VIP
- DG_TJ08-2401-2022:桥梁工程超高性能混凝土应用技术标准.pdf VIP
- 2024年新苏科版八年级上册物理课件 第二章 第四节 光的反射.pptx VIP
- 道路施工技术交底大全.pdf VIP
文档评论(0)