模拟执行的检测方法是检测需求规格说明书的一种重要手段。在目标和场景相结合的需求建模方法的基础上,提出了对操作目标集合的模拟执行方法。该方法为代理的层次划分提供了理论支持,并将操作目标集合转换成了基于规则的层次式有穷状态自动机,通过对基于规则的层次式有穷状态自动机的模拟执行,达到了对操作目标集合的模拟执行。李勇华,毋国庆:模拟执行操作目标的方法研究2007,43(15)(2)只有当Ag2处于某个固定的非终态状态的时候,Ag1才也就是将Ag1所描述的有穷状态自动机划归为Ag2所描述的能够发生状态变迁;有穷终态自动机中状态S2的子状态机。(3)当A82处于另外一个固定状态的时候,Ag必须处于终(6)按‖关系,将所有剩余的最上层状态机合并为 HRAFSM,其中 HRAFSM的规则集是所有代理状态机规则集的合集。如果A130=-推论1“<”关系具有传递性。◇ Probe. Heatalarn=’On′证明假设多状态代理Ag1、Ag2和Ag3之间满足Ag1P2 Cond1∧。Q2DoProbe Heat Alarm=*OnOP的规则,其中OP代表操作将要执行的动作。Air Condition. State=‘Wait’AirCondition. State= Cold(3)将相同代理的操作目标所对应的状态变迁收集起来,- probe Heat Alarm=" Off构成基于每个代理的基于规则的有穷状态自动机,代理最初执行操作所对应状态变迁的前置状态,作为代理所对应的有穷自Temperature>30(Probe. HeatAlarm=OffProbe. heatalarm=‘O动机的初态。Temperature< 25(4)将各个操作的规则集进行集中,形成代理状态机的规图1空调系统的状态图则集。对于空调系统的规则集,可以表示如下(5)分析所有代理,若代理A ManagerllProbe这是一条默认状态转换这个固定的非终态为S2,那么定义Ag1中所有的状态均≤S2Manager代理的规则集为:182007,43(15)Computer Engineering and Applications计算机工程与应用Manager,=> Manager:of这是一条默认状态转換实时条件输入Manager. off, Power(On )=>Manager. on Do ComOrder: Send Control组件模拟执行Start Conditioner程序各种系统功能ageron, Power( Off)=>Manager. off Do ComOrder: Send Cor(Stop Conditioner)HRAFSMManager代理On的规则集为规则集中的规则On=>AirCondition图2模拟执行的控制过程AirCondition代理的规则集为:AirCondition,→> AirCondition.sate'Wait'这是条默认状6总结态转换模拟执行的检测方法是检测需求规格说明书的一种重要AirCondition. State='wait',P'robe. Heat alart="on’=> AirConditioner.的手段。在需求工程领域中为需求分析模型建立合理的模拟执State='Cold' Cond room.Door=' Close′ Do ComOrder: Send control行方法一直都是需求分析领域的一个研究重点。本文在目标和(cold场景相结合的需求建模方法的基础上,提出了对操作目标集合AirCondition State=Cold, Probe. heatalarn=Of=> AirConditioner.的模拟执行方法,为操作目标的代理进行了层次划分,并将操State=Wait' Do ComOrder: Send Control(Wait)作目标集合转换成了基于规则的层次式有穷状态自动机,通过Probe代理的规则集为:对基于规则的层次式有穷状态自动机的模拟执行,来达到对操Probe,=> Probe. Heat alarm=Om’这是一条默认状态转换作目标集合的模拟执行。Probe Heat Alarm="Off, Temperature >30=>Probe. Heat Alarm=On对操作目标集合的模拟执行的检测方法以操作目标的形Do ComOrder: Send Control(Probe Alarm式化描述为基础,具有如下几个特点:Probe Heat Alarm=On, Temperature <25=>Probe Heat Alarm=Off(1)在该方法中,由于各种检测的任务和侧重点不同,故使Do ComOrder: Send Control(Probe. Stop Alarm得该方法具有较好的灵活性和全面性,从而使该方法具有较好的实用性。5 HRAFSM的模拟执行(2)静态的形式化检测方法提供的检测信息比较全面和丰HRAFSM模拟执行是一种动态的检查方法,它根据用户富,且易于理解和分析,能为分析员提供较大的方便。输人的模拟信息(可以一次输入单个模拟事件,也可以一次输(3)基于需求规格说明的原型化方法把软件的需求规格说入模拟事件序列),执行层次状态机的规则行为,用状态图显示明作为原型,可视化地模拟执行实时系统需求规格说明,展现输出系统所处的当前状态、正在发生的状态转换等信息,用一系统重要方面,并在有错误的情况下直接修改系统的需求规格个信息输岀窗口显示输岀执行的状态转换,以及在这个状态转说明。(收稿日期:2007年1月)换的执行过程中存在的一些错误、转换过程中触发的事件、向控制部件发送的控制命令等信息;对未能执行的状态转换给出参考文献:原因,如不存在默认状态、状态转换的源状态和目状态是相互[1 Lamsweerde aⅤ.Coel- oriented requirements engineerin: a guided并发的等等情况;对于存在的多个满足条件的但并未执行的状tour C/Proceedings of the Fifth IEEE International Symposium on态转换,分别进行说明以帮助用户判断是否存在非确定性状态Rcquircmcnts Enginccring Los Alamitos: IEEE Computcr Socicty转换。整个模拟执行的过程是基于 HRAFSM规则集进行的。Press,2001:249-262模拟执行控制程序的工作过程如下:首先判断是否存在事2 I Dardenne A, Lamsweerde A V, Fickas s.Coal- directed requirements件需要响应。若无,等待新的激励事件,否则执行可以触发的状acquisition[J).Science of Computer Programming, 1993, 20(112): 3-50态转换且产生新的状态,在此期间执行它们的活动,若该活动[3] Lamsweerde A V, Willemet LInferring declarative requirements spe修改了模板变元的当前值,更新显示模板变元当前值(在模拟cifications from operational scenarios[J]IEEE Transactions on Soft-ware Engineering. Special Issue on Scenario Management, 1998. 24执行子系统中);若该活动触发了新的事件,还要把它广播出(12):1089-1114去;若该活动发送了控制命令,将它输出显示(在路径检査或模[4]胡春丽,毋国庆,何峰,等.从状态图到规则的转换[小型微型计算拟执行子系统中)或发送到动画演示程序(在动画显示子系统机系统,2001,22(6):706-710.中)。上面的过程反复进行直到所有的事件被处理完或者被用5]李勇华,毋国庆,舒风笛,等组件思想在模拟执行的需求检查方法户中断。其工作流程如图2所示中的运用J计算机工程与应用,2003,39(3):61-63