形式化语言课件_第1页
形式化语言课件_第2页
形式化语言课件_第3页
形式化语言课件_第4页
形式化语言课件_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、形式化语言第4章 形式化说明技术形式化语言形式化方法 所谓形式化方法:是描述系统性质的,是基于数学的技术,也就是说,如果一种方法有坚实的数学基础,那么它就是形式化的。形式化语言4.1概述 4.1.1非形式化方法的缺点 用自然语言书写的系统规格说明书,可能存在矛盾、二义性、含糊性、不完整性及抽象层次混乱等问题。 4.1.2形式化方法的优点 简洁准确描述物理现象、对象或动作的结果 适合于表示状态,表示“做什么” 数学规格说明 可以用数学方法验证形式化语言4.1.3应用形式化方法的准则1 应该选用适当的表示方法(每种形式化语言都有各自的特点)2 应该形式化,但不要过分形式化3 应该估算成本4 应该有

2、形式化方法顾问随时提供咨询5 不应该放弃传统的开发方法6 应该建立详尽的文档7 不应该放弃质量标准8 不应该盲目依赖形式化方法9 应该测试、测试再测试10 应该重用形式化语言4.2有穷状态机 4.2.1概念 一个有穷状态机包括5部分: J是一个有穷的非空状态集; K是一个有穷的非空输入集 T是一个从(J-F)K到J的转换函数 SJ,是一个初始状态 FJ,是终态集形式化语言图4.1保险箱的状态转换图形式化语言形式化语言保险箱的有穷状态机 状态集J:保险箱锁定,A,B,保险箱解锁,报警 输入集K:1L,1R,2L,2R,3L,3R 转换函数T:如表4.1 初始态S:保险箱锁定 终态集F:保险箱解锁

3、,报警形式化语言4.2.2例子 在一幢M层楼的大厦里,用电梯内的和每个楼层的按钮来控制N部电梯的运动。当按下电梯按钮请求电梯在指定楼层停下时,按钮指示灯亮;当电梯到达指定楼层时,指示灯灭。除了大厦的最底层和最高层外,每层楼都有两个按钮分别指示电梯上行和下行。当这两个按钮之一被按下时相应的指示灯亮,当电梯到达此楼层时灯熄灭,电梯向要求的方向移动。当电梯无升降动作时,关门并停在当前楼层。形式化语言电梯按钮的状态转换图 EB(e,f):表示按下电梯e内的按钮,并请求到f层去。有两个状态:-EBON(e,f):电梯按钮(e,f)打开-EBOFF(e,f):电梯按钮(e,f)关闭两个事件:-EBP(e,

4、f):电梯按钮(e,f)被按下- EAF(e,f):电梯e到达f层形式化语言形式化转换规则 V(e,f):电梯e停在f层EBOFF(e,f)+EBP(e,f)+not V(e,f) EBON(e,f)EBON(e,f)+EAF(e,f) EBOFF(e,f)形式化语言楼层按钮的状态转换图 FB(d,f):表示f层请求电梯向d方向运动的按钮。有两个状态:-FBON(d,f):楼层按钮(d,f)打开-FBOFF(d,f):楼层按钮(d,f)关闭两个事件:- FBP(d,f):楼层按钮(d,f)被按下- EAF(1n,f):电梯1或或n到达f层形式化语言形式化转换规则 S(d,e,f):电梯e停在f

5、层并且移动方向由d确定为向上(d=U)或向下(d=D)或待定(d=N)。 FBOFF(d,f)+ FBP(d,f)+not S(d,1n,f) FBON(d,f) FBON(d,f)+ EAF(1n,f)+ S(d,1n,f) FBOFF(d,f) 其中d=UorD形式化语言电梯的状态转换 电梯的3个状态: M(d,e,f):电梯e沿着d方向移动,即将到达的是第f层 S(d,e,f):电梯e停在f层,将朝d方向移动(尚未关门) W(e,f):电梯e在f层等待(已关门) 电梯的3个事件: DC(e,f):电梯e在楼层f关上门 ST (e,f):电梯e靠近f层时触发传感器,电梯控制器决定在当前楼层

6、电梯是否停下 RL:电梯按钮或楼层按钮被按下进入打开状态形式化语言图4.4电梯的状态转换图形式化语言形式化转换规则 S(U,e,f)+DC(e,f) M(U,e,f+1) S(D,e,f)+DC(e,f) M(D,e,f-1) S(N,e,f)+DC(e,f) W(e,f)形式化语言4.3 Petri网 4.3.1概念(描述并发活动、处理定时需求) 四元组C=(P,T,I,O) P=P1,Pn是一个有穷位置集,n0 T =t1,tm 是一个有穷转换集,m0 I:TP为输入函数,是由转换到位置无序单位组的映射 O:TP 为输出函数,是由转换到位置无序单位组的映射 一个无序单位组或多重组是允许一个

7、元素有多个实例的广义集形式化语言图4.5 Petri网的组成图4.6带标记的Petri网形式化语言图4.7图4.6的Petri网在转换t1被激发后的情况图4.8图4.7的Petri网在转换t2被激发后的情况形式化语言图4.10 Petri网表示的电梯按钮形式化语言4.3.2例子1. 电梯按钮图4.10 Petri网表示的电梯按钮形式化语言图4.11Petri网表示楼层按钮2. 楼层按钮形式化语言4.4 Z语言 4.4.1简介 1. 给定的集合 2. 状态定义图4.12Z格S的格式形式化语言图4.13Z格Button_State形式化语言3. 初始状态4. 操作图4.14操作Push_Butto

8、n的Z规格说明形式化语言图4.15操作Floor_Arrival的Z规格说明形式化语言将事物的状态和行为用数学符号形式化表达的语言,为编写计算机程序和验证计算机程序的正确性提供依据,是软件工程中编码之前的规格说明语言。 Z语言是一种以一阶谓词演算为主要理论基础的规约语言,是一种功能性语言。形式化描述语言Z指的是著名数学家Zermelo,它是目前使用最广泛的一种形式化描述语言,在软件产业的一些大型项目中已经获得成功的应用,Z以带等词的一阶谓词逻辑ZF(Zermelo-Fraenkel,蔡梅罗-弗兰科尔)公理集合论为主要数学基础。在Z中有两种语言:数学语言和模式(Schema)语言。数学语言用来描述系统的各种特征:对象及其之间的关系。模式语言是一种半图形化的语言,它用来构造、组织形式化说明的描述、整理、封装信息块并对其命名以便可以重用这些信息块。通常,形式化说明的可读性都不太好,但由于Z采用半图形化的模式语言,能用一种比较直观、有条理的方式来表达形式化说明,这就改善了可读性。Z语言是由牛津大学程序设计研究小组开发的一种形式语言,之后该小组与IBM的Hursley实验室合作,将Z

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论