软件工程的形式化方法六.pptVIP

  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文档。上传文档
查看更多
软件工程的形式化方法六

2005-10-27 2005-10-27 第一节 形式化技术概述 Z 语言实例:停车场管理系统 基本数据类型定义 –“停车提示”是一个基本数据类型的名字 –“停好”和“停车场满”是该类型的数据可能的取值 停车提示= 停好| 停车场满 全局变量声明 –在Z 语言中,N 和Z 属于基本数据集合,分别表示正整数集合和整数集合。 停车场容量: Z/*变量声明*/ 停车场容量≥0/*变量约束*/ Z 语言实例:停车场管理系统 状态定义 –每个系统有唯一的状态定义,可以为状态命名。本例中为系统状态命名为“停车场状态”。状态定义中首先声明一或多个表示系统状态的变量,这里的变量名为“停车数量”,类型为整数。该变量的约束条件为取值大于等于0,小于等于最大停车数量。 –停车场状态 停车数量: Z/*状态变量声明*/ 停车数量≥0 停车数量≤停车场容量 Z 语言实例:停车场管理系统 初始化 –定义系统状态变量的初始值。系统的初始化定义是唯一的。 停车场初始化 停车数量= 0 Z 语言实例:停车场管理系统 操作定义 –每个系统可以定义若干个操作。 –Z 语言中操作的定义是基于状态的,而不是基于过程的。 该操作如何改变了系统的状态变量的值? 该操作有哪些输入变量? 有哪些输出变量? –当一个操作改变了某个系统状态变量x时,在操作定义的第一 行写出状态变化声明Δx。 –当一个操作未改变任何系统状态变量时,即可以在操作定义 第一行写出以下状态声明Ξ状态变量(可省略)。 操作定义(续) Z 语言实例:停车场管理系统 操作定义也可以采用以下形式: Z 语言实例:停车场管理系统 表示: –操作“进入停车场”分为“正常停车”和“停车场满”两种可能情况,具体执行时选择哪种情况,由环境满足哪种操作的约束条件来决定。 Z 语言总结 Z 语言系统规约定义一组状态模式以及影响这组状态的操作模式 .优点 –有良好的数学基础 –结构清晰简单 .缺点 –所有的状态变量是全局的,就一个操作模式进行推理时,要同时考虑可能受到影响的其它所有操作模式。当系统超过一定规模时,这项工作将变得异常困难。 Petri 网 1962 年,联邦德国的Carl Adam Petri在他的博士论文“KommunikationmitAutomaten”《用自动机通信》中首次使用网状结构模拟通信系统。 该系统模型后来以Petri 网为名流传。现在,Petri 网一 词既指这种模型,又指以这种模型为基础发展起来的理论,有时又把Petri 网称为网论(net theory)。 Petri 网分为两类 –位置/迁移Petri 网 –高级网:谓词/迁移Petri 网、有色Petri 网、计时Petri 网 .Petri 网结构定义 Petri 网结构 Petri 网概念 变迁是Petri 网中的主动元素 –通过点火变迁,过程从一个状态转变到另一个状态,因此变迁经常表示事件、操作、转换或传输。 库所是Petri 网中的被动元素 –不能改变网的状态,通常表示媒介、缓冲器、地理位置、(子)状态、阶段或条件。 令牌通常表示对象 –这些对象可能是具体的事物,也可能是抽象的信息。 点火 –变迁t1(记录)从输入库所p1(申报)中获取令牌,然后释放到库所p3(审核)中,我们把这一行为称为对变迁的点火(firing) 前面Petri 网示例 –每个令牌都表示一个保险索赔案例。 2006年8月7日 软件工程导论 本节从软件形式化描述的基本概念入手。在理解应用软件形式化技术的意义的基础之上,重点介绍软件的Z语言规格说明技术和Petri。 第六讲 软件工程的形式化方法 什么是形式化方法? ——从广义上讲,形式化方法是指将离散数学的方法用于解决软件工程领域的问题,主要包括建立精确的数学模型以及对模型的分析活动。 ——狭义的讲,形式化方法是运用形式化语言,进行形式化的规格描述、模型推理和验证的方法。 ——就形式化建模而言,形式化表示必须包含一组定义其语法语义的形式化规则。这些规则可用于分析给定的表达式是否符合语法规定,或证明该表达式具有某种性质。 形式化语言的基础 一阶命题逻辑: 一阶命题逻辑提供以下机制 –一组构造表达式的原子公式 变量,数值常量,括号 –一组逻辑连接符 and (∧), or (∨), not(.), implies(→), logical equality (=) 与, 或, 非, 蕴含, 逻辑等价 –量词 ? :“for all”全称量词 ? :“there exists”存在量词 形式化语言的基础 一阶命题逻辑中的表达式 表达式的取值可以

文档评论(0)

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

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

1亿VIP精品文档

相关文档