Presentation is loading. Please wait.

Presentation is loading. Please wait.

Introduction 1.  A Simulator  Modular (Component-based)  Open-architecture  For Discrete Event Networks.

Similar presentations


Presentation on theme: "Introduction 1.  A Simulator  Modular (Component-based)  Open-architecture  For Discrete Event Networks."— Presentation transcript:

1 Introduction 1

2  A Simulator  Modular (Component-based)  Open-architecture  For Discrete Event Networks

3  Various simulation models and frameworks  For Specific Application Areas  Mostly Open Source  Developed Independently of OMNeT++ 3

4  Simulation Frameworks Based on OMNeT++:  Mobility Framework  Mobile & Wireless Simulations  INET Framework  Wired & Wireless TCP/IP Based Simulations  Castalia  Wireless Sensor Networks  MiXiM  Mobile & Wireless Simulations

5  OverSim  Overlay and Peer-to-Peer Networks (INET-based)  NesCT  OS simulations  Consensus Positif and MAC Simulator  for sensor networks  CDNSim  content distribution networks, youtube  PAWiS  Power Aware Wireless Sensor Networks Simulation Framework  Other:  FIELDBUS, ACID SimTools, X-Simulator 5

6 6  Flexibility  Programming model  Model management  Debugging, tracing, and experiment specifications  Simulation Modes

7 Core framework for discrete event simulation. Different add-ons for specific purposes. Fully implemented in C++. Functionality added by deriving classes following specified rules. 7

8 Simulated objects are represented by modules Simple or Compound Communicate by messages (directly or via gates) Consists of Interface description (.NED file) Behavior description (C++ class) Modules, gates and links can be created: Statically - at the beginning of the simulation (NED file) Dynamically – during the simulation

9 Clear separation among simulation kernel and developed models. Easiness of packaging developed modules for reuse. No need for patching the simulation kernel to install a model. 9 Build models and combine like KOONESAZI blocks

10  Supports  Recording data vectors and scalars in output files  Random numbers with several distributions and different starting seeds  displaying info about the module’s activity, snapshots, breakpoints  Easy to configure using.ini file  Batch execution of the same simulation for different parameters is also included

11  Command line  Interactive GUI  Tcl/Tk windowing, allows view what’s happening and modify parameters at run-time. 11

12 The topology of a model is specified using the NED language. Edit it with GNED or other text editor.

13 Import directives Channel definitions Simple and compound module definitions Network definitions

14 import "ethernet"; // imports ethernet.ned import "Router", "StandardHost", "FlatNetworkConfigurator";

15 channel LeasedLine delay // sec error 1e-8 datarate // bit/sec endchannel

16 simple TrafficGen parameters: interarrivalTime, numOfMessages : const, address : string; gates: in: fromPort, fromHigherLayer; out: toPort, toHigherLayer; endsimple Application Layer TrafficGen MAC Layer

17 module CompoundModule parameters: //... gates: //... submodules: //... connections: //... endmodule

18 module CompoundModule //... submodules: submodule1: ModuleType1 parameters: //... gatesizes: //... submodule2: ModuleType2 parameters: //... gatesizes: //... endmodule

19 module CompoundModule parameters: param1: numeric, param2: numeric, useParam1: bool; submodules: submodule1: Node parameters: p1 = 10, p2 = param1+param2, p3 = useParam1==true ? param1 : param2; //... endmodule

20 module CompoundModule parameters: //... gates: //... submodules: //... connections: node1.output --> node2.input; node1.input <-- node2.output; //... endmodule

21 network wirelessLAN: WirelessLAN parameters: numUsers=10, httpTraffic=true, ftpTraffic=true, distanceFromHub=truncnormal(100,60); endnetwork

22 // // Ethernet Modeling// simple EtherMAC { parameters: string address; // others omitted for brevity gates: input phyIn; // to physical layer or the network output phyOut; // to physical layer or the network input llcIn; // to EtherLLC or higher layer output llcOut; // to EtherLLC or higher layer }

23  // // Host with an Ethernet interface // module EtherStation { parameters:... gates:... input in; // connect to switch/hub, etc output out; submodules: app: EtherTrafficGen; llc: EtherLLC; mac: EtherMAC; connections: app.out --> llc.hlIn; app.in mac.llcIn; mac.phyIn out; } network EtherLAN { submodules: EtherStation; … }

24  To run the executable, you need an omnetpp.ini file.  [General] network = etherLAN *.numStations = 20 **.frameLength = normal(200,1400) **.station[0].numFramesToSend = 5000 **.station[1-5].numFramesToSend = 1000 **.station[*].numFramesToSend = 0

25  NED files define the topology of network/modules  A part of the model description  Ini files define  Simulation parameters  Results to collect  Random seeds  This separation allows to change parameters without modifying the model  E.g. no need to recompile, experiments can be executed as a batch

26 26 for (int i=0;i<10;i++) { }... [General] network=test_disk [Parameters]... Model structure Add behavior Set up parameters Compile Run Analyze

27 Network description nedtool compiler Generated C++ code Module behavior C++ code C++ compiler Simulation kernel libraries User interface libraries Linker Simulation program

28  The capability to record simulation results  by explicitly programming into the simple modules  Output Vector  omnetpp.vec  Output Scalar Files  omnetpp.sca

29  Series of pairs timestamp, value  Can store: queue length over time end-to-end delay of received packets packet drops or channel throughput …  Can be configured from omnetpp.ini Enable or disable recording individual output vectors Limit recording to a certain simulation time interval  Capture behaviour over time 29

30  Contain summary statistics  number of packets sent  number of packet drops  average end-to-end delay of received packets  peak throughput  … 30

31

32

33 Installation 33

34

35

36

37

38

39

40

41


Download ppt "Introduction 1.  A Simulator  Modular (Component-based)  Open-architecture  For Discrete Event Networks."

Similar presentations


Ads by Google