第2O卷第6期 牡丹江大学学报 Vo1.20 No.6 2011年6月 Journa 1 of Mudanj iang Univor s i ty Jun. 2O11 文章编号:1008.8717(201 1)06—0107-02 、 基于形式化技术的电梯系统规格说明 邵 丽 丽 (菏泽学院计算机与信息工程系,山东菏泽274015) 摘要:为克服非形式化技术描述系统规格说明带来的二义性,本文采用一种形式化技术——有穷状态机来描 述电梯系统的规格说明,有穷状态机技术准确、无歧义,可以正确地描述一个系统。 关键词:形式化技术;有穷状态机;电梯系统 中图分类号:TU857文献标识码:A 引言 n部电梯按照约束条件c1,c2和c3在楼层间移动。 按照形式化的程度的不同,可以把描述系统规格说 c1:每部电梯内有m个按钮,每个按钮代表一个楼 明的方法划分成非形式化、半形式化和形式化方法三类。 层。当按下一个按钮时该按钮指示灯亮,同时电梯驶向 用自然语言描述的系统规格说明,是典型的非形式化方 相应的楼层,到达按钮指定的楼层时指示灯熄灭。 法;用数据流图、实体一联系图或状态图等图形方式建 c2:除了大厦的最低层和最高层之外,每层楼都有 立模型,是典型的半形式化方法;用基于数学的方法描 两个按钮分别请求电梯上行和下行。这两个按钮之一被 述系统性质,那就是形式化的技术。 按下时相应的指示灯亮,当电梯到达此楼层时灯熄灭, 一、有穷状态机 电梯向要求的方向移动。 一个有穷状态机包括5个部分:状态集J、输入集K、 c3:当对电梯没有请求时,它关门并停在当前楼层。 转换函数T、初态s和终态集F。如果使用更形式化的 三、形式化规格说明 术语,一个有穷状态机可以表示为一个5元组(J,K, 现在使用有穷状态机技术对电梯系统进行规格说 T,S,F),其中: 明。这个问题中有两个按钮集。n部电梯中的每一部都 J是一个有穷的非空状态集; 有m个按钮,一个按钮对应一个楼层。因为这m×n个 K是一个有穷的非空输入集; 按钮都在电梯中,所以称它们为电梯按钮。此外,每层 T是一个从(J-F)×K到J的转换函数; 楼有两个按钮,一个请求向上,另一个请求向下,这些 SEJ,是一个初始状态; 按钮称为楼层按钮。 F J,是终态集。 1.电梯按钮的规格说明 为了对系统进行规格说明,通常需要使用扩展的有 电梯按钮的状态转化图如图1所示。令EB(e,t)表示 穷状态机,即在前述的5元组中加入第6个组件——谓 按下电梯e内的按钮并请求到f层去。 词集P,从而把有穷状态机扩展为1个6元组,其中每 个谓词都是系统全局状态Y的函数。转换函数T现在是 一个从(J—F)×K×P到J的函数。用有穷状态机技术 表示的状态转换规则的形式如下: 图l 电梯按钮的状态转换图 当前状态+事件+谓词= 下个状态。 图1中有两个状态,分别是: 二、电梯系统 EBON(e,f):电梯按钮e,I)打开; 下面是用自然语言描述的对电梯系统的需求:在一 EBOFF(e ̄:电梯按钮(e,D关闭。 幢m层的大厦中需要一套控制n部电梯的产品,要求这 图1中包含了两个事件,分别是: 收稿日期:2010.12.23 作者简介:邵丽丽(1979一), 女,山东曹县人,菏泽学院计算机系讲师,硕士,研究方向:软件工程与智 能管理。 107 EBP(e,f):电梯按钮(e,f)被按下; EAF(e,D:电梯e到达f层。 定义谓词V(e,f1,它的含义是电梯e停在f层。 根据图1,使用谓词v(e,f),形式化转换规则为: EBOFF(e,f)+EBP(e,f)+not v(e,0==>EBON(e,f),反之, EBON(e,0+EAF(e山==>EBOFF(e,f) 图3中包含了3个可触发状态发生改变的事件,分 别是: DC(e,I):电梯e在楼层f关上门; ST(e,f):电梯e靠近f层时触发传感器,电梯控制 器决定在当前楼层电梯是否停下; RL:电梯按钮或楼层按钮被按下进入打开状态,登 录需求。 由于电梯的状态非常复杂,包含多个子状态,例如: 关门、电梯加速、电梯减速、停止、开门、过一段时间 2.楼层按钮的规格说明 楼层按钮的状态转化图如图2所示,令FB(d,f)表示 f层请求电梯向d方向运动的按钮, 图2楼层按钮的状态转化图 图2中有两个状态,分别是: FBON(d,f):楼层按钮(d,1)打开; FBOFF(d,f):楼层按钮(d,{)关闭。 图2中包含了两个事件,分别是: FBP(d.f):楼层按钮(d,f)被按下; EAF(1…n,0:电梯1或…或n到达f层;其中1…n 表示或为1或为2…或为n。 定义谓词:s(d,e ,它的含义是电梯e停在f层并且 移动方向由d确定为向上(d=u)或向下(d=D)或待定 (d=N)。 根据图2,使用谓词S(a,e'f),形式化转换规则为: FBOFF(d,f)+FBP(d,f)+not s(d,1…n,f)==>FBON(d,f), 反之 FBON(d,f)+EAF(1…n.0+S(d,1…n,1) FBOFF(d'1), 其中,d=U orD。 3.电梯的状态及其转化规则 为了描绘电梯的状态转化图,下面定义电梯的3个 状态: M(d,e,0:电梯e正沿d方向移动,即将到达的是第 f层; s(a,e,I):电梯e停在f层,将朝d方向移动(尚未 关门); W(e,0:电梯e在f层等待(已关门)。 电梯的状态转换图如图3所示: 图3电梯的状态转化图 108 自动关门等。所以本文给出的电梯状态转换规则仅发生 在关门之时。 S(U,e.f)+DC(e,f)= M(U,e』+1) SfD,e.0+DC(e,f)==>n(D,eS-1) S(N,e,0+DC(e,f)==>W(e 第一条规则表明,如果电梯e停在f层准备向上移 动,且门已经关闭,则电梯将向上一楼层移动。第二条 和第三条规则,分别对应于电梯即将下降或者没有待处 理的请求的情况。 四、小结 有穷状态机方法采用了一种简单的格式来描述系统 的规格说明: 当前状态+事件+谓词= 下个状态。 这种方法是建立在严格的数学基础上的方法,具有 严谨的逻辑性,所以基于形式化技术的电梯系统规格说 明能够克服传统的非形式化技术描述的规格说明中的不 完整性、二义性和不一致性,并可以有效地保证下一步 电梯系统设计工作的正确性。尽管有穷状态机方法为系 统做需求分析规格说明提供了很好的技术,但它有个缺 点就是在开发一个大型系统时,三元组(即状态、事件、 谓词)的数量会迅速增长。这是我们在实践中需要注意 的地方。 参考文献: 川I张海藩.软件工程导论(第5版)【M】.北京:清华大学 出版社。2008. 【2】姚全珠,崔杜武,李海刚.管理信息系统开发中的形式化 需求分析方法研究【J】.西安理工大学学报,2002,l8(3): 23 1-234. [3】姚全珠,王江.基于UML的软件形式化需求分析与验 证[J】计算机工程,2010,36(13):30-33. 【4吕蕴华,4]张三元,叶修梓.CAD系统中嵌套有穷状态自 动机的设计与实现【J】.现代机械,2003,(3):33-34,45.