是否可以在执行期间同时显示来自不同代理的所有状态图?

Posted

技术标签:

【中文标题】是否可以在执行期间同时显示来自不同代理的所有状态图?【英文标题】:Is it possible to show all statecharts from different agent at the same time during execution? 【发布时间】:2020-06-29 12:33:16 【问题描述】:

我有几个代理。在每个代理中,我都制作了一个状态图。一些州与其他代理人的其他州重叠。通过我的模拟,我想显示代理当前处于哪种状态。 是否可以同时显示所有状态图(在执行期间)?例如,通过 viewArea?我只在状态图已经在 main 中时才在 AnylogicHelp 中找到示例,但如果它们在代理中则不会。 我对每一个答案都很满意,非常感谢。

新功能 感谢你的快速回复。 我不清楚地提出了我的问题。我从“三天内的 AnyLogic”或“仿真建模大书”中知道您建议的解决方案。我的意思是我想在 Main 中并排显示所有代理的状态图。我不能只是将这些状态图拖到 main 中,因为有些代码不再起作用了。 所以我有几个具有某些属性(参数等)的不同代理。在每个代理中,我都创建了一个状态图。我的子目标之一是通过状态图(在 Main 中)同时显示所有代理的进程。我想看看代理在模拟执行期间处于哪个状态。 在执行期间,您可以通过选择代理来显示状态图,请参见插入图。我想同时显示所有状态图,但它们保留在各自的代理中。 对不起……我的英语不是很好。 非常感谢。 :)

【问题讨论】:

我已经更清楚地表达了我的问题。我对每一个提示和每一个答案都很满意。谢谢:) 【参考方案1】:

通常,您会为每个代理的某些部分设置动画以反映其状态。例如,使用矩形。然后,在每个状态“OnEnter”代码框中,使用“rectangle.setFillColor(red)”更改其颜色。

现在,每个代理都将在 Main 上可见(如果您正确嵌入它们),并且您可以看到它们的状态。

许多示例模型也这样做,请查看:)

【讨论】:

以上是关于是否可以在执行期间同时显示来自不同代理的所有状态图?的主要内容,如果未能解决你的问题,请参考以下文章

是否可以将状态图的当前状态从一个代理复制到另一个代理?

Anylogic:避免在占用块中不必要地执行进程

wazhu之agent manage

我们如何根据状态图更改 3D 动画对象(代理表示)颜色?

是否可以同时在一个状态图中运行多个状态?

代理状态图中主要的可访问性