对于具有可复用状态图实现的“或”状态的局部终止,代码生成方式如下所示:
&& IS_COMPLETED(state)
FinalA = new FinalState(this, OrState, rootState,
"ROOT.OrState.FinalA");
对于具有可复用状态图实现的“与”状态的局部终止,代码生成方式如下所示:
&& IS_COMPLETED(AndState)
&& IS_COMPLETED(state)
(IS_IN(state))
以下示例说明为具有真实警戒和局部终止警戒的接合过渡生成的代码,其中,C1 和 C2 是具有最终活动的“或”状态,而 C3 是叶状态:
if(RealGuard() && IS_COMPLETED(C1) && IS_COMPLETED(C2) && IS_IN(C3))