Page 266 - 《软件学报》2021年第6期
P. 266

1840                                     Journal of Software  软件学报 Vol.32, No.6,  June 2021

         5    案例分析

         5.1   情景描述
             如图 5 是一个交通信号灯系统,指示车辆行动的信号灯有红、黄、绿这 3 种,指示行人行动的指示灯有红、
         绿这两种.当系统正常工作时:
             汽车指示灯按照红、黄、绿、黄的顺序变换,分别停留 3,1,2,1 个时间单元;
             行人指示灯根据汽车指示灯的变换而变换:当汽车指示灯由红变黄时,行人指示灯变红;当汽车指示灯由黄
         变红时,行人指示灯变绿.
             有时系统会出现故障,此时只有指示汽车暂停行驶的黄灯闪烁,其他指示灯都灭.特殊情况包括:(1)  车辆和
         行人不能同时行动,即两种指示灯不能同时为绿色;(2)  当信号灯系统出现故障时,只有黄灯闪烁,其他灯不亮.











                                           Fig.5  Traffic environment
                                           图 5   交通灯系统实体图

         5.2   Ptolemy DE模型
             如图 6,Ptolemy DE 模型中定义了 5 个参数:Pred,Pgrn,Cred,Cyel 和 Cgrn,分别表示不同的交通灯:当值为 1
         时,表示其对应的交通灯亮;值为 0 时,表示其对应的交通灯灭.如图中参数 Pred 和 Cyel 值为 1,则行人红灯和车
         辆黄灯亮.DiscreteClock 是一个事件源组件,以 1 为周期产生输出信号,Decision 是一个异常生成器,TrafficLight
         是交通灯控制器,SetVariable 组件用于更新参数值.
             组件 Decision 是一个有限状态机,功能是模拟系统中产生异常,其中包含 Normal,Abnormal 两个状态和一个
         number 参数.Decision 在状态 Normal 上停留 15 个时间单元,每个时间单元,Ok 接口都会产生输出表示系统正常;
         之后,Error 接口产生输出表示系统出现异常,Decision 更新到 Abnormal 状态.在状态 Abnormal 上停留 5 个时间
         单元,每个时间单元,Error 接口都会产生输出表示系统出现异常;之后,Ok 接口产生输出表示系统恢复正常,
         Decision 更新到 Normal 状态.Decision 负责维持系统 15 个时间单元正常、5 个时间单元异常,依次交替更新.
             组件 TrafficLight 交通灯控制器是一个模态模型,有两个状态 normal 和 error,状态 normal 和 error 各有一个
         细化模型.TrafficLight 处于状态 normal 时表示系统正常,可以正常控制交通灯;处于状态 error 时表示系统出现
         异常,控制交通灯显示异常情况,只有黄灯闪烁,其他灯都不亮.TrafficLight 处于 normal 状态,当输入接口 Error
         有输入信号时,表示系统出现异常,TrafficLight 更新到 error 状态,同时初始化 error 状态中的细化模型;
         TrafficLight 处于 error 状态,当输入接口 Ok 有输入信号时,表示系统恢复正常,TrafficLight 更新到 normal 状态,
         同时初始化 normal 状态中的细化模型.
   261   262   263   264   265   266   267   268   269   270   271