Java in Simulation Time: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
|||
Line 1: | Line 1: | ||
== Misc == |
|||
=== Pitfalls === |
=== Pitfalls === |
||
Line 40: | Line 42: | ||
break; |
break; |
||
== Multi-Channel Support for JiST == |
|||
⚫ | |||
⚫ | |||
* [http://jist.ece.cornell.edu JiST] Website |
* [http://jist.ece.cornell.edu JiST] Website |
||
* [http://jist.ece.cornell.edu/docs/040325-yorku.pdf Presentation "Virtual Machine-based Simulation"] |
* [http://jist.ece.cornell.edu/docs/040325-yorku.pdf Presentation "Virtual Machine-based Simulation"] |
Revision as of 15:59, 29 January 2006
Misc
Pitfalls
- Use Java 1.4 compatibility, BCel cannot handle Java 5.0
- If more than one node use the same NetAddress, the simulation aborts prematurely without any error message.
Interesting Things
computeAvgConnectivity
Collisions
- RadioNoiseIndep and RadioSimpleStochastic both do not implement packet collisions on radio level:
RadioNoiseIndep.receive(): case Constants.RADIO_MODE_RECEIVING: if(Main.ASSERT) Util.assertion(signals>0); if(power_mW >= radioInfo.shared.threshold_mW && power_mW > signalPower_mW*thresholdSNR) { lockSignal(msg, power_mW, duration); } break;
- RadioNoiseAdditive implements additive superposition of radio signals and packet collisions. A signal is received only if it is stronger than thresholdSNR multiplied with the sum of the power of all other signals. Otherwise all signals are scrambled.
RadioNoiseAdditive.receive(): case Constants.RADIO_MODE_RECEIVING: if(power_mW > signalPower_mW && power_mW >= totalPower_mW*thresholdSNR) { lockSignal(msg, power_mW, duration); setMode(Constants.RADIO_MODE_RECEIVING); } else if(type == SNR && signalPower_mW < (totalPower_mW-signalPower_mW+power_mW)*thresholdSNR) { unlockSignal(); setMode(Constants.RADIO_MODE_SENSING); } break;