OMNET++ TUTORIAL PDF

OMNeT++ offers an Eclipse-based IDE, a graphical runtime environment, and a host of other tools.There are extensions for real-time simulation, network emulation, database integration, SystemC integration, and several other functions

Platforms supported by omnet++:

  • Windows
  • Linux
  • Mac OS X
  • Other Unix-like systems.

 

Graphical features of OMNET++:

  • Background grid.
  • Icon sizing.
  • Background image.
  • Coloring.
  • Transmission range.
  • Default icons.

Sample code for OMNET++:

This is the sample code of enodeB in LTE.


module eNodeB
{
    parameters:
        @node();
        @display("i=device/antennatower;bgb=300,300");
        string nodeType = "ENODEB";        // DO NOT CHANGE
        int macNodeId = default(0); // TODO: this is not a real parameter
        int macCellId = default(0);  // TODO: this is not a real parameter
        double txPower @unit(mw) = default(100mw);

    gates:
        inout ppp;     // connection to LteIP peer
        input radioIn @directIn;  // connection to slave

    submodules:
        notificationBoard: NotificationBoard {
            @display("p=50,25;is=s");
        }
        interfaceTable: InterfaceTable {
            @display("p=50,75;is=s");
        }
        // TODO: should not include a routing table
        routingTable: RoutingTable {
            @display("p=50,125;is=s");
        }
        mobility: StationaryMobility {
            @display("p=50,175;is=s");
        }
        deployer: LteDeployer {
            @display("p=50,225;is=s");
        }
        nic: LteNicEnb {
            nodeType = nodeType;
            @display("p=150,250");
        }
        ppp: PPPInterface {
            @display("p=250,250");
        }
        nodeConfigurator: IPv4NodeConfigurator {
            @display("p=50,272");
        }
    connections allowunconnected:
        nic.radioIn <-- radioIn;
        ppp.phys <--> ppp;
        nic.upperLayerOut --> ppp.upperLayerIn;
        ppp.upperLayerOut --> nic.upperLayerIn;
}