SysML

Mapping SysML to a performance analysis model for Model-based System Simulation

TollRoad__PPC_Processor_V6

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.
TollRoad__PPC_Processor_V6model <h2>MeanSpeed_Report</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>CongestionLevel_Report</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>ImageCaptureDne?2</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>Port_Arrival_Order</td><td>Input_or_Control_First</td><td>Input_or_Control_First</td></tr></table> <h2>IN4</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>Destination_Name</td><td>EntryCamDne</td><td>&quot;EntryCamDne&quot;</td></tr><tr><td>Destination_Type</td><td>Global</td><td>Global</td></tr><tr><td>_hideName</td><td>true</td><td>true</td></tr></table> <h2>IN3</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>Destination_Name</td><td>ExitCamDne</td><td>&quot;ExitCamDne&quot;</td></tr><tr><td>Destination_Type</td><td>Global</td><td>Global</td></tr><tr><td>_hideName</td><td>true</td><td>true</td></tr></table> <h2>ImageCaptureDne?</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>Port_Arrival_Order</td><td>Input_or_Control_First</td><td>Input_or_Control_First</td></tr></table> <h2>CameraclickTime2</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>Parent_Scheduler_Name</td><td>&quot;ExitCamera&quot;</td><td>&quot;&quot;ExitCamera&quot;&quot;</td></tr><tr><td>Task_Number</td><td>1</td><td>&quot;1&quot;</td></tr><tr><td>Task_Priority</td><td>0</td><td>&quot;0&quot;</td></tr><tr><td>Task_Time</td><td>CaptureSpeed</td><td>&quot;CaptureSpeed&quot;</td></tr><tr><td>Task_Plot_ID</td><td>1</td><td>1</td></tr></table> <h2>CameraclickTime</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>Parent_Scheduler_Name</td><td>&quot;EntryCamera&quot;</td><td>&quot;&quot;EntryCamera&quot;&quot;</td></tr><tr><td>Task_Number</td><td>1</td><td>&quot;1&quot;</td></tr><tr><td>Task_Priority</td><td>0</td><td>&quot;0&quot;</td></tr><tr><td>Task_Time</td><td>CaptureSpeed</td><td>&quot;CaptureSpeed&quot;</td></tr><tr><td>Task_Plot_ID</td><td>1</td><td>1</td></tr></table> <h2>Parameter_Gen</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>Fork</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>_hideName</td><td>true</td><td>true</td></tr></table> <h2>VehicleSetup</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.EntryTime = TNow\\ninput.ID = VehicleID + 1</td><td>input.EntryTime = TNow\\ninput.ID = VehicleID + 1</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>SpeedProgram</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>Join</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>HardwarePlatform</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>PPC750_Speed_MHz</td><td>PPC750_Speed_MHz</td><td>400.0</td></tr><tr><td>Processor_Bus_Speed_MHz</td><td>Bus_Speed_MHz</td><td>240.0</td></tr><tr><td>Memory_Speed_MHz</td><td>Memory_Speed_MHz</td><td>350.0</td></tr><tr><td>SimTime</td><td>100000</td><td>100000</td></tr></table> <h2>EntrytakePicture</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>/* Template to enter multiple RegEx lines*/\\nnewds = merge(input,newToken(&quot;Processor_DS&quot;))\\nnewds.ID          = input.ID\\nnewds.Pixel_Size  = Image_Width * Image_Height * Bytes_Per_Pixel\\nnewds.A_Bytes      = newds.Pixel_Size</td><td>/* Template to enter multiple RegEx lines*/\\nnewds = merge(input,newToken(&quot;Processor_DS&quot;))\\nnewds.ID          = input.ID\\nnewds.Pixel_Size  = Image_Width * Image_Height * Bytes_Per_Pixel\\nnewds.A_Bytes      = newds.Pixel_Size</td></tr><tr><td>Output_Ports</td><td>output</td><td>&quot;output&quot;</td></tr><tr><td>Output_Values</td><td>newds</td><td>&quot;newds&quot;</td></tr><tr><td>Output_Conditions</td><td>true</td><td>&quot;true&quot;</td></tr></table> <h2>ExittakePicture</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>/* Template to enter multiple RegEx lines*/\\nnewds          = merge(input,newToken(&quot;Processor_DS&quot;))\\nnewds.ID          = input.ID\\nnewds.Pixel_Size  = Image_Width * Image_Height * Bytes_Per_Pixel\\nnewds.A_Bytes      = newds.Pixel_Size \\n</td><td>/* Template to enter multiple RegEx lines*/\\nnewds          = merge(input,newToken(&quot;Processor_DS&quot;))\\nnewds.ID          = input.ID\\nnewds.Pixel_Size  = Image_Width * Image_Height * Bytes_Per_Pixel\\nnewds.A_Bytes      = newds.Pixel_Size \\n</td></tr><tr><td>Output_Ports</td><td>output</td><td>&quot;output&quot;</td></tr><tr><td>Output_Values</td><td>newds</td><td>&quot;newds&quot;</td></tr><tr><td>Output_Conditions</td><td>true</td><td>&quot;true&quot;</td></tr></table> <h2>updateMeanSpeed</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>Meanspeed = TollRoadDistance/(input.ExitTime - input.EntryTime)\\n</td><td>Meanspeed = TollRoadDistance/(input.ExitTime - input.EntryTime)\\n</td></tr><tr><td>Output_Ports</td><td>output</td><td>&quot;output&quot;</td></tr><tr><td>Output_Values</td><td>Meanspeed</td><td>&quot;Meanspeed&quot;</td></tr><tr><td>Output_Conditions</td><td>true</td><td>&quot;true&quot;</td></tr></table> <h2>IN2</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>Destination_Name</td><td>exitSnapshot</td><td>&quot;exitSnapshot&quot;</td></tr><tr><td>Destination_Type</td><td>Local</td><td>Local</td></tr></table> <h2>VehicleLeavingCounter</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>/* Template to enter multiple RegEx lines*/\\n\\n\\nVehicleCount      = VehicleCount - 1\\ninput.Ethernet_Delay = input.A_Bytes * (Ethernet_Length/Ethernet_Bit_Rate) </td><td>/* Template to enter multiple RegEx lines*/\\n\\n\\nVehicleCount      = VehicleCount - 1\\ninput.Ethernet_Delay = input.A_Bytes * (Ethernet_Length/Ethernet_Bit_Rate) </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>VehicleLeaving</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.ExitTime = TNow</td><td>input.ExitTime = 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>exitSnapshot</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>Destination_Name</td><td>exitSnapshot</td><td>&quot;exitSnapshot&quot;</td></tr><tr><td>Destination_Type</td><td>Local</td><td>Local</td></tr></table> <h2>DrivingTime</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>&quot;DrivingTime&quot;</td><td>&quot;&quot;DrivingTime&quot;&quot;</td></tr></table> <h2>updateCongestionLevel</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>Congestion = (VehicleCount &gt; CongestionLevel)?TRUE:FALSE\\n\\n\\n</td><td>Congestion = (VehicleCount &gt; CongestionLevel)?TRUE:FALSE\\n\\n\\n</td></tr><tr><td>Output_Ports</td><td>output</td><td>&quot;output&quot;</td></tr><tr><td>Output_Values</td><td>VehicleCount</td><td>&quot;VehicleCount&quot;</td></tr><tr><td>Output_Conditions</td><td>true</td><td>&quot;true&quot;</td></tr></table> <h2>CongestionProgram</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>VariableList</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>Memory_Init_Text</td><td>/* Memory Initialize Template          \\nName          Type          Value     */\\nCongestion\tlocal\t\tFalse\t;\\nVehicleCount\tlocal\t\t0\t;\\nVehicleID\tlocal\t\t0\t;\\nMeanspeed\tlocal\t\t0.0\t;</td><td>/* Memory Initialize Template          \\nName          Type          Value     */\\nCongestion\tlocal\t\tFalse\t;\\nVehicleCount\tlocal\t\t0\t;\\nVehicleID\tlocal\t\t0\t;\\nMeanspeed\tlocal\t\t0.0\t;</td></tr></table> <h2>IN</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>Destination_Name</td><td>entrySnapshot</td><td>&quot;entrySnapshot&quot;</td></tr><tr><td>Destination_Type</td><td>Local</td><td>Local</td></tr></table> <h2>entrySnapshot</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>Destination_Name</td><td>entrySnapshot</td><td>&quot;entrySnapshot&quot;</td></tr><tr><td>Destination_Type</td><td>Local</td><td>Local</td></tr></table> <h2>:Vehicles</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>v->roadclosed():</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>&nbsp;</td><td>&nbsp;</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>false</td><td>false</td></tr></table> <h2>Control</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>/* Template to enter multiple RegEx lines*/\\nResult_A = &quot;Road Closed. Car Blocked @ Time:  &quot; + TNow\\n</td><td>/* Template to enter multiple RegEx lines*/\\nResult_A = &quot;Road Closed. Car Blocked @ Time:  &quot; + TNow\\n</td></tr><tr><td>Output_Ports</td><td>output,Closed</td><td>&quot;output,Closed&quot;</td></tr><tr><td>Output_Values</td><td>input,Result_A</td><td>&quot;input,Result_A&quot;</td></tr><tr><td>Output_Conditions</td><td>!Congestion,Congestion</td><td>&quot;!Congestion,Congestion&quot;</td></tr></table> <h2>MoreVehicles</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>FiveCarLoop</td><td>&quot;FiveCarLoop&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>VehicleComing</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>Data_Structure_Text</td><td>/* Text Template or File Path.       \\n   First row contains Field Names. */\\nID\tDrivingTime\tEntryTime\tExitTime\t;\\n1\t10.0\t        2.0\t\t0.0\t\t;\\n2\t12.0\t\t3.0\t\t0.0\t\t;\\n3\t 8.0\t\t5.0\t\t0.0\t\t;\\n4\t14.0\t\t1.0\t\t0.0\t\t;\\n5\t16.0\t\t4.0\t\t0.0\t\t;\t</td><td>/* Text Template or File Path.       \\n   First row contains Field Names. */\\nID\tDrivingTime\tEntryTime\tExitTime\t;\\n1\t10.0\t        2.0\t\t0.0\t\t;\\n2\t12.0\t\t3.0\t\t0.0\t\t;\\n3\t 8.0\t\t5.0\t\t0.0\t\t;\\n4\t14.0\t\t1.0\t\t0.0\t\t;\\n5\t16.0\t\t4.0\t\t0.0\t\t;\t</td></tr><tr><td>Time_Field</td><td>&quot;EntryTime&quot;</td><td>&quot;EntryTime&quot;</td></tr><tr><td>Probability_Field</td><td>&quot;Field_Name_or_None&quot;</td><td>&quot;Field_Name_or_None&quot;</td></tr><tr><td>Output_Expression</td><td>&quot;trigger = traffic&quot; /* FORMAT trigger.fld1 = traffic.fld2 */</td><td>&quot;trigger = traffic&quot;</td></tr></table> <h2>InitVehicle</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>Initial_Value</td><td>0</td><td>0</td></tr><tr><td>Initial_Order</td><td>0</td><td>0</td></tr></table> <h2>VehicleEnteringCounter</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>/* Template to enter multiple RegEx lines*/\\n\\n\\nVehicleCount         = VehicleCount + 1\\ninput.Ethernet_Delay = input.A_Bytes * (Ethernet_Length/Ethernet_Bit_Rate) </td><td>/* Template to enter multiple RegEx lines*/\\n\\n\\nVehicleCount         = VehicleCount + 1\\ninput.Ethernet_Delay = input.A_Bytes * (Ethernet_Length/Ethernet_Bit_Rate) </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>

This is an example shipped with Rhapsody from IBM as a tutorial. The model shows how you can recreate the same use-case and then map it to an implementation architecture that contains the hardware, software and network