Omnet++ 将所有复合模块门连接至Omnet+中的子模块+;
我对Omnet++比较陌生。目前,我正在尝试将泛洪(简单)模块封装在复合模块中。这就是我想到的: Node.ned:Omnet++ 将所有复合模块门连接至Omnet+中的子模块+;,omnet++,Omnet++,我对Omnet++比较陌生。目前,我正在尝试将泛洪(简单)模块封装在复合模块中。这就是我想到的: Node.ned: module Node { gates: inout g[]; submodules: floodingModule: FloodingModule; connections allowunconnected: g++ <--> floodingModule.g++; } 网络公司 networ
module Node
{
gates:
inout g[];
submodules:
floodingModule: FloodingModule;
connections allowunconnected:
g++ <--> floodingModule.g++;
}
网络公司
network FloodingNetworkSmall {
submodules:
node0 : Node;
node1 : Node;
node2 : Node;
node3 : Node;
node4 : Node;
node5 : Node;
node6 : Node;
node7 : Node;
node8 : Node;
node9 : Node;
connections:
node0.g++ <--> Link <--> node1.g++;
node0.g++ <--> Link <--> node3.g++;
node0.g++ <--> Link <--> node5.g++;
node1.g++ <--> Link <--> node2.g++;
node1.g++ <--> Link <--> node4.g++;
node1.g++ <--> Link <--> node6.g++;
node1.g++ <--> Link <--> node7.g++;
node1.g++ <--> Link <--> node9.g++;
node2.g++ <--> Link <--> node5.g++;
node2.g++ <--> Link <--> node8.g++;
node3.g++ <--> Link <--> node4.g++;
node3.g++ <--> Link <--> node6.g++;
node4.g++ <--> Link <--> node6.g++;
node4.g++ <--> Link <--> node8.g++;
node6.g++ <--> Link <--> node7.g++;
node7.g++ <--> Link <--> node8.g++;
}
我面临的问题是,洪水只发生在创建的第一个链接上。这意味着,将复合模块门映射到子模块门时一定会出现问题,还是没有?我是不是做错了什么显而易见的事情?你需要更多的代码吗
谢谢你的建议 我甚至无法在未修改代码的情况下启动模拟,因为存在未连接的门。(文件名和模块名之间存在一些令人恼火的不一致,比如
Node
和module
,但这并不重要。)
要解决此问题,您需要将节点
模块的连接
段更改为类似于OMNeT++附带的路由
示例模拟的节点
模块中的内容:
module Node
{
gates:
inout g[];
submodules:
floodingModule: FloodingNode;
connections:
for i=0..sizeof(g)-1 { // <= this is the important part
g++ <--> floodingModule.g++;
}
}
模块节点
{
盖茨:
inout g[];
子模块:
泛洪模块:泛洪节点;
连接:
对于i=0..sizeof(g)-1{//,我甚至无法在未修改代码的情况下启动模拟,因为存在未连接的门(并且文件名和模块名之间存在一些稍微令人恼火的不一致,比如节点
和模块
,但这与问题无关。)
要解决此问题,您需要将节点
模块的连接
段更改为类似于OMNeT++附带的路由
示例模拟的节点
模块中的内容:
module Node
{
gates:
inout g[];
submodules:
floodingModule: FloodingNode;
connections:
for i=0..sizeof(g)-1 { // <= this is the important part
g++ <--> floodingModule.g++;
}
}
模块节点
{
盖茨:
inout g[];
子模块:
泛洪模块:泛洪节点;
连接:
对于i=0..sizeof(g)-1{//非常感谢你的回答!它现在起作用了。我知道,命名方案目前不是很好。谢谢你的提示和改进意见。我会考虑它们。非常感谢你的回答!它现在起作用了。我知道,命名方案现在不太好。谢谢你的提示和改进意见。我会考虑它们o账户。
module Node
{
gates:
inout g[];
submodules:
floodingModule: FloodingNode;
connections:
for i=0..sizeof(g)-1 { // <= this is the important part
g++ <--> floodingModule.g++;
}
}