从代理的状态图访问主



我可以知道main是否可以访问模型中的所有元素吗?

我之所以这么问,是因为我创建了一个简单的M/M/n模型,其中一种资源类型是通过ResourcePool创建的。资源类型的行为是使用状态图实现的。我在状态图中的转换操作中编写了一个简单的代码,即

if (agent_variable < main.my_parameter) { /* do something */ }

该代码不编译并给出错误消息";main不能被解析为变量";。我不明白为什么状态图不能识别main。

感谢

欢迎来到SOF,Stephan。

首先,始终使用代码完成(Ctrl+space(。然后,您将看到从您所在的位置可以访问哪些内容,哪些内容不可以访问。在您的情况下,main甚至不会是一个选项:-(

现在,您的模型根(通常是main(总是可以通过getModelRootAgent()访问,但您需要将其强制转换为Main类,即((Main)getModelRootAgent())

否则,以某种方式嵌入Main的所有代理都可以访问Main。这是OOP的经典原则。您的资源代理实际上不是嵌入的群体,因此无法直接访问Main。(不过,您可以在ResourcePool属性中实现这一点(

最新更新