在我的项目中,我在名为'vehicle'的代理群体中使用状态图。有5辆车。所有车辆都有相同的速度。还有一个名为“发件人”的代理。现在我的项目中发生的事情是,发送者向不同的车辆发送不同的消息。即消息是m1,m2,m3,m4,m5,它们被发送到具有id v1,v2,v3,v4,v5的车辆。每次在发件人中触发循环事件时,都会从发件人发送邮件。
让我们举个例子,当事件在发送者中触发时,它会向m1发送消息m1。状态图接收消息m1并使用它直到状态图的结束点。类似地,在一定间隔之后,消息m2被发送到v2,依此类推。收到的每条消息都分配给车辆代理中名为“messageVal”的变量。 Click here to view statechart。 目前工作正常。
这是我为车辆分配不同速度时出现的问题。
车辆v1的状态图仍在中间处理,而发件人中的事件再次触发并向车辆v2发送另一条消息m2。这样,车辆v1的'messageVal'变量的变量值(应该是m1)现在变为m2。等等。因此,我最终收到的每辆车的结果都不正确。
以下是结果示例:
vehicle = v1,message = m2
vehicle = v2,message = m2
我对事件背后的逻辑没有任何问题。我需要知道的是,有没有人知道任何允许多辆车速度不同的方法,同时使用状态图而不会改变'messageVal'变量的值直到状态图的终点?
如果在理解我的问题时有任何困惑,我可以进一步阐述它。三江源。