Noisy Networks with Retry

Define retry probability at the L2-4

Retry_Layer1

Browsable image of the model.

  • To download OpenWebStart click on the links -
    Windows- Compatibility:Windows 10 or higher (*)
    macOS - Compatibility:macOS 10.15 (Catalina) or higher (*)
    Linux - Compatibility:Ubuntu 18.04 LTS or higher (*)
  • For an executable version,
  • Mouse over the icons to view parameters. Click on hierarchy and plotters to reveal content (if provided).
  • To simulate, click on Launch button, open downloaded file and click Run on the Java Security Page.
Retry_Layer1model <h2>Layer_Complete2</h2><table border="1"><tr><td><b>Parameter</b></td><td><b>Expression</b></td><td><b>Value</b></td></tr><tr><td>Block_Documentation</td><td>Enter User Documentation Here</td><td>Enter User Documentation Here</td></tr><tr><td>_flipPortsVertical</td><td>true</td><td>true</td></tr><tr><td>_flipPortsHorizontal</td><td>false</td><td>false</td></tr><tr><td>_rotatePorts</td><td>180</td><td>180</td></tr></table> <h2>Delay5</h2><table border="1"><tr><td><b>Parameter</b></td><td><b>Expression</b></td><td><b>Value</b></td></tr><tr><td>Block_Documentation</td><td>Enter User Documentation Here</td><td>Enter User Documentation Here</td></tr><tr><td>Delay_Value</td><td>2.1</td><td>&quot;2.1&quot;</td></tr><tr><td>_flipPortsVertical</td><td>true</td><td>true</td></tr><tr><td>_flipPortsHorizontal</td><td>false</td><td>false</td></tr><tr><td>_rotatePorts</td><td>180</td><td>180</td></tr></table> <h2>Layer_Complete</h2><table border="1"><tr><td><b>Parameter</b></td><td><b>Expression</b></td><td><b>Value</b></td></tr><tr><td>Block_Documentation</td><td>Enter User Documentation Here</td><td>Enter User Documentation Here</td></tr></table> <h2>Delay4</h2><table border="1"><tr><td><b>Parameter</b></td><td><b>Expression</b></td><td><b>Value</b></td></tr><tr><td>Block_Documentation</td><td>Enter User Documentation Here</td><td>Enter User Documentation Here</td></tr><tr><td>Delay_Value</td><td>2.1</td><td>&quot;2.1&quot;</td></tr></table> <h2>Layer_Table4</h2><table border="1"><tr><td><b>Parameter</b></td><td><b>Expression</b></td><td><b>Value</b></td></tr><tr><td>Block_Documentation</td><td>Enter User Documentation Here</td><td>Enter User Documentation Here</td></tr><tr><td>Layer_Table_Name</td><td>&quot;LT4&quot;</td><td>&quot;LT4&quot;</td></tr><tr><td>Layer_Number</td><td>1</td><td>1</td></tr><tr><td>Layer_MBytes_Sec</td><td>100.0</td><td>100.0</td></tr><tr><td>Layer_Frame_Size_Bytes</td><td>128</td><td>128</td></tr><tr><td>Layer_Header_Trailer_Bytes</td><td>16</td><td>16</td></tr><tr><td>Layer_Queue_Size_Frames</td><td>64</td><td>64</td></tr><tr><td>Layer_Retry_Probability</td><td>0.0</td><td>0.0</td></tr><tr><td>Up_Retransmissions</td><td>8</td><td>8</td></tr><tr><td>Up_Internal_Delay</td><td>1.0</td><td>1.0</td></tr><tr><td>Dn_Internal_Delay</td><td>1.0</td><td>1.0</td></tr><tr><td>Layer_Configuration</td><td>Internal_Delay</td><td>Internal_Delay</td></tr><tr><td>Dn_Retransmissions</td><td>8</td><td>8</td></tr></table> <h2>TextDisplay</h2><table border="1"><tr><td><b>Parameter</b></td><td><b>Expression</b></td><td><b>Value</b></td></tr><tr><td>Block_Documentation</td><td>Enter User Documentation Here</td><td>Enter User Documentation Here</td></tr><tr><td>rowsDisplayed</td><td>10</td><td>10</td></tr><tr><td>columnsDisplayed</td><td>40</td><td>40</td></tr><tr><td>suppressBlankLines</td><td>false</td><td>false</td></tr><tr><td>title</td><td>&quot;Stats&quot;</td><td>&quot;Stats&quot;</td></tr><tr><td>ViewText</td><td>true</td><td>true</td></tr><tr><td>saveText</td><td>false</td><td>false</td></tr><tr><td>fileName</td><td>Enter Filename to save text</td><td>&quot;Enter Filename to save text&quot;</td></tr><tr><td>Append_Time</td><td>true</td><td>true</td></tr></table> <h2>ExpressionList2</h2><table border="1"><tr><td><b>Parameter</b></td><td><b>Expression</b></td><td><b>Value</b></td></tr><tr><td>Block_Documentation</td><td>Enter User Documentation Here</td><td>Enter User Documentation Here</td></tr><tr><td>Expression_List</td><td>/* No Expressions. */</td><td>/* No Expressions. */</td></tr><tr><td>Output_Ports</td><td>output, output2</td><td>&quot;output, output2&quot;</td></tr><tr><td>Output_Values</td><td>((input.ID).doubleValue()), (TNow - input.TIME)</td><td>&quot;((input.ID).doubleValue()), (TNow - input.TIME)&quot;</td></tr><tr><td>Output_Conditions</td><td>true,true</td><td>&quot;true,true&quot;</td></tr></table> <h2>Delay3</h2><table border="1"><tr><td><b>Parameter</b></td><td><b>Expression</b></td><td><b>Value</b></td></tr><tr><td>Block_Documentation</td><td>Enter User Documentation Here</td><td>Enter User Documentation Here</td></tr><tr><td>Delay_Value</td><td>0.1</td><td>&quot;0.1&quot;</td></tr><tr><td>_flipPortsVertical</td><td>false</td><td>false</td></tr><tr><td>_flipPortsHorizontal</td><td>false</td><td>false</td></tr><tr><td>_rotatePorts</td><td>0</td><td>0</td></tr></table> <h2>Delay2</h2><table border="1"><tr><td><b>Parameter</b></td><td><b>Expression</b></td><td><b>Value</b></td></tr><tr><td>Block_Documentation</td><td>Enter User Documentation Here</td><td>Enter User Documentation Here</td></tr><tr><td>Delay_Value</td><td>0.1</td><td>&quot;0.1&quot;</td></tr><tr><td>_flipPortsVertical</td><td>true</td><td>true</td></tr><tr><td>_flipPortsHorizontal</td><td>false</td><td>false</td></tr><tr><td>_rotatePorts</td><td>180</td><td>180</td></tr></table> <h2>Delay</h2><table border="1"><tr><td><b>Parameter</b></td><td><b>Expression</b></td><td><b>Value</b></td></tr><tr><td>Block_Documentation</td><td>Enter User Documentation Here</td><td>Enter User Documentation Here</td></tr><tr><td>Delay_Value</td><td>0.1</td><td>&quot;0.1&quot;</td></tr><tr><td>_flipPortsVertical</td><td>true</td><td>true</td></tr><tr><td>_flipPortsHorizontal</td><td>false</td><td>false</td></tr><tr><td>_rotatePorts</td><td>180</td><td>180</td></tr></table> <h2>ExpressList</h2><table border="1"><tr><td><b>Parameter</b></td><td><b>Expression</b></td><td><b>Value</b></td></tr><tr><td>Block_Documentation</td><td>Enter User Documentation Here</td><td>Enter User Documentation Here</td></tr><tr><td>Expression_List</td><td>input.Task_Source = &quot;Node_1&quot;\\ninput.Task_Hop = &quot;Node_1&quot;\\ninput.Task_Destination = &quot;Gateway_3&quot;\\ninput.DELTA = TNow</td><td>input.Task_Source = &quot;Node_1&quot;\\ninput.Task_Hop = &quot;Node_1&quot;\\ninput.Task_Destination = &quot;Gateway_3&quot;\\ninput.DELTA = TNow</td></tr><tr><td>Output_Ports</td><td>output</td><td>&quot;output&quot;</td></tr><tr><td>Output_Values</td><td>input</td><td>&quot;input&quot;</td></tr><tr><td>Output_Conditions</td><td>true</td><td>&quot;true&quot;</td></tr></table> <h2>Workload</h2><table border="1"><tr><td><b>Parameter</b></td><td><b>Expression</b></td><td><b>Value</b></td></tr><tr><td>Block_Documentation</td><td>Enter User Documentation Here</td><td>Enter User Documentation Here</td></tr><tr><td>Task_Rate</td><td>TaskTime * 1.0</td><td>10.0</td></tr><tr><td>CPU_Time_Str</td><td>&quot;6.0&quot;</td><td>&quot;6.0&quot;</td></tr><tr><td>TaskTime</td><td>10.0</td><td>10.0</td></tr><tr><td>Sim_Time</td><td>SimTime</td><td>5000.0</td></tr><tr><td>Number_of_CPUs</td><td>&quot;2&quot;</td><td>&quot;2&quot;</td></tr></table> <h2>Virtual_Machine</h2><table border="1"><tr><td><b>Parameter</b></td><td><b>Expression</b></td><td><b>Value</b></td></tr><tr><td>Block_Documentation</td><td>Enter User Documentation Here</td><td>Enter User Documentation Here</td></tr><tr><td>Block_Name</td><td>&quot;MyMachine2&quot;</td><td>&quot;MyMachine2&quot;</td></tr><tr><td>Optional_Parameters</td><td>/* First row contains Column Names.              */\\nParameter_Name                 Parameter_Value  \\nPath                           none             \\nRead_File                      none             \\nSelf_Start                     false            \\nParam_Script                   none             \\nListen_to_File                 none             \\nDuplicate_Input                true             \\nProfile                        0                \\nProfile_File                   none             \\nMaximum_Loops                  1000000          \\nBlock_Reference                Block_Name       \\nPort_Order_Array               {&quot;input&quot;}      \\n</td><td>/* First row contains Column Names.              */\\nParameter_Name                 Parameter_Value  \\nPath                           none             \\nRead_File                      none             \\nSelf_Start                     false            \\nParam_Script                   none             \\nListen_to_File                 none             \\nDuplicate_Input                true             \\nProfile                        0                \\nProfile_File                   none             \\nMaximum_Loops                  1000000          \\nBlock_Reference                Block_Name       \\nPort_Order_Array               {&quot;input&quot;}      \\n</td></tr></table> <h2>SingleEvent</h2><table border="1"><tr><td><b>Parameter</b></td><td><b>Expression</b></td><td><b>Value</b></td></tr><tr><td>Block_Documentation</td><td>Enter User Documentation Here</td><td>Enter User Documentation Here</td></tr><tr><td>_explanation</td><td>Source-&gt;Event-&gt;SingleEvent\t</td><td>Source-&gt;Event-&gt;SingleEvent\t</td></tr><tr><td>time</td><td>1.0E-10</td><td>1.0E-10</td></tr><tr><td>value</td><td>1</td><td>1</td></tr></table> <h2>NODE_Master</h2><table border="1"><tr><td><b>Parameter</b></td><td><b>Expression</b></td><td><b>Value</b></td></tr><tr><td>Block_Documentation</td><td>Enter User Documentation Here</td><td>Enter User Documentation Here</td></tr><tr><td>Routing_Table_Name</td><td>&quot;RT&quot;</td><td>&quot;RT&quot;</td></tr><tr><td>Link_Src_Des_Dist_BW</td><td>&quot;Src_Fld, Des_Fld, BW_Fld, Dis_Fld&quot;</td><td>&quot;Src_Fld, Des_Fld, BW_Fld, Dis_Fld&quot;</td></tr><tr><td>Dynamic_Routing</td><td>New_Routing_Table</td><td>New_Routing_Table</td></tr></table> <h2>Database</h2><table border="1"><tr><td><b>Parameter</b></td><td><b>Expression</b></td><td><b>Value</b></td></tr><tr><td>Block_Documentation</td><td>*.xml, *.csv files abs or rel (./) path\\n  -- *.csv real columns set to number\\nInput_Fields == Lookup_Fields (num, type)\\nOutput_Expr: match, match_last, match_all\\n  -- match_all.field not allowed</td><td>*.xml, *.csv files abs or rel (./) path\\n  -- *.csv real columns set to number\\nInput_Fields == Lookup_Fields (num, type)\\nOutput_Expr: match, match_last, match_all\\n  -- match_all.field not allowed</td></tr><tr><td>Linking_Name</td><td>&quot;RT&quot;</td><td>&quot;RT&quot;</td></tr><tr><td>fileOrURL</td><td>&nbsp;</td><td>&quot;&quot;</td></tr><tr><td>Data_Structure_Text</td><td>/* Text Template or File Path.       \\n   First row contains Field Names. */\\nID Source_Node     Destination_Node  Distance  Speed_Mbps ;       \\n 0 Node_1          Node_2            10.0      100.0      ; \\n 1 Node_2          Gateway_3         10.0      100.0      ;      \\n 2 Gateway_3       Node_1            10.0      100.0      ;      \\n\\n</td><td>/* Text Template or File Path.       \\n   First row contains Field Names. */\\nID Source_Node     Destination_Node  Distance  Speed_Mbps ;       \\n 0 Node_1          Node_2            10.0      100.0      ; \\n 1 Node_2          Gateway_3         10.0      100.0      ;      \\n 2 Gateway_3       Node_1            10.0      100.0      ;      \\n\\n</td></tr><tr><td>Input_Fields</td><td>&quot;Source_Node&quot;</td><td>&quot;Source_Node&quot;</td></tr><tr><td>Lookup_Fields</td><td>&quot;Source_Node&quot;</td><td>&quot;Source_Node&quot;</td></tr><tr><td>Output_Expression</td><td>&quot;output = match&quot; /* FORMAT output = match.fieldb */</td><td>&quot;output = match&quot;</td></tr><tr><td>Mode</td><td>Read</td><td>Read</td></tr></table> <h2>NODE3</h2><table border="1"><tr><td><b>Parameter</b></td><td><b>Expression</b></td><td><b>Value</b></td></tr><tr><td>Block_Documentation</td><td>Enter User Documentation Here</td><td>Enter User Documentation Here</td></tr><tr><td>Node_Name</td><td>&quot;Gateway_3&quot;</td><td>&quot;Gateway_3&quot;</td></tr><tr><td>Routing_Table_Name</td><td>&quot;RT&quot;</td><td>&quot;RT&quot;</td></tr><tr><td>Gateway_Node</td><td>true</td><td>true</td></tr></table> <h2>NODE2</h2><table border="1"><tr><td><b>Parameter</b></td><td><b>Expression</b></td><td><b>Value</b></td></tr><tr><td>Block_Documentation</td><td>Enter User Documentation Here</td><td>Enter User Documentation Here</td></tr><tr><td>Node_Name</td><td>&quot;Node_2&quot;</td><td>&quot;Node_2&quot;</td></tr><tr><td>Routing_Table_Name</td><td>&quot;RT&quot;</td><td>&quot;RT&quot;</td></tr></table> <h2>NODE1</h2><table border="1"><tr><td><b>Parameter</b></td><td><b>Expression</b></td><td><b>Value</b></td></tr><tr><td>Block_Documentation</td><td>Enter User Documentation Here</td><td>Enter User Documentation Here</td></tr><tr><td>Node_Name</td><td>&quot;Node_1&quot;</td><td>&quot;Node_1&quot;</td></tr><tr><td>Routing_Table_Name</td><td>&quot;RT&quot;</td><td>&quot;RT&quot;</td></tr><tr><td>Gateway_Node</td><td>false</td><td>false</td></tr></table> <h2>Layer_MAC3</h2><table border="1"><tr><td><b>Parameter</b></td><td><b>Expression</b></td><td><b>Value</b></td></tr><tr><td>Block_Documentation</td><td>Enter User Documentation Here</td><td>Enter User Documentation Here</td></tr><tr><td>Layer_Name</td><td>&quot;MAC3&quot;</td><td>&quot;MAC3&quot;</td></tr><tr><td>Node_Name</td><td>&quot;Gateway_3&quot;</td><td>&quot;Gateway_3&quot;</td></tr><tr><td>Layer_Table_Name</td><td>&quot;LT&quot;</td><td>&quot;LT&quot;</td></tr></table> <h2>Layer_MAC2</h2><table border="1"><tr><td><b>Parameter</b></td><td><b>Expression</b></td><td><b>Value</b></td></tr><tr><td>Block_Documentation</td><td>Enter User Documentation Here</td><td>Enter User Documentation Here</td></tr><tr><td>Layer_Name</td><td>&quot;MAC2&quot;</td><td>&quot;MAC2&quot;</td></tr><tr><td>Node_Name</td><td>&quot;Node_2&quot;</td><td>&quot;Node_2&quot;</td></tr><tr><td>Layer_Table_Name</td><td>&quot;LT&quot;</td><td>&quot;LT&quot;</td></tr></table> <h2>Layer_MAC</h2><table border="1"><tr><td><b>Parameter</b></td><td><b>Expression</b></td><td><b>Value</b></td></tr><tr><td>Block_Documentation</td><td>Enter User Documentation Here</td><td>Enter User Documentation Here</td></tr><tr><td>Layer_Name</td><td>&quot;MAC&quot;</td><td>&quot;MAC&quot;</td></tr><tr><td>Node_Name</td><td>&quot;Node_1&quot;</td><td>&quot;Node_1&quot;</td></tr><tr><td>Layer_Table_Name</td><td>&quot;LT&quot;</td><td>&quot;LT&quot;</td></tr></table> <h2>Layer_IP3</h2><table border="1"><tr><td><b>Parameter</b></td><td><b>Expression</b></td><td><b>Value</b></td></tr><tr><td>Block_Documentation</td><td>Enter User Documentation Here</td><td>Enter User Documentation Here</td></tr><tr><td>Layer_Name</td><td>&quot;IP3&quot;</td><td>&quot;IP3&quot;</td></tr><tr><td>Node_Name</td><td>&quot;Gateway_3&quot;</td><td>&quot;Gateway_3&quot;</td></tr><tr><td>Layer_Table_Name</td><td>&quot;LT3&quot;</td><td>&quot;LT3&quot;</td></tr></table> <h2>Layer_IP2</h2><table border="1"><tr><td><b>Parameter</b></td><td><b>Expression</b></td><td><b>Value</b></td></tr><tr><td>Block_Documentation</td><td>Enter User Documentation Here</td><td>Enter User Documentation Here</td></tr><tr><td>Layer_Name</td><td>&quot;IP2&quot;</td><td>&quot;IP2&quot;</td></tr><tr><td>Node_Name</td><td>&quot;Node_2&quot;</td><td>&quot;Node_2&quot;</td></tr><tr><td>Layer_Table_Name</td><td>&quot;LT2&quot;</td><td>&quot;LT2&quot;</td></tr></table> <h2>Layer_IP</h2><table border="1"><tr><td><b>Parameter</b></td><td><b>Expression</b></td><td><b>Value</b></td></tr><tr><td>Block_Documentation</td><td>Enter User Documentation Here</td><td>Enter User Documentation Here</td></tr><tr><td>Layer_Name</td><td>&quot;IP&quot;</td><td>&quot;IP&quot;</td></tr><tr><td>Node_Name</td><td>&quot;Node_1&quot;</td><td>&quot;Node_1&quot;</td></tr><tr><td>Layer_Table_Name</td><td>&quot;LT2&quot;</td><td>&quot;LT2&quot;</td></tr></table> <h2>VM_Get_Stats</h2><table border="1"><tr><td><b>Parameter</b></td><td><b>Expression</b></td><td><b>Value</b></td></tr><tr><td>Block_Documentation</td><td>Enter User Documentation Here</td><td>Enter User Documentation Here</td></tr><tr><td>Block_Name</td><td>&quot;MyMachine&quot;</td><td>&quot;MyMachine&quot;</td></tr><tr><td>Optional_Parameters</td><td>/* First row contains Column Names.              */\\nParameter_Name                 Parameter_Value  \\nPath                           none             \\nRead_File                      none             \\nSelf_Start                     false            \\nParam_Script                   none             \\nListen_to_File                 none             \\nDuplicate_Input                true             \\nProfile                        0                \\nProfile_File                   none             \\nMaximum_Loops                  1000000          \\nBlock_Reference                Block_Name       \\nPort_Order_Array               {&quot;input&quot;}      \\n</td><td>/* First row contains Column Names.              */\\nParameter_Name                 Parameter_Value  \\nPath                           none             \\nRead_File                      none             \\nSelf_Start                     false            \\nParam_Script                   none             \\nListen_to_File                 none             \\nDuplicate_Input                true             \\nProfile                        0                \\nProfile_File                   none             \\nMaximum_Loops                  1000000          \\nBlock_Reference                Block_Name       \\nPort_Order_Array               {&quot;input&quot;}      \\n</td></tr><tr><td>Layer_List</td><td>{&quot;IP&quot;,&quot;MAC&quot;}</td><td>{&quot;IP&quot;, &quot;MAC&quot;}</td></tr><tr><td>Number_Nodes</td><td>3</td><td>3</td></tr></table> <h2>Latency</h2><table border="1"><tr><td><b>Parameter</b></td><td><b>Expression</b></td><td><b>Value</b></td></tr><tr><td>Block_Documentation</td><td>Enter User Documentation Here</td><td>Enter User Documentation Here</td></tr><tr><td>fillOnWrapup</td><td>true</td><td>true</td></tr><tr><td>legend</td><td>&nbsp;</td><td>&nbsp;</td></tr><tr><td>startingDataset</td><td>0</td><td>0</td></tr><tr><td>fileName</td><td>Enter Filename to save plot</td><td>&quot;Enter Filename to save plot&quot;</td></tr><tr><td>viewPlot</td><td>true</td><td>true</td></tr><tr><td>savePlot</td><td>false</td><td>false</td></tr></table> <h2>xTimeyDataPlot</h2><table border="1"><tr><td><b>Parameter</b></td><td><b>Expression</b></td><td><b>Value</b></td></tr><tr><td>Block_Documentation</td><td>Enter User Documentation Here</td><td>Enter User Documentation Here</td></tr><tr><td>fillOnWrapup</td><td>true</td><td>true</td></tr><tr><td>legend</td><td>&nbsp;</td><td>&nbsp;</td></tr><tr><td>startingDataset</td><td>0</td><td>0</td></tr><tr><td>fileName</td><td>Enter Filename to save plot</td><td>&quot;Enter Filename to save plot&quot;</td></tr><tr><td>viewPlot</td><td>true</td><td>true</td></tr><tr><td>savePlot</td><td>false</td><td>false</td></tr></table> <h2>Routing_Table</h2><table border="1"><tr><td><b>Parameter</b></td><td><b>Expression</b></td><td><b>Value</b></td></tr><tr><td>Block_Documentation</td><td>Enter User Documentation Here</td><td>Enter User Documentation Here</td></tr><tr><td>Routing_Table_DB</td><td>&quot;Routing_Table_DB&quot;</td><td>&quot;Routing_Table_DB&quot;</td></tr><tr><td>Routing_Table_Name</td><td>RT</td><td>&quot;RT&quot;</td></tr><tr><td>Propagation_Constant_C</td><td>1.0</td><td>1.0</td></tr><tr><td>Message_Names</td><td>{&quot;Retry&quot;, &quot;Request&quot;, &quot;Acknowledge&quot;}</td><td>{&quot;Retry&quot;, &quot;Request&quot;, &quot;Acknowledge&quot;}</td></tr><tr><td>Message_Bytes</td><td>{16, 16, 16}</td><td>{16, 16, 16}</td></tr><tr><td>NODEs_in_Model</td><td>true</td><td>true</td></tr><tr><td>Routing_Algorithm</td><td>Dijkstra</td><td>Dijkstra</td></tr><tr><td>Routing_Algorithm_Cost</td><td>Number_of_Hops</td><td>Number_of_Hops</td></tr><tr><td>Routing_Latencies</td><td>Length_in_meters</td><td>Length_in_meters</td></tr></table> <h2>Layer_Table3</h2><table border="1"><tr><td><b>Parameter</b></td><td><b>Expression</b></td><td><b>Value</b></td></tr><tr><td>Block_Documentation</td><td>Enter User Documentation Here</td><td>Enter User Documentation Here</td></tr><tr><td>Layer_Table_Name</td><td>&quot;LT3&quot;</td><td>&quot;LT3&quot;</td></tr><tr><td>Layer_Number</td><td>2</td><td>2</td></tr><tr><td>Layer_MBytes_Sec</td><td>100.0</td><td>100.0</td></tr><tr><td>Layer_Frame_Size_Bytes</td><td>128</td><td>128</td></tr><tr><td>Layer_Header_Trailer_Bytes</td><td>16</td><td>16</td></tr><tr><td>Layer_Queue_Size_Frames</td><td>64</td><td>64</td></tr><tr><td>Layer_Retry_Probability</td><td>LT3_Retry_Prob</td><td>0.2</td></tr><tr><td>Up_Retransmissions</td><td>8</td><td>8</td></tr><tr><td>Up_Internal_Delay</td><td>1.0</td><td>1.0</td></tr><tr><td>Dn_Internal_Delay</td><td>1.0</td><td>1.0</td></tr><tr><td>Layer_Configuration</td><td>Internal_Delay</td><td>Internal_Delay</td></tr><tr><td>Dn_Retransmissions</td><td>8</td><td>8</td></tr></table> <h2>Layer_Table2</h2><table border="1"><tr><td><b>Parameter</b></td><td><b>Expression</b></td><td><b>Value</b></td></tr><tr><td>Block_Documentation</td><td>Enter User Documentation Here</td><td>Enter User Documentation Here</td></tr><tr><td>Layer_Table_Name</td><td>&quot;LT2&quot;</td><td>&quot;LT2&quot;</td></tr><tr><td>Layer_Number</td><td>2</td><td>2</td></tr><tr><td>Layer_MBytes_Sec</td><td>100.0</td><td>100.0</td></tr><tr><td>Layer_Frame_Size_Bytes</td><td>128</td><td>128</td></tr><tr><td>Layer_Header_Trailer_Bytes</td><td>16</td><td>16</td></tr><tr><td>Layer_Queue_Size_Frames</td><td>64</td><td>64</td></tr><tr><td>Layer_Retry_Probability</td><td>0.2</td><td>0.2</td></tr><tr><td>Up_Retransmissions</td><td>8</td><td>8</td></tr><tr><td>Up_Internal_Delay</td><td>1.0</td><td>1.0</td></tr><tr><td>Dn_Internal_Delay</td><td>1.0</td><td>1.0</td></tr><tr><td>Layer_Configuration</td><td>Internal_Delay</td><td>Internal_Delay</td></tr><tr><td>Dn_Retransmissions</td><td>8</td><td>8</td></tr></table> <h2>Layer_Table</h2><table border="1"><tr><td><b>Parameter</b></td><td><b>Expression</b></td><td><b>Value</b></td></tr><tr><td>Block_Documentation</td><td>Enter User Documentation Here</td><td>Enter User Documentation Here</td></tr><tr><td>Layer_Table_Name</td><td>&quot;LT&quot;</td><td>&quot;LT&quot;</td></tr><tr><td>Layer_Number</td><td>1</td><td>1</td></tr><tr><td>Layer_MBytes_Sec</td><td>100.0</td><td>100.0</td></tr><tr><td>Layer_Frame_Size_Bytes</td><td>128</td><td>128</td></tr><tr><td>Layer_Header_Trailer_Bytes</td><td>16</td><td>16</td></tr><tr><td>Layer_Queue_Size_Frames</td><td>64</td><td>64</td></tr><tr><td>Layer_Retry_Probability</td><td>0.0</td><td>0.0</td></tr><tr><td>Up_Retransmissions</td><td>8</td><td>8</td></tr><tr><td>Up_Internal_Delay</td><td>2.5</td><td>2.5</td></tr><tr><td>Dn_Internal_Delay</td><td>1.0</td><td>1.0</td></tr><tr><td>Layer_Configuration</td><td>Internal_Delay</td><td>Internal_Delay</td></tr><tr><td>Dn_Retransmissions</td><td>8</td><td>8</td></tr></table>

