Download - The Design of XML-Based Model and Experiment Description Languages for Network Simulation
![Page 1: The Design of XML-Based Model and Experiment Description Languages for Network Simulation](https://reader035.vdocuments.us/reader035/viewer/2022081506/568148e2550346895db5fd8e/html5/thumbnails/1.jpg)
The Design of XML-Based Model and Experiment Description
Languages for Network Simulation
Andrew HallaganBucknell University
Dept. of Computer ScienceLuiz Felipe Perrone, Advisor
![Page 2: The Design of XML-Based Model and Experiment Description Languages for Network Simulation](https://reader035.vdocuments.us/reader035/viewer/2022081506/568148e2550346895db5fd8e/html5/thumbnails/2.jpg)
3 General Network TypesHardwired, wireless and ad-hoc networks
![Page 3: The Design of XML-Based Model and Experiment Description Languages for Network Simulation](https://reader035.vdocuments.us/reader035/viewer/2022081506/568148e2550346895db5fd8e/html5/thumbnails/3.jpg)
3 General Network TypesHardwired, wireless and ad-hoc networks
Nodes
![Page 4: The Design of XML-Based Model and Experiment Description Languages for Network Simulation](https://reader035.vdocuments.us/reader035/viewer/2022081506/568148e2550346895db5fd8e/html5/thumbnails/4.jpg)
3 General Network TypesHardwired, wireless and ad-hoc networks
Channels
![Page 5: The Design of XML-Based Model and Experiment Description Languages for Network Simulation](https://reader035.vdocuments.us/reader035/viewer/2022081506/568148e2550346895db5fd8e/html5/thumbnails/5.jpg)
Communication Between NodesBreaking a message up into packets.
![Page 6: The Design of XML-Based Model and Experiment Description Languages for Network Simulation](https://reader035.vdocuments.us/reader035/viewer/2022081506/568148e2550346895db5fd8e/html5/thumbnails/6.jpg)
Communication Between NodesBreaking a message up into packets.
![Page 7: The Design of XML-Based Model and Experiment Description Languages for Network Simulation](https://reader035.vdocuments.us/reader035/viewer/2022081506/568148e2550346895db5fd8e/html5/thumbnails/7.jpg)
Communication Between NodesBreaking a message up into packets.
![Page 8: The Design of XML-Based Model and Experiment Description Languages for Network Simulation](https://reader035.vdocuments.us/reader035/viewer/2022081506/568148e2550346895db5fd8e/html5/thumbnails/8.jpg)
Ways to Study a SystemSource: Averill M. Law, Simulation, Modeling & Analysis
Physicalmodel
Experiment with the actual
system
Experiment with a model of the
system
System
Mathematicalmodel
Analytical solution Simulation
![Page 9: The Design of XML-Based Model and Experiment Description Languages for Network Simulation](https://reader035.vdocuments.us/reader035/viewer/2022081506/568148e2550346895db5fd8e/html5/thumbnails/9.jpg)
Ways to Study a SystemSource: Averill M. Law, Simulation, Modeling & Analysis
Physicalmodel
Experiment with the actual
system
Experiment with a model of the
system
System
Mathematicalmodel
Analytical solution Simulation
![Page 10: The Design of XML-Based Model and Experiment Description Languages for Network Simulation](https://reader035.vdocuments.us/reader035/viewer/2022081506/568148e2550346895db5fd8e/html5/thumbnails/10.jpg)
A Simple Mobility ModelThe horizontal and vertical positions of the node are a function of SPEED and ANGLE, which are random variables distributed Normally and Uniformly, respectively.
X-position = f(SPEED, ANGLE)Y-position = g(SPEED, ANGLE)SPEED ~ N(SPEED_MEAN, 3.0)ANGLE ~ U(0, ANGLE_BOUND)
Model Inputs• SPEED_MEAN• ANGLE_BOUND
![Page 11: The Design of XML-Based Model and Experiment Description Languages for Network Simulation](https://reader035.vdocuments.us/reader035/viewer/2022081506/568148e2550346895db5fd8e/html5/thumbnails/11.jpg)
A Simple Mobility ModelThe horizontal and vertical positions of the node are a function of SPEED and ANGLE, which are random variables distributed Normally and Uniformly, respectively.
X-position = f(SPEED, ANGLE)Y-position = g(SPEED, ANGLE)SPEED ~ N(SPEED_MEAN, 3.0)ANGLE ~ U(0, ANGLE_BOUND)
Model Inputs• SPEED_MEAN• ANGLE_BOUND
ModelDescription
![Page 12: The Design of XML-Based Model and Experiment Description Languages for Network Simulation](https://reader035.vdocuments.us/reader035/viewer/2022081506/568148e2550346895db5fd8e/html5/thumbnails/12.jpg)
Factor Levels
ANGLE_BOUND15304560
SPEED_MEAN2.03.04.0
![Page 13: The Design of XML-Based Model and Experiment Description Languages for Network Simulation](https://reader035.vdocuments.us/reader035/viewer/2022081506/568148e2550346895db5fd8e/html5/thumbnails/13.jpg)
Design Matrix
ANGLE_BOUND151515303030454545606060
SPEED_MEAN2.03.04.02.03.04.02.03.04.02.03.04.0
![Page 14: The Design of XML-Based Model and Experiment Description Languages for Network Simulation](https://reader035.vdocuments.us/reader035/viewer/2022081506/568148e2550346895db5fd8e/html5/thumbnails/14.jpg)
Design Matrix
ANGLE_BOUND151515303030454545606060
SPEED_MEAN2.03.04.02.03.04.02.03.04.02.03.04.0
![Page 15: The Design of XML-Based Model and Experiment Description Languages for Network Simulation](https://reader035.vdocuments.us/reader035/viewer/2022081506/568148e2550346895db5fd8e/html5/thumbnails/15.jpg)
Design Matrix
ANGLE_BOUND151515303030454545606060
SPEED_MEAN2.03.04.02.03.04.02.03.04.02.03.04.0
Experiment Description
![Page 16: The Design of XML-Based Model and Experiment Description Languages for Network Simulation](https://reader035.vdocuments.us/reader035/viewer/2022081506/568148e2550346895db5fd8e/html5/thumbnails/16.jpg)
Network ComplexitiesBandwidth, physical distance, network traffic, etc.
![Page 17: The Design of XML-Based Model and Experiment Description Languages for Network Simulation](https://reader035.vdocuments.us/reader035/viewer/2022081506/568148e2550346895db5fd8e/html5/thumbnails/17.jpg)
Network ComplexitiesSize.
![Page 18: The Design of XML-Based Model and Experiment Description Languages for Network Simulation](https://reader035.vdocuments.us/reader035/viewer/2022081506/568148e2550346895db5fd8e/html5/thumbnails/18.jpg)
Network ComplexitiesPhysical surroundings.
![Page 19: The Design of XML-Based Model and Experiment Description Languages for Network Simulation](https://reader035.vdocuments.us/reader035/viewer/2022081506/568148e2550346895db5fd8e/html5/thumbnails/19.jpg)
Recap
• Networks are complex.• Modeling is difficult.• Experimentation isn’t straight-
forward.• Mistakes in this process have led to
credibility issues in network simulation.
![Page 20: The Design of XML-Based Model and Experiment Description Languages for Network Simulation](https://reader035.vdocuments.us/reader035/viewer/2022081506/568148e2550346895db5fd8e/html5/thumbnails/20.jpg)
Solution: Automation
• Automate the modeling and experiment design process for users.
• Automatically validate model descriptions.
• Automatically validate experiment descriptions.
• Automatically generate simulation scripts.
![Page 21: The Design of XML-Based Model and Experiment Description Languages for Network Simulation](https://reader035.vdocuments.us/reader035/viewer/2022081506/568148e2550346895db5fd8e/html5/thumbnails/21.jpg)
Motivation for Network Simulation ResearchSource: J. M. Brase and D. L. Brown, Modeling, Simulation and Analysis of Complex Networked Systems. White paper.
“[The Department of Energy] must continue the development of next generation complex networked
systems that are more secure, less brittle to unexpected events, and more
controllable. For these emerging efforts to be successful, it is essential that a firm intellectual foundation be
provided for understanding and simulating large-scale networks.”
![Page 22: The Design of XML-Based Model and Experiment Description Languages for Network Simulation](https://reader035.vdocuments.us/reader035/viewer/2022081506/568148e2550346895db5fd8e/html5/thumbnails/22.jpg)
SAFE
Simulation Automation Framework for Experiments
![Page 23: The Design of XML-Based Model and Experiment Description Languages for Network Simulation](https://reader035.vdocuments.us/reader035/viewer/2022081506/568148e2550346895db5fd8e/html5/thumbnails/23.jpg)
High-level view of the SAFE architecture.My work is concerned with the Model Description and Experiment Description inputs to this framework (in the yellow boxes).
![Page 24: The Design of XML-Based Model and Experiment Description Languages for Network Simulation](https://reader035.vdocuments.us/reader035/viewer/2022081506/568148e2550346895db5fd8e/html5/thumbnails/24.jpg)
High-level view of the SAFE architecture.My work is concerned with the Model Description and Experiment Description inputs to this framework (in the yellow boxes).
![Page 25: The Design of XML-Based Model and Experiment Description Languages for Network Simulation](https://reader035.vdocuments.us/reader035/viewer/2022081506/568148e2550346895db5fd8e/html5/thumbnails/25.jpg)
An HTML “anchor” element.This piece of HTML is valid XML. It is an a tag with an attribute href. The value of the href attribute is a URL string and the content of the a tag is the “Link to Google” string.
<a href=“http://www.google.com”>Link to Google</a>
Opening tag
Attribute
Attribute
value
Element content
Closing tag
![Page 26: The Design of XML-Based Model and Experiment Description Languages for Network Simulation](https://reader035.vdocuments.us/reader035/viewer/2022081506/568148e2550346895db5fd8e/html5/thumbnails/26.jpg)
NEDL: Experiment Description
![Page 27: The Design of XML-Based Model and Experiment Description Languages for Network Simulation](https://reader035.vdocuments.us/reader035/viewer/2022081506/568148e2550346895db5fd8e/html5/thumbnails/27.jpg)
NEDL FunctionalityProvide ways to list experimental factors.
ANGLE_BOUND SPEED_MEAN
![Page 28: The Design of XML-Based Model and Experiment Description Languages for Network Simulation](https://reader035.vdocuments.us/reader035/viewer/2022081506/568148e2550346895db5fd8e/html5/thumbnails/28.jpg)
NEDL FunctionalityProvide ways to list associated level values for each factor.
ANGLE_BOUND15304560
SPEED_MEAN2.03.04.0
![Page 29: The Design of XML-Based Model and Experiment Description Languages for Network Simulation](https://reader035.vdocuments.us/reader035/viewer/2022081506/568148e2550346895db5fd8e/html5/thumbnails/29.jpg)
NEDL FunctionalityProvide ways to list associated level values for each factor.
ANGLE_BOUND15304560
SPEED_MEAN2.03.04.0“Use the
values 3, 17, and 9.”
![Page 30: The Design of XML-Based Model and Experiment Description Languages for Network Simulation](https://reader035.vdocuments.us/reader035/viewer/2022081506/568148e2550346895db5fd8e/html5/thumbnails/30.jpg)
NEDL FunctionalityProvide ways to list associated level values for each factor.
ANGLE_BOUND15304560
SPEED_MEAN2.03.04.0
“Use the same values already provided for
another factor.”
![Page 31: The Design of XML-Based Model and Experiment Description Languages for Network Simulation](https://reader035.vdocuments.us/reader035/viewer/2022081506/568148e2550346895db5fd8e/html5/thumbnails/31.jpg)
NEDL FunctionalityProvide ways to list associated level values for each factor.
ANGLE_BOUND15304560
SPEED_MEAN2.03.04.0
“Take multiples of 15
between 15 and 60.”
![Page 32: The Design of XML-Based Model and Experiment Description Languages for Network Simulation](https://reader035.vdocuments.us/reader035/viewer/2022081506/568148e2550346895db5fd8e/html5/thumbnails/32.jpg)
NEDL FunctionalityProvide ways to list associated level values for each factor.
ANGLE_BOUND15304560
SPEED_MEAN2.03.04.0
“Use the values
specified in my external file named ____”
![Page 33: The Design of XML-Based Model and Experiment Description Languages for Network Simulation](https://reader035.vdocuments.us/reader035/viewer/2022081506/568148e2550346895db5fd8e/html5/thumbnails/33.jpg)
NEDL FunctionalityProvide ways to “prune” design points from the experiment space.
ANGLE_BOUND151515303030454545606060
SPEED_MEAN2.03.04.02.03.04.02.03.04.02.03.04.0
![Page 34: The Design of XML-Based Model and Experiment Description Languages for Network Simulation](https://reader035.vdocuments.us/reader035/viewer/2022081506/568148e2550346895db5fd8e/html5/thumbnails/34.jpg)
NEDL FunctionalityProvide ways to “prune” design points from the experiment space.
ANGLE_BOUND151515303030454545606060
SPEED_MEAN2.03.04.02.03.04.02.03.04.02.03.04.0
“Remove the specific design
point where ANGLE_BOUND =
15and
SPEED_MEAN = 3.0.”
![Page 35: The Design of XML-Based Model and Experiment Description Languages for Network Simulation](https://reader035.vdocuments.us/reader035/viewer/2022081506/568148e2550346895db5fd8e/html5/thumbnails/35.jpg)
NEDL FunctionalityProvide ways to “prune” design points from the experiment space.
ANGLE_BOUND151515303030454545606060
SPEED_MEAN2.03.04.02.03.04.02.03.04.02.03.04.0
“Remove every third design point.”
![Page 36: The Design of XML-Based Model and Experiment Description Languages for Network Simulation](https://reader035.vdocuments.us/reader035/viewer/2022081506/568148e2550346895db5fd8e/html5/thumbnails/36.jpg)
NEDL ValidationThe NEDL validation module checks language semantics and ensures the experimenter has created a NEDL document that can be successfully parsed by SAFE.
![Page 37: The Design of XML-Based Model and Experiment Description Languages for Network Simulation](https://reader035.vdocuments.us/reader035/viewer/2022081506/568148e2550346895db5fd8e/html5/thumbnails/37.jpg)
NSTL: Model Description
Flexible script templating
![Page 38: The Design of XML-Based Model and Experiment Description Languages for Network Simulation](https://reader035.vdocuments.us/reader035/viewer/2022081506/568148e2550346895db5fd8e/html5/thumbnails/38.jpg)
Creating an ns-3 script template.One can create an ns-3 script simply by removing certain hard-coded values and inserting special markers that correspond to the factors listed in a NEDL file.
norm = ns3.RandomVariable(“Normal”, $SPEED_MEAN$, “3.0”)unif = ns3.RandomVariable(“Uniform”, 0, $ANGLE_BOUND$)node.setSpeed(norm)node.setAngle(unif)
![Page 39: The Design of XML-Based Model and Experiment Description Languages for Network Simulation](https://reader035.vdocuments.us/reader035/viewer/2022081506/568148e2550346895db5fd8e/html5/thumbnails/39.jpg)
Creating an ns-3 script template.Using the block element in NSTL, one can specify interchangeable code blocks to swap in an ns-3 script. Since two block elements are used, two scripts will be generated.
<block>norm = ns3.RandomVariable(“Normal”, $SPEED_MEAN$, “3.0”)unif = ns3.RandomVariable(“Uniform”, 0, $ANGLE_BOUND$)node.setSpeed(norm)node.setAngle(unif)</block><block>node.setSpeed(17.0)node.setAngle(135)</block>
![Page 40: The Design of XML-Based Model and Experiment Description Languages for Network Simulation](https://reader035.vdocuments.us/reader035/viewer/2022081506/568148e2550346895db5fd8e/html5/thumbnails/40.jpg)
Conclusions and Future Work
![Page 41: The Design of XML-Based Model and Experiment Description Languages for Network Simulation](https://reader035.vdocuments.us/reader035/viewer/2022081506/568148e2550346895db5fd8e/html5/thumbnails/41.jpg)
Thank you!