the design of xml-based model and experiment description languages for network simulation

Post on 14-Jan-2016

48 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

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 Presentation

TRANSCRIPT

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!

top related