对于CMIS定义的状态机,管理逻辑,常码代码的大佬理解起来应该很容易,你们可以绕道。此文是以硬件测试的角度去尝试理解相关定义和逻辑。语文没学好,瞬态和稳态两个词就是两堵墙,我得琢磨很久......此文是纯针对CMIS原文阅读的理解,可能有误导,需阅读人自己斟酌采纳。
理解状态机前必须先搞清楚几个重要定义:
转换信号(Transition Signals):名称以S结尾,用于描述控制状态转换的逻辑条件。
复合转换信号(Compound logical Terms):名称以T结尾。
稳态:在稳定状态下,模块基本上是在等待主机发起动作。
瞬态:在瞬态状态下,模块执行专用活动并在完成后自动执行状态转换(除非事件在完成前引起其他状态转换)。
从模块的角度来看,稳定状态的持续时间是无界的,因为退出条件取决于不受模块控制的事件。瞬态状态的持续时间是有界的,因为它们与模块控制的活动相关联。持续时间的界限可能依赖于实现方式。
CMIS5.0对每个状态机的解释都按照以下四个词进行划分:
On Entry:进入状态的入口,介绍是怎么进入到对应状态的
Autonomous Behavior:自主行为,模块进入该状态后自主完成的,不受主机影响
Reactive Behavior:反应性行为,模块进入该状态后根据主机具体操作的行为反应
Exit:介绍退出状态的规则