1 / 14

An XML Front-End for ns-3

An XML Front-End for ns-3. George Riley and Josh Pelkey Georgia Institute of Technology. Overview. Motivation Approach Details of XML interface Problems with the Approach Alternative Approaches Summary. Motivation. A primary effort from the NSF funding for ns-3 is “educational use”.

liang
Download Presentation

An XML Front-End for ns-3

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. An XML Front-End for ns-3 George Riley and Josh PelkeyGeorgia Institute of Technology

  2. Overview • Motivation • Approach • Details of XML interface • Problems with the Approach • Alternative Approaches • Summary

  3. Motivation • A primary effort from the NSF funding for ns-3 is “educational use”. • The ns-3 simulator requires tools for compiling, linking, and in some cases C++ programming skills. • The majority of classroom educators at college level, either at undergraduate or graduate level are unlikely to have these compiling/linking tools readily available, and are not in fact skilled in these areas. • Often rely on undergraduate or graduate “teaching assistants”, who may or may not have programming skills. • In order to promote “educational use”, we must have a simple way, using tools that are readily available to nearly all users (eg. Text editor)

  4. Approach • Describe the ns-3 simulation scenario using the well-known Extensible Markup Language (XML). • Implement an XML parser that both understands the XML syntax, and the meaning of the ns-3 objects specified • The XML parser will read the complete XML file, validate that it is correct, then create the ns-3 objects (nodes, links, protocol stacks, routing objects, and applications) • The parser will produce meaningful and detailed error messages when erroneous specifications are detected. • Allows command line arguments to vary independent variables, to illustrate effects of network parameters. • A difficulty is that the XML syntax is not easily adapted to concepts such as loops, repetitions, and references to other XML elements

  5. Details of XML Interface • The XML root element is the ns3 element • Attribute “StopAt” • Subelements: • cmdline • randomgenerators • topology • applications • animation • statistics

  6. cmdline element • Attributes are: • name • Name of ns-3 attribute • default • Default value if not specified • help • Help text

  7. randomgenerators element • Subelements • exponential • Name • Mean • limit • Uniform • Name • Min • Max • Normal • Name • Mean • variance • Constant • Name • Value

  8. randomgenerators example • <randomgeneratorsrunNumber = "$runNumber" seed = "123456" > • <exponential name = "exp1" mean = "1.0" limit = "100.0" /> • <uniform name = "uni1" min = "0.0" max = "1.0" /> • <normal name = "norm1" mean = "0.0" variance = "1.0" /> • <constant name = "const1" value = "0.0" /> • </randomgenerators>

  9. Topology Element • Attributes • autoIPV4 • GODRouting • NIXRouting • autoIPV4Base • autoIPV4mask • Subelements • Queue element • P2plink element • Node element • Connect p2p • Dumbbell

  10. Applications Element • Subelements • Onoff • Constantbitrate • Bulksend

  11. Statistics Element • Log subelement, attributes: • Repeat • Name • Stat • At • Frequency • Example: • <log repeat = "10" name = "sinkRx" stat = "$packetsinkapp$0$totalBytesRx" at = "1.0" frequency = "1.0" />

  12. Problems with this Approach • Windows! • The vast majority of teaching faculty use windows. We will have to have a windows versio • John Abraham has already ported most of ns-3 to the win32 API • Animation! • Not only topology and packets, but various metrics (queue occupancy, sequence number for TCP, etc) • Still need detailed understanding of how ns-3 pieces fit together • Lack of “real-time” statistics (ie. Queue occupancy over time as simulation is running). • Requires new code in ns3xml for each release (with new topology, applications, queues, etc).

  13. Alternative Approaches • Drag and drop GUI • Still need some “save file format”, so perhaps the drag and drop GUI could produce ns3xml format. • Pre-compile many “scenarios” and use command line arguments for setting independent variables. • Presupposes we an predict in advance all possible teaching scenarios. Seems unlikely

  14. Summary • Ns3xml is still work in progress • Usefulness and ease of use in the classroom is yet to be demonstrated • Proof is in the pudding. • We will monitor when and if other teaching faculty download and use ns3xml

More Related