- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
软件工程导论 第四章 形式化说明技术(Formal Description Technique,FDT) 4.1 概 述 按照形式化的程度,可以把软件工程使用的方法划分成非形式化、半形式化和形式化三类 非形式化方法 (Informal) 用自然语言描述需求规格说明 半形式化方法 (Semi-formal) 用数据流图或实体-联系图建立模型 形式化方法 (Formal) 是描述系统性质的基于数学的技术 即如果一种方法有坚实的数学基础,那么它就是形式化的 当前状态〔菜单〕+事件〔所选择的项〕 =下个状态 为了对一个系统进行规格说明,通常都需要对有穷状态机做一个很有用的扩展,即在前述的5元组中加入第6个组件——谓词集P,即把有穷状态机扩展为一个6元组,其中每个谓词都是系统全局状态Y的函数。转换函数T现在是一个从(J-F)×K×P到J的函数。现在的转换规则形式如下: 当前状态〔菜单〕+事件〔所选择的项〕+谓词 = 下个状态。 令EB(e,f)表示按下电梯e内的按钮并请求到f层去。EB(e,f)有两个状态,分别是按钮发光(打开)和不发光(关闭)。更精确地说,状态是, EBON(e,f):电梯按钮(e,f)打开 EBOFF(e,f):电梯按钮(e,f)关闭 如果电梯按钮(e,f)发光且电梯到达f层,该按钮将熄灭。相反如果按钮熄灭,则按下它时,按钮将发光。上述描述中包含了两个事件,它们分别是: EBP(e,f):电梯按钮(e,f)被按下 EAF(e,f):电梯e到达f层 为了定义与这些事件和状态相联系的状态转换规则,需要一个谓词V,(e,f),它的含义如下: V(e,f):电梯e停在f层 如果电梯按钮(e,f)处于关闭状态〔当前状态〕,而且电梯按钮(e,f)被按下〔事件〕,而且电梯e不在f层〔谓词〕,则该电梯按钮打开发光〔下个状态〕。状态转换规则的形式化描述如下: EBOFF(e,f)+EBP(e,f)+not V(e,f) = EBON(e,f) 反之,如果电梯到达f层,而且电梯按钮是打开的,于是它就会熄灭。这条转换规则可以形式化地表示为: EBON(e,f)+EAF(e,f) = EBOFF(e,f) 4.2 有穷状态机(FSM/FSA) 楼层按钮 FB(d,f):f层请求电梯向d方向运动的按钮 状态: FBON(d,f):楼层按钮(d,f)打开 FBOFF(d,f) :楼层按钮(d,f)关闭 事件 FBP (d,f):楼层按钮(d,f)被按下 EAF(1…n,f):电梯1或…或n到达f层 谓词 S(d,e,f):电梯e停在f层并且移动方向由d确定 接下来让我们考虑楼层按钮。令FB(d,f)表示f层的按钮请求电梯向d方向运动,楼层按钮FB(d,f)的状态转换图如图4.3所示。 楼层按钮的状态如下。 FBON(d,f):楼层按钮(d,f)打开; FBOFF(d,f):楼层按钮(d,f)关闭。 如果楼层按钮已经打开,而且一部电梯到达f层,则按钮关闭。反之,如果楼层按钮原来是关闭的,被按下后该按钮将打开。这段叙述中包含了以下两个事件。 FBP(d,f):楼层按钮(d,f)被按下 EAF(1··n,f):电梯1或…或n到达f层 其中1··n表示或为1或为2…或为n。 为了定义与这些事件和状态相联系的状态转换规则,同样也需要一个谓词,它是S(d,e,f),它的定义如下。 S(d,e,f):电梯e停在f层并且移动方向由d确定为向上(d=U)或向下(d=D)或待定(d=N)。 这个谓词实际上是一个状态,形式化方法允许把事件和状态作为谓词对待。 使用谓词S(d,e,f),形式化转换规则为: FBOFF(d,f)+FBP(d,f)+not S(d,1··n,f) = FBON(d,f) FBON(d,f)+EAF(1··n,f)+S(d,1··n,f)=FBOFF(d,f) 其中,d=UorD。 4.2 有穷状态机(FSM/FSA) 也就是说,如果在f层请求电梯向d方向运动的楼层按钮处于关闭状态,现在该按钮被按下,并且当时没有正停在f层准备向d方向移动的电梯,则该楼层按钮打开。反之,如果楼层按钮已经打开,且至少有一部电梯到达f层,该部电梯将朝d方向运动,则按钮将关闭。 在讨论电梯按钮状态转换规则时定义的谓词V(e,f),可以用谓词S(d,e,f)重新定义如下: V (e, f)=S(U, e, f) or S(D, e, f) or S(N ,e
文档评论(0)