7

是否可以在 Modelica 中模拟多智能体系统?我说的是用 Java 编写的诸如 MASON 之类的系统。这将是多么容易或困难?据我了解,Modelica 不是一种典型的编程语言,所以它会特别有帮助吗?还是 Modelica 语言的基本设计会造成任何障碍?更重要的是,我们将如何对基于代理的建模中常见的“消息传递”系统进行建模?

4

1 回答 1

8

Modelica 可以模拟离散事件系统。存在一些库:ModelicaDEVS、ARENALib 等。

也许这个“消息传递”的语法还不完美,但也许语言会朝着这个方向进一步改进。

一个优势可能是可以创建具有实时能力的代码,因此即使具有硬实时性,代理也可以在嵌入式系统中运行——只有一些其他工具支持这一点,例如 Ptolemy II。

PS(添加见第一条评论):

从一开始,Modelica 就旨在创建能够实时运行的代码。因此,您可以将代理的未更改 modelica 模型连接到传感器和执行器,并将其下载到实时硬件(例如 PowerPC)上。然后,您的代理群将完全满足您建模并真实存在的时间行为。您也可以在硬件中只有一个真正的代理(也许这个硬件很昂贵),并使用您未更改的模型在实时模拟器硬件上实时模拟与所有其他代理的交互。

这是 Modelica 的语义不像 Java 那样动态的主要原因之一。如果你想在真实硬件上运行你的 MASON 代理,你就有麻烦了:你必须转向安全关键 Java,这意味着你的代码的很多结构,以及标准 Java 库的结构都必须重写或不允许一点也不。没有这个,你将不得不忍受你的代理人会错过他​​的任务并烧毁房子的可能性......

于 2015-10-12T20:13:44.313 回答