Я разрабатываю сетевую модель в OMNeT ++, в которой я ввел настраиваемый тип канала для представления ссылок в моей сети. Для одного свойства экземпляров этого типа канала я хотел бы назначить случайный параметр. Однако случайное число должно быть одинаковым для соединенных ворот.
В моем определении узла есть следующее определение ворот:
simple GridAgent
{
/* ... other paramters/definitions omitted ... */
gates:
inout agentConnections[];
}
В моей сетевой конфигурации я подключаю узлы, используя простой синтаксис <-->
, например:
someSwitchyard.agentConnections++ <--> AgentConnectionChannel <--> someWindfarm.agentConnections++;
Теперь у этого AgentConnectionChannel есть свойство, называемое импеданс, которое я хотел бы назначить случайным образом. Это свойство импеданса должно быть одинаковым для A -> B и B -> A. Я попытался добавить { impedance = default(unitform(1, 10)) }
в определение сети, а также поместить **.agentConnections$o[*].channel.impedance = uniform(1, 10)
в omnetpp.ini
. Однако в обоих случаях A -> B имеет другое значение, чем B -> A.
Как указано в списке рассылки OMNet ++, это происходит из-за того, что синтаксис <-->
на самом деле это сокращение для создания двух различных соединений, поэтому происходят два рисунка из распределения случайных чисел.
Как я могу назначить случайный параметр для свойства соединения и иметь одинаковое значение для обоих направлений двух соединенных ворот? Есть ли способ сделать это в файле omnetpp.ini
, или мне нужно создать сценарий, например, на Perl, Ruby или Python для генерации omnetpp.ini
для моих запусков?