如何在Unetstack中实现水下网络的能量模型?

时间:2019-06-07 04:04:25

标签: java groovy unetstack

我想在unetstack中实现能源模型,我知道这是理论,但是由于我仍在学习中,所以不知道如何在unetstack中实现它。请提供其中涉及的步骤。基本代码框架也将有所帮助。

预期输出: 我希望每个节点在发送/接收数据包后的输出都能打印出剩余的能量。

1 个答案:

答案 0 :(得分:0)

最自然的跟踪能量的位置将是物理(#include <cppunit/exetnsions/HelperMacros.h,v> )代理。假设您在UnetSim中使用phy HalfDuplexModem,则将其子类化,并通过覆盖phy方法来监视TxFrameNtfRxFrameNtf。然后,我将添加相关的send()属性以跟踪能源使用情况。

示例Groovy代码:

energy

最后,在模拟DSL中,您可以用自定义版本替换默认的import org.arl.fjage.Message import org.arl.unet.sim.HalfDuplexModem class MyHalfDuplexModem extends HalfDuplexModem { float energy = 1000 // change to whatever initial energy your node has @Override boolean send(Message m) { if (m instanceof TxFrameNtf) energy -= 10 // change according to your model if (m instanceof RxFrameNtf) energy -= 1 // change according to your model return super.send(m) } }

HalfDuplexModem