next up previous contents index
Next: 3 Getting the Mobility Up: A Mobility Framework for Previous: 1 Introduction   Contents   Index


2 Overview

2.1 Concept

Figure 1: Simulation Setup with 10 nodes
The two core components of the Mobility Framework (MF) are an architecture for mobility support and dynamic connection management and a model of a mobile host in OMNeT++. Figure 1 shows a network setup with 10 nodes.

The ChannelControl module controls and maintains all potential connections between the hosts. An OMNeT++ connection link in the MF does not automatically indicate that the corresponding hosts are able to exchange data and communicate with each other. The ChannelControl module only connects all hosts that possibly interfere with each other. A communication link is probably easiest defined by its complement: All hosts that are not connected definitely do not interfere with each other. Following this concept a host will receive every data packet that its transceiver is potentially able to sense. The physical layer then has to decide dependent on the received signal strength whether the data packet will be processed or whether it will be treated as noise. For further details on the connection management please refer to Section 7.2.

The internal structure of a mobile host is shown in Figure 2. Apart from the standard ISO/OSI layers there is also a Mobility module and a module called Blackboard. The Mobility module provides a geographical position of the host and handles its movement. Section 7.1 contains a detailed description of the mobility architecture. The Blackboard module is used for cross layer communication. It provides information relevant to more than one layer like the actual energy status of the host, the display appearance or the status of the radio. All other modules implement the corresponding ISO/OSI layer functionality. Details on the implementation of these modules can be found in Section 4.

Figure 2: Structure of a Mobile Host

While the core MF does not provide any protocol implementations we also plan to provide a library of standard modules for the lower layers of the ISO/OSI protocol stack. Thus the MF will eventually enable simulation of various kinds of wireless mobile networks ``out of the box''.

2.2 Using the Mobility Framework

There are several ways to use the Mobility Framework. Which one is best suited depends on the purpose you want to use the MF for. Once you successfully compiled the MF you can just use the created library within your own simulation or you should take a look at the example networks in the networks/ and core/basicNetworks directories if you want to create a new simulation based on the Mobility Framework. Please note that you need to add the lib directory to your LD_LIBRARY_PATH or copy the library to a location where the linker can find it in order to work with the MF.

We provide example networks for many different scenarios so it is very likely that you will find a setup similar to your needs. The networks and the protocol implementations used are very well documented in the API documentation (doc/api/index.html) so you should take a look there as well.

The template/ folder contains templates for the derivation or creation of your own modules. You can copy the corresponding files you need, adapt them to your needs and of course fill them with your code. Copy the Makefile.gen file as well and change the MOBFW variable within Makefile.gen to point to your mobility-fw folder and you can easily create a Makefile for your files (just type opp_makemake -f Makefile.gen).

Please note that the mobilityfw library does not contain any modules from the development/ folder. Those implementations are to be considered experimental so we did not include them into the library. So if you want to enhance one of the protocol implementations or use them as a base for you own implementation you would have to copy the corresponding files as well. An alternative would be to do your work within the development/ directory structure. You will have to run make makefiles in the corresponding directories to ``register'' your newly created classes with the Makefiles.

We explicitly encourage the use and improvement of those protocol implementations under development. The more feedback and bug-fixes we get the sooner those protocols will reach a ``stable'' status and can be included into the library. Additionally many of them already reached a decent state and only need some more testing so please also report if you use those implementations and do not experience problems. Please refer to the corresponding API documentation and contact the individual authors for questions, feedback and bug reports.

2.3 Directory structure

Here is a list of all different directories including a brief description of the content to help you find certain files.

mobility-fw/ root directory
bitmaps/ icons for network graphics
core/ the core of the framework
basicMessages/ the basic message classes
basicModules/ all basic module classes
basicNetworks/ 2 basic sample networks
blackboard/ Blackboard stuff
channelcontrol/ ChannelControl modules
utils/ utilities
development/ experimental protocol implementations
applLayer/ application layer modules
messages/ all .msg files
mobility/ Mobility modules
netwLayer/ network layer modules
nic/ network interface modules
macLayer/ MAC layer modules
phyLayer/ physical layer modules
decider/ decider modules
snrEval/ snr evaluation modules
utils/ utilities
doc/ manual, API, neddoc...
include/ header and .ned includes
lib/ dir of the
networks/ example networks
protocols/ tested protocol implementations
template/ templates to create own modules
testSuite/ regression test suite

next up previous contents index
Next: 3 Getting the Mobility Up: A Mobility Framework for Previous: 1 Introduction   Contents   Index
Daniel Willkomm 2007-01-12