ScenarioManager is for setting up and controlling simulation experiments. You can schedule certain events to take place at specified times, like changing a parameter value, changing the bit error rate of a connection, removing or adding connections, removing or adding routes in a routing table, etc, so that you can observe the transient behaviour.
ScenarioManager executes a script specified in XML. It has a few built-in commands, while other commands are dispatched to be carried out by given simple modules. (The C++ class of these simple modules' needs to implement the IScriptable interface, and the processCommand() method must be redefined accordingly).
An example script:
<scenario> <set-param t="10" module="host[1].mobility" par="speed" value="5"/> <set-param t="20" module="host[1].mobility" par="speed" value="30"/> <at t="50"> <set-param module="host[2].mobility" par="speed" value="10"/> <set-param module="host[3].mobility" par="speed" value="10"/> <connect src-module="host[2]" src-gate="ppp[0]" dest-module="host[1]" dest-gate="ppp[0]" channel-type="ned.DatarateChannel"> <param name="datarate" value="10Mbps" /> <param name="delay" value="0.1us" /> </connect> </at> <at t="60"> <disconnect src-module="host[2]" src-gate="ppp[0]" /> <disconnect src-module="host[1]" src-gate="ppp[0]" /> </at> </scenario>
Built-in commands: <set-param>, <set-channel-attr>, <at>.
All commands have a t attribute which carries the simulation time at which the command has to be carried out. You can group several commands to be carried out at the same simulation time using <at>, and then only the <at> command is needed to have a t attribute.
connect/disconnect working between nodes, with have same parent
Supported attributes:
The following diagram shows usage relationships between types. Unresolved types are missing from the diagram.
The following diagram shows inheritance relationships for this type. Unresolved types are missing from the diagram.
Name | Type | Description |
---|---|---|
AODVNetwork | network | (no description) |
ClientServerWithSM | network | (no description) |
ClientServerWithSM | network | (no description) |
DHCPShutdownReboot | network | (no description) |
DYMONetwork | network |
TODO |
DynamicRadioNetwork | network | (no description) |
DynamicTest | network | (no description) |
DynamicTest | network | (no description) |
GPSRNetworkRandom | network |
TODO |
LDPTEST | network | (no description) |
LinkBreakA | network | (no description) |
MixedNetwork | network |
TODO Auto-generated network |
MobileNetworkWithScenario | network | (no description) |
NClients | network | (no description) |
NeighborCacheTest | network | (no description) |
NetworkPathRIPShowcase | network |
TODO documentation |
OSPF_BackboneAndOneStubTest | network | (no description) |
OSPF_BackboneAndTwoStubsTest | network | (no description) |
OSPF_BackboneTest | network | (no description) |
OSPF_mininet | network | (no description) |
RIPInfinityCountTest | network | (no description) |
RSVPTE4 | network |
Example network to demonstrate RSVP-TE. |
RSVPTE4 | network |
Example network to demonstrate RSVP-TE. |
RSVPTE4 | network |
Example network to demonstrate RSVP-TE. |
RSVPTE4 | network |
Example network to demonstrate RSVP-TE. |
RSVPTE4 | network |
Example network to demonstrate RSVP-TE. |
ShortestPath | network | (no description) |
SimpleRREQ | network | (no description) |
SimpleRREQ2 | network | (no description) |
SimpleTest | network | (no description) |
SwitchNetwork | network | (no description) |
Name | Type | Default value | Description |
---|---|---|---|
script | xml | xml("") |
Name | Value | Description |
---|---|---|
display | i=block/control_s | |
labels | node |
// // ~ScenarioManager is for setting up and controlling simulation experiments. // You can schedule certain events to take place at specified times, // like changing a parameter value, changing the bit error rate of // a connection, removing or adding connections, removing or // adding routes in a routing table, etc, so that you can observe the // transient behaviour. // // ~ScenarioManager executes a script specified in XML. It has a few // built-in commands, while other commands are dispatched to be carried out // by given simple modules. (The C++ class of these simple modules' needs // to implement the IScriptable interface, and the processCommand() method // must be redefined accordingly). // // An example script: // // <pre> // <scenario> // <set-param t="10" module="host[1].mobility" par="speed" value="5"/> // <set-param t="20" module="host[1].mobility" par="speed" value="30"/> // <at t="50"> // <set-param module="host[2].mobility" par="speed" value="10"/> // <set-param module="host[3].mobility" par="speed" value="10"/> // <connect src-module="host[2]" src-gate="ppp[0]" // dest-module="host[1]" dest-gate="ppp[0]" // channel-type="ned.DatarateChannel"> // <param name="datarate" value="10Mbps" /> // <param name="delay" value="0.1us" /> // </connect> // </at> // <at t="60"> // <disconnect src-module="host[2]" src-gate="ppp[0]" /> // <disconnect src-module="host[1]" src-gate="ppp[0]" /> // </at> // </scenario> // </pre> // // Built-in commands: <set-param>, <set-channel-attr>, <at>. // // All commands have a t attribute which carries the simulation time // at which the command has to be carried out. You can group several commands // to be carried out at the same simulation time using <at>, and // then only the <at> command is needed to have a t attribute. // // connect/disconnect working between nodes, with have same parent // // Supported attributes: // - <set-param>: module, par, value. // - <set-channel-attr>: src-module, src-gate, attr, value. // - <connect>: src-module, src-gate, dest-module, dest-gate, channel-type // - <param>: name, value // - <disconnect>: src-module, src-gate // FIXME - TRANSLATE: a src-gate lehet inout gate is, akkor mindket iranyra disconnect // simple ScenarioManager { parameters: xml script = default(xml("<script></script>")); @display("i=block/control_s"); @labels(node,mpls-node); }