the design of xml-based model and experiment description languages for network simulation
DESCRIPTION
The Design of XML-Based Model and Experiment Description Languages for Network Simulation. Andrew Hallagan Bucknell University Dept. of Computer Science Luiz Felipe Perrone , Advisor. 3 General Network Types. Hardwired, wireless and ad-hoc networks. Nodes. 3 General Network Types. - PowerPoint PPT PresentationTRANSCRIPT
The Design of XML-Based Model and Experiment Description
Languages for Network Simulation
Andrew HallaganBucknell University
Dept. of Computer ScienceLuiz Felipe Perrone, Advisor
3 General Network TypesHardwired, wireless and ad-hoc networks
3 General Network TypesHardwired, wireless and ad-hoc networks
Nodes
3 General Network TypesHardwired, wireless and ad-hoc networks
Channels
Communication Between NodesBreaking a message up into packets.
Communication Between NodesBreaking a message up into packets.
Communication Between NodesBreaking a message up into packets.
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
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
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
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
Factor Levels
ANGLE_BOUND15304560
SPEED_MEAN2.03.04.0
Design Matrix
ANGLE_BOUND151515303030454545606060
SPEED_MEAN2.03.04.02.03.04.02.03.04.02.03.04.0
Design Matrix
ANGLE_BOUND151515303030454545606060
SPEED_MEAN2.03.04.02.03.04.02.03.04.02.03.04.0
Design Matrix
ANGLE_BOUND151515303030454545606060
SPEED_MEAN2.03.04.02.03.04.02.03.04.02.03.04.0
Experiment Description
Network ComplexitiesBandwidth, physical distance, network traffic, etc.
Network ComplexitiesSize.
Network ComplexitiesPhysical surroundings.
Recap
• Networks are complex.• Modeling is difficult.• Experimentation isn’t straight-
forward.• Mistakes in this process have led to
credibility issues in network simulation.
Solution: Automation
• Automate the modeling and experiment design process for users.
• Automatically validate model descriptions.
• Automatically validate experiment descriptions.
• Automatically generate simulation scripts.
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.”
SAFE
Simulation Automation Framework for Experiments
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).
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).
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
NEDL: Experiment Description
NEDL FunctionalityProvide ways to list experimental factors.
ANGLE_BOUND SPEED_MEAN
NEDL FunctionalityProvide ways to list associated level values for each factor.
ANGLE_BOUND15304560
SPEED_MEAN2.03.04.0
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.”
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.”
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.”
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 ____”
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
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.”
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.”
NEDL ValidationThe NEDL validation module checks language semantics and ensures the experimenter has created a NEDL document that can be successfully parsed by SAFE.
NSTL: Model Description
Flexible script templating
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)
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>
Conclusions and Future Work
Thank you!