MAC/IP Performance at varying Retransmission rates

For a basic understanding of the Network SmartBlocks, view the Route Optimization Demonstration Systems.  This model is an enhancement of the Route Optimization system.  A key element of systems engineering is to provide boundaries or constraints for the protocols and algorithm developers to design and implement their functional characteristics.  In the Route Optimization System, the analysis did not consider the effects of the layers of the protocol.  Here the effects of the upper layers and the routing algorithms are evaluated.  Here the details of the MAC and IP layer are specified.  In this model, the latency, overhead, fragmentation, assembly and buffering required to implement the MAC and IP layers are considered.   

Project Objectives

The model evaluates the utilization of the protocol layers for various retransmission rates.  The following analysis are performed:
The analysis reports generated are:

Capabilities Demonstrated

This Model demonstrates the flexible Layer_Protocol block coupled with the NODE routing blocks to implement a simple three node network. The intent of the model is to show that a single Layer_Protocol block can be used to implement different layers in a network, using the seven layer OSI concept. Packets entering a node at the IP layer, add header and trailer overhead bytes, process packets based on the processor speed setting of the layer (one processor for both up and down), and assmeble and disassemble packets according to settings of the Layer_Table block.

The Layer_Table block consolidates the settings for multiple layers in a network model, to save user input time, and maintain a single reference for the MAC layer. If a slightly different definition is required for a particular layer, to model a different equipment, then just that  layer can reference a different Layer_Table.

The Layer_Protocol blocks are 'connectionless' between layers and NODE blocks to save user entry of all the repetitive connections. If 'connected' style was adopted, then each layer block would need four additional ports, for example.

The model sends packets from the upper left to the lower right node, with the probablility of retransmission set above zero for the "IP3" layer. It retransmits a small packet to the source, in this case the originating Node_1. The user can set the source node to the last node, simply by changing the Source field in the data structure to the name of the last node.

In the output one will see how several packet IDs have been delayed, due to retransmission.

Model Statistics

Number of uniques blocks required to create the model = 10 (2 are incremental to the Route Optimization System)
Time to do the initial model construction = 6 hours
Model analysis and refinement = 1 days
Documentation = 1 day

Model Construction

This model contains three (3) Nodes connected together on a network in the form of a loop. Each Node contains the definition for a protocol layers of MAC and IP.  The definition of the MAC and IP layers are provided using the Layer Block.  The Workload is maintained same as that of the Route Optimization System.    

Results

The key attribute that is studied is the retransmission probability.  This is a parameter in the model and can be modified by double-clicking on the background of the model.  There are two results that are published-Layer statistics for the MAC and IP layers of the Node 3 and
packet arrival time at Node 3.