05.01.2013 Views

Emulation Experimentation Using the Extendable Mobile Ad-hoc ...

Emulation Experimentation Using the Extendable Mobile Ad-hoc ...

Emulation Experimentation Using the Extendable Mobile Ad-hoc ...

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!