我试图定义两个独立但相关的过程,犯罪事业和犯罪执法(监禁)。这是一个图表:
commitCrime
),变量committedCrime
设置为true
。 commitCrime
过渡具有后卫this.ImprisonmentStateChart.isStateActive(Free)
,因此如果他被监禁,代理人不能犯罪。 this.committedCrime == true
。一旦入狱,代理人将最终获释。 我的问题是,在返回Free状态后,commitCrime
转换未重新启动。我的想法是在触发commitCrime
后重新启动releaseFromPrison
转换,但我还没有找到如何使用Anylogic 7进行转换。
有什么想法吗?
答案 0 :(得分:1)
我认为最简单的方法是删除guard并将操作包装在if语句中:
if ( ImprisonmentStateChart.isStateActive(Free) )
committedCrime == true;