tir*_*dev 5 simulation agent-based-modeling modelica mason-abm
是否可以在Modelica中模拟多代理系统?我说的是用Java编写的MASON系统.这将是多么容易或困难?据我所知,Modelica不是一种典型的编程语言,所以它会特别有用还是modelica语言的基本设计会造成任何阻碍?更重要的是,我们如何模拟基于代理的建模中常见的"消息"系统?
Modelica可以模拟离散事件系统.存在一些库:ModelicaDEVS,ARENALib等.
对于这种"消息传递"而言,语法可能并不完美,但也许语言将在这个方向上得到进一步改善.
一个优点可能是可以创建具有实时功能的代码,因此代理可以在嵌入式系统中运行,即使是硬实时 - 只有一些其他工具支持像Ptolemy II.
PS(添加见第一评论):
从一开始,Modelica就设计用于创建能够实时运行的代码.因此,您可以将代理连接IO的未更改模式连接到传感器和执行器,并将其下载到实时硬件(例如PowerPC)上.然后,您的大量代理将完全填满您建模并存在于实际中的时间行为.此外,您可以在硬件中只有一个真正的代理(可能这个硬件很昂贵),并使用您未更改的模型在实时模拟器硬件上实时模拟与所有其他代理的交互.
这是Modelica的语义不像Java那样动态的主要原因之一.如果你想在真正的硬件上运行你的MASON代理你就遇到了麻烦:你必须转向例如Safety Critical Java,这意味着你的代码的许多构造,以及标准Java库的构造必须被重写或不被允许一点都不 如果没有这个,你将不得不忍受你的经纪人错过他的使命并烧毁房子的可能性......