This page discusses installation issues, usage, bugs and other topics related to the Mobility Framework (MF) from TKN, TU Berlin. If you are new to this package, see the Mobility Framework home page for Omnet++3 and http://wiki.github.com/mobility-fw/mf-opp4 for its port to Omnet++4.
IMPORTANT! MF is no longer supported by its authors. New projects should use MiXiM, its successor.
MF for OMNeT++ 4.0
MF has been ported to OMNeT++ 4.0; source code is available from github with two branches, master (base MF) and ext (with extensions from Anna Förster and Jérôme Rousselot). Use the github download page (to get a labelled release) or the Download button (to get the latest state). For instructions on how to check out the sources and more background information please see the wiki page on github.
"Is MF good for me?"
If you want to focus on the lower layers (PHY, L2), then yes. If you want to play more with higher layers (IP, TCP,...), then go for INETFramework which has MF's infrastructure built in, plus higher layer protocols (plus bonus like several more mobility models).
The 802.11 model of the MF tries to be standards compliant. If your simulation is not able
to receive packets, check whether all stations send at the same point
in time. The 802.11 standard (in contrast to e.g. the ns-2 implementation)
does not add a random delay before each packet. If your stations send
all at the same point the packets will collide.
The MF-1.0a6 release compiles with OMNeT++ 3.2 well.
1. Update LD_LIBRARY_PATH variable with /path_to_mobilityfw_directory/lib
2. Run "./mkmk" to generate makefiles.
3. Run "make install" to compile MF
4. Optionally run "make networks" to create sample networks (found in /path_to_mobilityfw_directory/networks/)
1. Update Settings in mkmk.cmd and mfconfig.vc
mfconfig.vc, and update the directory settings in it to point to your OMNeT++ and MF installation directories.
mkmk.cmd to generate the makefiles.
nmake /f Makefile.vc install, then
nmake /f Makefile.vc networks.
Mac OS X users
For instruction on the 1.0a5 version, see MobilityFramework older releases.
- const cGate* NicEntry::getOutGateTo(int to)
+ const cGate* getOutGateTo(int to)
add the following lines (before line 255)
EV << " " << txAttempts << " " << endl;
double time = intrand(initialCW - txAttempts)*slotDuration + 2.0*dblrand()*slotDuration;
+ cancelEvent( minorMsg );
scheduleAt(simTime() + time, backoffTimer);
Protocols and add-ons for MF
- LMAC, BMAC and a battery model for WSNs by Anna Förster. More info and download: http://www.inf.unisi.ch/phd/foerster/downloads.html
- FeedbackFramework - a feedback-enhanced simulation environment by Anna Egorova-Förster. This is not a standard routing protocol, however, if configured properly, it could be also a directed diffusion "one-phase pull" implementation. More info and download: http://www.inf.unisi.ch/phd/foerster/downloads.html
- Feedback-enhanced routing protocol implementation by Anna Egorova-Förster. It is a routing/application framework over Omnet++ and the MF (the newest preview), which enables fast prototyping and implementataion of different routing strategies, which use feedback exchange. It includes a Directed Duffusion's one-phase-pull protocol implementation. More info and download: http://www.inf.unisi.ch/phd/foerster/downloads.html
- Creating random connected topologies. MatLab function implementation by Anna Egorova-Förster to produce many random connected topologies for the Mobility Framework. It calculates the interference distance just as the ChannelControl does, so the connectivity is guaranteed (more or less..) The difference to other methods presented so far is that it produces a completely random topology and then checks whether it is connected or not (simple broadcast to all nodes). You'll need of course a MatLab installation to run it. Download from: http://www.inf.unisi.ch/projects/mics/downloads.html