Emulation Experimentation Using the Extendable Mobile Ad-hoc ...
Emulation Experimentation Using the Extendable Mobile Ad-hoc ...
Emulation Experimentation Using the Extendable Mobile Ad-hoc ...
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
vides <strong>the</strong> interface used to publish events.<br />
No restriction is placed on how generators create<br />
events. Some generators may read precomputed<br />
state information from input files and publish<br />
events on time boundaries. O<strong>the</strong>rs may create<br />
event data algorithmically in real-time and publish<br />
<strong>the</strong> events based on update threshold logic. When<br />
new EMANE event types are introduced, no modifications<br />
are necessary to existing EMANE components,<br />
provided those components are not required<br />
to process <strong>the</strong> new events. Only <strong>the</strong> Event Generator<br />
and <strong>the</strong> destination EMANE components need<br />
to know <strong>the</strong> more specialized form of <strong>the</strong> generically<br />
transmitted event. Events are addressable using a<br />
three field tuple: NEM Platform Server identifier,<br />
NEM identifier, and component identifier.<br />
An Event Agent is an EMANE component that<br />
translates events from <strong>the</strong>ir emulation domain representation<br />
to a format usable by application domain<br />
entities. They facilitate <strong>the</strong> reuse of any experiment<br />
scenario information propagated via an<br />
event that is of interest outside of <strong>the</strong> emulation domain.<br />
For example, position information contained<br />
in <strong>the</strong> EMANE Location Event which is used by<br />
some PHY layers to compute path loss may also be<br />
of interest to application domain entities that require<br />
GPS location.<br />
2.4 NEM <strong>Ad</strong>vanced Topics<br />
A Shim Layer plugin provides a mechanism to interact<br />
with <strong>the</strong> OTA messages and cross-layer messages<br />
exchanged between contiguous layers. Shims<br />
may generate <strong>the</strong>ir own OTA messages for communication<br />
with <strong>the</strong>ir respective Shim layer contained<br />
in a different NEM, and can append and strip layer<br />
specific headers to OTA messages.<br />
It is possible to insert one or more Shims between<br />
<strong>the</strong> layers of a NEM stack or at <strong>the</strong> top and bottom<br />
of <strong>the</strong> layer stack. A Shim plugin implements <strong>the</strong><br />
same generic interface as a MAC and PHY plugin.<br />
This generic interface allows Shims to be inserted<br />
between components without requiring those components<br />
to have knowledge of <strong>the</strong>ir presence. Figure<br />
3 shows what a NEM layer stack looks like after<br />
inserting Shim layers and <strong>the</strong> resulting physical and<br />
logical connections.<br />
A NEM containing a MAC and PHY layer is formally<br />
known as a structured NEM. A NEM may<br />
also be unstructured. An unstructured NEM relaxes<br />
NEM layer stack constraints to allow for <strong>the</strong><br />
creation of NEMs that may or may not contain<br />
MAC, PHY or Shim layers. Unstructured NEMs<br />
are useful when porting legacy emulation models<br />
that do not support a separation of MAC and PHY<br />
4<br />
Figure 3: NEM Layer stack as it appears without<br />
Shims and with three Shims inserted. Two Shims<br />
reside between <strong>the</strong> MAC and PHY layers and one<br />
Shim resides between <strong>the</strong> PHY Layer and <strong>the</strong> OTA<br />
message interface.<br />
layer functionally.<br />
3 Network <strong>Emulation</strong> Modules<br />
Within <strong>the</strong> EMANE architecture, NEMs address<br />
<strong>the</strong> “hard problem” in wireless network emulation<br />
associated with representing <strong>the</strong> behavior of <strong>the</strong> underlying<br />
wireless technology at both <strong>the</strong> Media Access<br />
and Physical Layers. Physical and MAC layer<br />
phenomena such as frequency interference, multipath/fading,<br />
collisions, channel access protocols,<br />
adaptive power and data rate controls, quality of<br />
service, and o<strong>the</strong>rs vary significantly based on <strong>the</strong><br />
underlying wireless commercial or tactical technology.<br />
Depending on <strong>the</strong> research/test objective, failure<br />
to account for <strong>the</strong>se or any corresponding cross<br />
layer interactions can provide misleading and outright<br />
false results. Conversely, <strong>the</strong> ability to account<br />
for some of <strong>the</strong>se complex phenomena within<br />
a real-time emulation environment can impose requirements<br />
(hardware, timing, scale, etc.) which<br />
may not be critical to <strong>the</strong> research/test objective.<br />
As such, <strong>the</strong> modular EMANE architecture is designed<br />
specifically to support independent development<br />
of NEMs to emulate current and evolving wireless<br />
technology of varying fidelity under a single emulation<br />
framework. These independently developed<br />
modules can be contributed to <strong>the</strong> EMANE project<br />
as add-ons for use by <strong>the</strong> community at large or<br />
can be maintained as proprietary/sensitive modules