Bug 562793: Add blocking test, update shareconst and corresponding model

Change-Id: Ib2c3b577967ec4e367db8ebd9de99a17c402cc7c
Signed-off-by: The Bao Bui <ZeroVNB@Gmail.com>
diff --git a/eclipse-tools/responseTime-analyzer/plugins/org.eclipse.app4mc.gsoc_rta/model-input/ChallengeModelZero.amxmi b/eclipse-tools/responseTime-analyzer/plugins/org.eclipse.app4mc.gsoc_rta/model-input/ChallengeModelZero.amxmi
new file mode 100644
index 0000000..416af72
--- /dev/null
+++ b/eclipse-tools/responseTime-analyzer/plugins/org.eclipse.app4mc.gsoc_rta/model-input/ChallengeModelZero.amxmi
@@ -0,0 +1,934 @@
+<?xml version="1.0" encoding="UTF-8"?>

+<am:Amalthea xmlns:am="http://app4mc.eclipse.org/amalthea/0.9.8" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmi:version="2.0">

+  <swModel>

+    <tasks name="OS_Overhead" stimuli="periodic_100ms?type=PeriodicStimulus" preemption="preemptive" multipleTaskActivationLimit="0">

+      <activityGraph>

+        <items xsi:type="am:Group" name="CallSequence" ordered="true">

+          <items xsi:type="am:RunnableCall" runnable="OS_Ops_Function?type=Runnable" />

+          <items xsi:type="am:RunnableCall" runnable="AsyncOffloadingCosts?type=Runnable" />

+        </items>

+      </activityGraph>

+    </tasks>

+    <tasks name="Lidar_Grabber" stimuli="periodic_33ms?type=PeriodicStimulus" preemption="preemptive" multipleTaskActivationLimit="0">

+      <activityGraph>

+        <items xsi:type="am:Group" name="CallSequence" ordered="true">

+          <items xsi:type="am:RunnableCall" runnable="Lidar_Function?type=Runnable" />

+        </items>

+      </activityGraph>

+    </tasks>

+    <tasks name="DASM" stimuli="periodic_5ms?type=PeriodicStimulus" preemption="preemptive" multipleTaskActivationLimit="0">

+      <activityGraph>

+        <items xsi:type="am:Group" name="CallSequence" ordered="true">

+          <items xsi:type="am:RunnableCall" runnable="DASM_Function?type=Runnable" />

+        </items>

+      </activityGraph>

+    </tasks>

+    <tasks name="CANbus_polling" stimuli="periodic_10ms?type=PeriodicStimulus" preemption="preemptive" multipleTaskActivationLimit="0">

+      <activityGraph>

+        <items xsi:type="am:Group" name="CallSequence" ordered="true">

+          <items xsi:type="am:RunnableCall" runnable="CAN_Function?type=Runnable" />

+        </items>

+      </activityGraph>

+    </tasks>

+    <tasks name="EKF" stimuli="periodic_15ms?type=PeriodicStimulus" preemption="preemptive" multipleTaskActivationLimit="0">

+      <activityGraph>

+        <items xsi:type="am:Group" name="CallSequence" ordered="true">

+          <items xsi:type="am:RunnableCall" runnable="EKF_Function?type=Runnable" />

+        </items>

+      </activityGraph>

+    </tasks>

+    <tasks name="Planner" stimuli="periodic_12ms?type=PeriodicStimulus" preemption="preemptive" multipleTaskActivationLimit="0">

+      <activityGraph>

+        <items xsi:type="am:Group" name="CallSequence" ordered="true">

+          <items xsi:type="am:RunnableCall" runnable="Planner_Function?type=Runnable" />

+        </items>

+      </activityGraph>

+    </tasks>

+    <tasks name="PRE_SFM_gpu_POST" stimuli="periodic_33ms?type=PeriodicStimulus" preemption="preemptive" multipleTaskActivationLimit="0">

+      <activityGraph>

+        <items xsi:type="am:Group" name="CallSequence" ordered="true">

+          <items xsi:type="am:RunnableCall" runnable="SFM_Preprocessing?type=Runnable" />

+          <items xsi:type="am:InterProcessTrigger" stimulus="SFM_stim?type=InterProcessStimulus" />

+          <items xsi:type="am:WaitEvent" waitingBehaviour="active">

+            <eventMask events="SFM?type=OsEvent" />

+          </items>

+          <items xsi:type="am:ClearEvent">

+            <eventMask events="SFM?type=OsEvent" />

+          </items>

+          <items xsi:type="am:RunnableCall" runnable="SFM_Postprocessing?type=Runnable" />

+        </items>

+      </activityGraph>

+    </tasks>

+    <tasks name="PRE_Localization_gpu_POST" stimuli="periodic_400ms?type=PeriodicStimulus" preemption="preemptive" multipleTaskActivationLimit="0">

+      <activityGraph>

+        <items xsi:type="am:Group" name="CallSequence" ordered="true">

+          <items xsi:type="am:RunnableCall" runnable="Localization_Preprocessing?type=Runnable" />

+          <items xsi:type="am:InterProcessTrigger" stimulus="Localization_stim?type=InterProcessStimulus" />

+          <items xsi:type="am:WaitEvent" waitingBehaviour="active">

+            <eventMask events="Localization_GPU?type=OsEvent" />

+          </items>

+          <items xsi:type="am:ClearEvent">

+            <eventMask events="Localization_GPU?type=OsEvent" />

+          </items>

+          <items xsi:type="am:RunnableCall" runnable="Localization_Postprocessing?type=Runnable" />

+        </items>

+      </activityGraph>

+    </tasks>

+    <tasks name="PRE_Lane_detection_gpu_POST" stimuli="periodic_66ms?type=PeriodicStimulus" preemption="preemptive" multipleTaskActivationLimit="0">

+      <activityGraph>

+        <items xsi:type="am:Group" name="CallSequence" ordered="true">

+          <items xsi:type="am:RunnableCall" runnable="Lane_Detection_Preprocessing?type=Runnable" />

+          <items xsi:type="am:InterProcessTrigger" stimulus="Lane_detection_stim?type=InterProcessStimulus" />

+          <items xsi:type="am:WaitEvent" waitingBehaviour="active">

+            <eventMask events="Lane_detect_GPU?type=OsEvent" />

+          </items>

+          <items xsi:type="am:ClearEvent">

+            <eventMask events="Lane_detect_GPU?type=OsEvent" />

+          </items>

+          <items xsi:type="am:RunnableCall" runnable="Lane_Detection_Postprocessing?type=Runnable" />

+        </items>

+      </activityGraph>

+    </tasks>

+    <tasks name="PRE_Detection_gpu_POST" stimuli="periodic_200ms?type=PeriodicStimulus" preemption="preemptive" multipleTaskActivationLimit="0">

+      <activityGraph>

+        <items xsi:type="am:Group" name="CallSequence" ordered="true">

+          <items xsi:type="am:RunnableCall" runnable="Detection_Preprocessing?type=Runnable" />

+          <items xsi:type="am:InterProcessTrigger" stimulus="detection_stim?type=InterProcessStimulus" />

+          <items xsi:type="am:WaitEvent" waitingBehaviour="passive">

+            <eventMask events="Detect?type=OsEvent" />

+          </items>

+          <items xsi:type="am:RunnableCall" runnable="AsyncOffloadingCosts?type=Runnable" />

+          <items xsi:type="am:ClearEvent">

+            <eventMask events="Detect?type=OsEvent" />

+          </items>

+          <items xsi:type="am:RunnableCall" runnable="Detection_Postprocessing?type=Runnable" />

+        </items>

+      </activityGraph>

+    </tasks>

+    <tasks name="SFM" stimuli="SFM_stim?type=InterProcessStimulus" preemption="preemptive" multipleTaskActivationLimit="0">

+      <activityGraph>

+        <items xsi:type="am:Group" name="CallSequence" ordered="true">

+          <items xsi:type="am:RunnableCall" runnable="SFM_host_to_device?type=Runnable" />

+          <items xsi:type="am:RunnableCall" runnable="SFM_Function?type=Runnable" />

+          <items xsi:type="am:RunnableCall" runnable="SFM_device_to_host?type=Runnable" />

+          <items xsi:type="am:SetEvent" process="PRE_SFM_gpu_POST?type=Task">

+            <eventMask events="SFM?type=OsEvent" />

+          </items>

+        </items>

+      </activityGraph>

+    </tasks>

+    <tasks name="Localization" stimuli="Localization_stim?type=InterProcessStimulus" preemption="preemptive" multipleTaskActivationLimit="0">

+      <activityGraph>

+        <items xsi:type="am:Group" name="CallSequence" ordered="true">

+          <items xsi:type="am:RunnableCall" runnable="Localization_host_to_device?type=Runnable" />

+          <items xsi:type="am:RunnableCall" runnable="Localization_Function?type=Runnable" />

+          <items xsi:type="am:RunnableCall" runnable="Localization_device_to_host?type=Runnable" />

+          <items xsi:type="am:SetEvent" process="PRE_Localization_gpu_POST?type=Task">

+            <eventMask events="Localization_GPU?type=OsEvent" />

+          </items>

+        </items>

+      </activityGraph>

+    </tasks>

+    <tasks name="Lane_detection" stimuli="Lane_detection_stim?type=InterProcessStimulus" preemption="preemptive" multipleTaskActivationLimit="0">

+      <activityGraph>

+        <items xsi:type="am:Group" name="CallSequence" ordered="true">

+          <items xsi:type="am:RunnableCall" runnable="Lane_Detection_host_to_device?type=Runnable" />

+          <items xsi:type="am:RunnableCall" runnable="Lane_Detection_Function?type=Runnable" />

+          <items xsi:type="am:RunnableCall" runnable="Lane_Detection_device_to_host?type=Runnable" />

+          <items xsi:type="am:SetEvent" process="PRE_Lane_detection_gpu_POST?type=Task">

+            <eventMask events="Lane_detect_GPU?type=OsEvent" />

+          </items>

+        </items>

+      </activityGraph>

+    </tasks>

+    <tasks name="Detection" stimuli="detection_stim?type=InterProcessStimulus" preemption="preemptive" multipleTaskActivationLimit="0">

+      <activityGraph>

+        <items xsi:type="am:Group" name="CallSequence" ordered="true">

+          <items xsi:type="am:RunnableCall" runnable="Detection_host_to_device?type=Runnable" />

+          <items xsi:type="am:RunnableCall" runnable="Detection_Function?type=Runnable" />

+          <items xsi:type="am:RunnableCall" runnable="Detection_device_to_host?type=Runnable" />

+          <items xsi:type="am:SetEvent" process="PRE_Detection_gpu_POST?type=Task">

+            <eventMask events="Detect?type=OsEvent" />

+          </items>

+        </items>

+      </activityGraph>

+    </tasks>

+    <runnables name="OS_Ops_Function" callback="false" service="false">

+      <activityGraph>

+        <items xsi:type="am:SemaphoreAccess" semaphore="S3?type=Semaphore" access="request" />

+        <items xsi:type="am:Ticks">

+          <default xsi:type="am:DiscreteValueConstant" value="100000000" />

+          <extended key="Denver?type=ProcessingUnitDefinition">

+            <value xsi:type="am:DiscreteValueStatistics" lowerBound="100000000" upperBound="100000000" average="1.0E8" />

+          </extended>

+          <extended key="A57?type=ProcessingUnitDefinition">

+            <value xsi:type="am:DiscreteValueStatistics" lowerBound="100000000" upperBound="100000000" average="1.0E8" />

+          </extended>

+        </items>

+        <items xsi:type="am:SemaphoreAccess" semaphore="S3?type=Semaphore" access="release" />

+      </activityGraph>

+    </runnables>

+    <runnables name="Lidar_Function" callback="false" service="false">

+      <activityGraph>

+        <items xsi:type="am:LabelAccess" data="Cloud_map_host?type=Label" access="read" />

+        <items xsi:type="am:SemaphoreAccess" semaphore="S3?type=Semaphore" access="release" />

+        <items xsi:type="am:Ticks">

+          <default xsi:type="am:DiscreteValueConstant" value="21934035" />

+          <extended key="Denver?type=ProcessingUnitDefinition">

+            <value xsi:type="am:DiscreteValueStatistics" lowerBound="19588000" upperBound="21736000" average="2.034807E7" />

+          </extended>

+          <extended key="A57?type=ProcessingUnitDefinition">

+            <value xsi:type="am:DiscreteValueStatistics" lowerBound="20320000" upperBound="27320000" average="2.352E7" />

+          </extended>

+        </items>

+        <items xsi:type="am:SemaphoreAccess" semaphore="S1?type=Semaphore" access="request" waitingBehaviour="active" />

+        <items xsi:type="am:LabelAccess" data="Cloud_map_host?type=Label" access="write" />

+        <items xsi:type="am:LabelAccess" data="Occupancy_grid_host?type=Label" access="write" />

+        <items xsi:type="am:SemaphoreAccess" semaphore="S3?type=Semaphore" access="request" />

+        <items xsi:type="am:SemaphoreAccess" semaphore="S1?type=Semaphore" access="release" waitingBehaviour="active" />

+      </activityGraph>

+    </runnables>

+    <runnables name="CAN_Function" callback="false" service="false">

+      <activityGraph>

+        <items xsi:type="am:Ticks">

+          <default xsi:type="am:DiscreteValueConstant" value="999552" />

+          <extended key="Denver?type=ProcessingUnitDefinition">

+            <value xsi:type="am:DiscreteValueStatistics" lowerBound="799744" upperBound="1199744" average="999744.0" />

+          </extended>

+          <extended key="A57?type=ProcessingUnitDefinition">

+            <value xsi:type="am:DiscreteValueStatistics" lowerBound="799360" upperBound="1199360" average="999360.0" />

+          </extended>

+        </items>

+        <items xsi:type="am:SemaphoreAccess" semaphore="S1?type=Semaphore" access="request" waitingBehaviour="active" />

+        <items xsi:type="am:LabelAccess" data="Vehicle_status_host?type=Label" access="write" />

+        <items xsi:type="am:SemaphoreAccess" semaphore="S1?type=Semaphore" access="release" waitingBehaviour="active" />

+      </activityGraph>

+    </runnables>

+    <runnables name="EKF_Function" callback="false" service="false">

+      <activityGraph>

+        <items xsi:type="am:LabelAccess" data="Vehicle_status_host?type=Label" access="read" />

+        <items xsi:type="am:LabelAccess" data="x_car_host?type=Label" access="read" />

+        <items xsi:type="am:LabelAccess" data="y_car_host?type=Label" access="read" />

+        <items xsi:type="am:LabelAccess" data="yaw_car_host?type=Label" access="read" />

+        <items xsi:type="am:Ticks">

+          <default xsi:type="am:DiscreteValueConstant" value="8599149" />

+          <extended key="Denver?type=ProcessingUnitDefinition">

+            <value xsi:type="am:DiscreteValueStatistics" lowerBound="8179736" upperBound="8858959" average="8398959.0" />

+          </extended>

+          <extended key="A57?type=ProcessingUnitDefinition">

+            <value xsi:type="am:DiscreteValueStatistics" lowerBound="7959340" upperBound="9519340" average="8799340.0" />

+          </extended>

+        </items>

+        <items xsi:type="am:LabelAccess" data="x_car_host?type=Label" access="write" />

+        <items xsi:type="am:LabelAccess" data="y_car_host?type=Label" access="write" />

+        <items xsi:type="am:LabelAccess" data="yaw_car_host?type=Label" access="write" />

+        <items xsi:type="am:SemaphoreAccess" semaphore="S3?type=Semaphore" access="request" waitingBehaviour="active" />

+        <items xsi:type="am:LabelAccess" data="vel_car?type=Label" access="write" />

+        <items xsi:type="am:SemaphoreAccess" semaphore="S3?type=Semaphore" access="release" waitingBehaviour="active" />

+        <items xsi:type="am:SemaphoreAccess" semaphore="S4?type=Semaphore" access="request" waitingBehaviour="active" />

+        <items xsi:type="am:LabelAccess" data="yaw_rate?type=Label" access="write" />

+        <items xsi:type="am:SemaphoreAccess" semaphore="S4?type=Semaphore" access="release" waitingBehaviour="active" />

+      </activityGraph>

+    </runnables>

+    <runnables name="Planner_Function" callback="false" service="false">

+      <activityGraph>

+        <items xsi:type="am:LabelAccess" data="Lane_boundaries_host?type=Label" access="read" />

+        <items xsi:type="am:LabelAccess" data="Occupancy_grid_host?type=Label" access="read" />

+        <items xsi:type="am:LabelAccess" data="Vehicle_status_host?type=Label" access="read" />

+        <items xsi:type="am:LabelAccess" data="Matrix_SFM_host?type=Label" access="read" />

+        <items xsi:type="am:LabelAccess" data="Bounding_box_host?type=Label" access="read" />

+        <items xsi:type="am:LabelAccess" data="x_car_host?type=Label" access="read" />

+        <items xsi:type="am:LabelAccess" data="y_car_host?type=Label" access="read" />

+        <items xsi:type="am:LabelAccess" data="yaw_car_host?type=Label" access="read" />

+        <items xsi:type="am:SemaphoreAccess" semaphore="S3?type=Semaphore" access="request" waitingBehaviour="active" />

+        <items xsi:type="am:LabelAccess" data="vel_car?type=Label" access="read" />

+        <items xsi:type="am:SemaphoreAccess" semaphore="S3?type=Semaphore" access="release" waitingBehaviour="active" />

+        <items xsi:type="am:LabelAccess" data="yaw_rate?type=Label" access="read" />

+        <items xsi:type="am:Ticks">

+          <default xsi:type="am:DiscreteValueConstant" value="21508675" />

+          <extended key="Denver?type=ProcessingUnitDefinition">

+            <value xsi:type="am:DiscreteValueStatistics" lowerBound="19073529" upperBound="24873529" average="2.0273529E7" />

+          </extended>

+          <extended key="A57?type=ProcessingUnitDefinition">

+            <value xsi:type="am:DiscreteValueStatistics" lowerBound="19243822" upperBound="26483822" average="2.2743822E7" />

+          </extended>

+        </items>

+        <items xsi:type="am:LabelAccess" data="speed_objective?type=Label" access="write" />

+        <items xsi:type="am:LabelAccess" data="steer_objective?type=Label" access="write" />

+      </activityGraph>

+    </runnables>

+    <runnables name="DASM_Function" callback="false" service="false">

+      <activityGraph>

+        <items xsi:type="am:LabelAccess" data="speed_objective?type=Label" access="read" />

+        <items xsi:type="am:LabelAccess" data="steer_objective?type=Label" access="read" />

+        <items xsi:type="am:SemaphoreAccess" semaphore="S4?type=Semaphore" access="request" />

+        <items xsi:type="am:Ticks">

+          <default xsi:type="am:DiscreteValueConstant" value="2809993" />

+          <extended key="Denver?type=ProcessingUnitDefinition">

+            <value xsi:type="am:DiscreteValueStatistics" lowerBound="2099996" upperBound="2599996" average="2399996.0" />

+          </extended>

+          <extended key="A57?type=ProcessingUnitDefinition">

+            <value xsi:type="am:DiscreteValueStatistics" lowerBound="2599990" upperBound="3719990" average="3219990.0" />

+          </extended>

+        </items>

+        <items xsi:type="am:LabelAccess" data="speed_objective?type=Label" access="write" />

+        <items xsi:type="am:LabelAccess" data="steer_objective?type=Label" access="write" />

+        <items xsi:type="am:SemaphoreAccess" semaphore="S4?type=Semaphore" access="release" />

+      </activityGraph>

+    </runnables>

+    <runnables name="Detection_Preprocessing" callback="false" service="false">

+      <activityGraph>

+        <items xsi:type="am:SemaphoreAccess" semaphore="S3?type=Semaphore" access="request" />

+        <items xsi:type="am:LabelAccess" data="Image_host?type=Label" access="read" />

+        <items xsi:type="am:Ticks">

+          <default xsi:type="am:DiscreteValueConstant" value="6387542" />

+          <extended key="Denver?type=ProcessingUnitDefinition">

+            <value xsi:type="am:DiscreteValueStatistics" lowerBound="4755924" upperBound="6354526" average="5853824.0" />

+          </extended>

+          <extended key="A57?type=ProcessingUnitDefinition">

+            <value xsi:type="am:DiscreteValueStatistics" lowerBound="6378560" upperBound="7379120" average="6921260.0" />

+          </extended>

+        </items>

+        <items xsi:type="am:LabelAccess" data="Image_host?type=Label" access="write" />

+        <items xsi:type="am:SemaphoreAccess" semaphore="S3?type=Semaphore" access="release" />

+      </activityGraph>

+    </runnables>

+    <runnables name="Detection_Postprocessing" callback="false" service="false">

+      <activityGraph>

+        <items xsi:type="am:SemaphoreAccess" semaphore="S3?type=Semaphore" access="request" />

+        <items xsi:type="am:LabelAccess" data="Bounding_box_host?type=Label" access="read" />

+        <items xsi:type="am:Ticks">

+          <default xsi:type="am:DiscreteValueConstant" value="1628000" />

+          <extended key="Denver?type=ProcessingUnitDefinition">

+            <value xsi:type="am:DiscreteValueStatistics" lowerBound="1246000" upperBound="1816000" average="1416000.0" />

+          </extended>

+          <extended key="A57?type=ProcessingUnitDefinition">

+            <value xsi:type="am:DiscreteValueStatistics" lowerBound="1640000" upperBound="2040000" average="1840000.0" />

+          </extended>

+        </items>

+        <items xsi:type="am:LabelAccess" data="Bounding_box_host?type=Label" access="write" />

+        <items xsi:type="am:SemaphoreAccess" semaphore="S3?type=Semaphore" access="release" />

+      </activityGraph>

+    </runnables>

+    <runnables name="Localization_Function" callback="false" service="false">

+      <activityGraph>

+        <items xsi:type="am:Ticks">

+          <default xsi:type="am:DiscreteValueConstant" value="499018365" />

+          <extended key="Denver?type=ProcessingUnitDefinition">

+            <value xsi:type="am:DiscreteValueStatistics" lowerBound="553415742" upperBound="589615742" average="5.62615742E8" />

+          </extended>

+          <extended key="A57?type=ProcessingUnitDefinition">

+            <value xsi:type="am:DiscreteValueStatistics" lowerBound="733039355" upperBound="774839355" average="7.54439355E8" />

+          </extended>

+          <extended key="GPU_def?type=ProcessingUnitDefinition">

+            <value xsi:type="am:DiscreteValueStatistics" lowerBound="175500000" upperBound="186000000" average="1.8E8" />

+          </extended>

+        </items>

+      </activityGraph>

+    </runnables>

+    <runnables name="Lane_Detection_Function" callback="false" service="false">

+      <activityGraph>

+        <items xsi:type="am:SemaphoreAccess" semaphore="S4?type=Semaphore" access="request" />

+        <items xsi:type="am:Ticks">

+          <default xsi:type="am:DiscreteValueConstant" value="72838256" />

+          <extended key="Denver?type=ProcessingUnitDefinition">

+            <value xsi:type="am:DiscreteValueStatistics" lowerBound="76875648" upperBound="84475648" average="8.0075648E7" />

+          </extended>

+          <extended key="A57?type=ProcessingUnitDefinition">

+            <value xsi:type="am:DiscreteValueStatistics" lowerBound="95689120" upperBound="102089120" average="9.868912E7" />

+          </extended>

+          <extended key="GPU_def?type=ProcessingUnitDefinition">

+            <value xsi:type="am:DiscreteValueStatistics" lowerBound="36750000" upperBound="41000000" average="3.975E7" />

+          </extended>

+        </items>

+        <items xsi:type="am:SemaphoreAccess" semaphore="S4?type=Semaphore" access="release" />

+      </activityGraph>

+    </runnables>

+    <runnables name="Lane_Detection_Preprocessing" callback="false" service="false">

+      <activityGraph>

+        <items xsi:type="am:LabelAccess" data="Image_lane_lines_host?type=Label" access="read" />

+        <items xsi:type="am:Ticks">

+          <default xsi:type="am:DiscreteValueConstant" value="6864992" />

+          <extended key="Denver?type=ProcessingUnitDefinition">

+            <value xsi:type="am:DiscreteValueStatistics" lowerBound="6151472" upperBound="7051367" average="6551424.0" />

+          </extended>

+          <extended key="A57?type=ProcessingUnitDefinition">

+            <value xsi:type="am:DiscreteValueStatistics" lowerBound="6573410" upperBound="7951921" average="7178560.0" />

+          </extended>

+        </items>

+        <items xsi:type="am:LabelAccess" data="Image_lane_lines_host?type=Label" access="write" />

+      </activityGraph>

+    </runnables>

+    <runnables name="Lane_Detection_Postprocessing" callback="false" service="false">

+      <activityGraph>

+        <items xsi:type="am:LabelAccess" data="Lane_boundaries_host?type=Label" access="read" />

+        <items xsi:type="am:Ticks">

+          <default xsi:type="am:DiscreteValueConstant" value="7480386" />

+          <extended key="Denver?type=ProcessingUnitDefinition">

+            <value xsi:type="am:DiscreteValueStatistics" lowerBound="5999632" upperBound="8199496" average="7399142.0" />

+          </extended>

+          <extended key="A57?type=ProcessingUnitDefinition">

+            <value xsi:type="am:DiscreteValueStatistics" lowerBound="6999284" upperBound="8513680" average="7561630.0" />

+          </extended>

+        </items>

+        <items xsi:type="am:LabelAccess" data="Lane_boundaries_host?type=Label" access="write" />

+      </activityGraph>

+    </runnables>

+    <runnables name="SFM_Function" callback="false" service="false">

+      <activityGraph>

+        <items xsi:type="am:Ticks">

+          <default xsi:type="am:DiscreteValueConstant" value="38036480" />

+          <extended key="A57?type=ProcessingUnitDefinition">

+            <value xsi:type="am:DiscreteValueStatistics" lowerBound="48274300" upperBound="59003000" average="5.377531E7" />

+          </extended>

+          <extended key="Denver?type=ProcessingUnitDefinition">

+            <value xsi:type="am:DiscreteValueStatistics" lowerBound="44363022" upperBound="55623380" average="4.953413E7" />

+          </extended>

+          <extended key="GPU_def?type=ProcessingUnitDefinition">

+            <value xsi:type="am:DiscreteValueStatistics" lowerBound="10575000" upperBound="11850000" average="1.08E7" />

+          </extended>

+        </items>

+      </activityGraph>

+    </runnables>

+    <runnables name="SFM_Preprocessing" callback="false" service="false">

+      <activityGraph>

+        <items xsi:type="am:SemaphoreAccess" semaphore="S3?type=Semaphore" access="request" />

+        <items xsi:type="am:LabelAccess" data="Image_SFM_host?type=Label" access="read" />

+        <items xsi:type="am:Ticks">

+          <default xsi:type="am:DiscreteValueConstant" value="6364477" />

+          <extended key="Denver?type=ProcessingUnitDefinition">

+            <value xsi:type="am:DiscreteValueStatistics" lowerBound="5151424" upperBound="6355142" average="5751424.0" />

+          </extended>

+          <extended key="A57?type=ProcessingUnitDefinition">

+            <value xsi:type="am:DiscreteValueStatistics" lowerBound="5878560" upperBound="7459318" average="6977531.0" />

+          </extended>

+        </items>

+        <items xsi:type="am:LabelAccess" data="Image_SFM_host?type=Label" access="write" />

+        <items xsi:type="am:SemaphoreAccess" semaphore="S3?type=Semaphore" access="release" />

+      </activityGraph>

+    </runnables>

+    <runnables name="SFM_Postprocessing" callback="false" service="false">

+      <activityGraph>

+        <items xsi:type="am:LabelAccess" data="Matrix_SFM_host?type=Label" access="read" />

+        <items xsi:type="am:Ticks">

+          <default xsi:type="am:DiscreteValueConstant" value="6788280" />

+          <extended key="Denver?type=ProcessingUnitDefinition">

+            <value xsi:type="am:DiscreteValueStatistics" lowerBound="5669568" upperBound="7064516" average="6363125.0" />

+          </extended>

+          <extended key="A57?type=ProcessingUnitDefinition">

+            <value xsi:type="am:DiscreteValueStatistics" lowerBound="6773920" upperBound="8347392" average="7213436.0" />

+          </extended>

+        </items>

+        <items xsi:type="am:SemaphoreAccess" semaphore="S3?type=Semaphore" access="request" />

+        <items xsi:type="am:LabelAccess" data="Image_SFM_host?type=Label" access="write" />

+        <items xsi:type="am:SemaphoreAccess" semaphore="S3?type=Semaphore" access="release" />

+      </activityGraph>

+    </runnables>

+    <runnables name="Localization_Preprocessing" callback="false" service="false">

+      <activityGraph>

+        <items xsi:type="am:SemaphoreAccess" semaphore="S2?type=Semaphore" access="request" />

+        <items xsi:type="am:LabelAccess" data="Cloud_map_host?type=Label" access="read" />

+        <items xsi:type="am:LabelAccess" data="Vehicle_status_host?type=Label" access="read" />

+        <items xsi:type="am:Ticks">

+          <default xsi:type="am:DiscreteValueConstant" value="10155104" />

+          <extended key="Denver?type=ProcessingUnitDefinition">

+            <value xsi:type="am:DiscreteValueStatistics" lowerBound="6031488" upperBound="16431488" average="9231488.0" />

+          </extended>

+          <extended key="A57?type=ProcessingUnitDefinition">

+            <value xsi:type="am:DiscreteValueStatistics" lowerBound="6278720" upperBound="17878720" average="1.107872E7" />

+          </extended>

+        </items>

+        <items xsi:type="am:LabelAccess" data="Cloud_map_host?type=Label" access="write" />

+        <items xsi:type="am:LabelAccess" data="Vehicle_status_host?type=Label" access="write" />

+        <items xsi:type="am:SemaphoreAccess" semaphore="S2?type=Semaphore" access="release" />

+      </activityGraph>

+    </runnables>

+    <runnables name="Localization_Postprocessing" callback="false" service="false">

+      <activityGraph>

+        <items xsi:type="am:SemaphoreAccess" semaphore="S1?type=Semaphore" access="request" />

+        <items xsi:type="am:LabelAccess" data="x_car_host?type=Label" access="read" />

+        <items xsi:type="am:LabelAccess" data="y_car_host?type=Label" access="read" />

+        <items xsi:type="am:LabelAccess" data="yaw_car_host?type=Label" access="read" />

+        <items xsi:type="am:Ticks">

+          <default xsi:type="am:DiscreteValueConstant" value="9499989" />

+          <extended key="Denver?type=ProcessingUnitDefinition">

+            <value xsi:type="am:DiscreteValueStatistics" lowerBound="6199994" upperBound="12599994" average="8399994.0" />

+          </extended>

+          <extended key="A57?type=ProcessingUnitDefinition">

+            <value xsi:type="am:DiscreteValueStatistics" lowerBound="8399985" upperBound="17399985" average="1.0599985E7" />

+          </extended>

+        </items>

+        <items xsi:type="am:LabelAccess" data="x_car_host?type=Label" access="write" />

+        <items xsi:type="am:LabelAccess" data="y_car_host?type=Label" access="write" />

+        <items xsi:type="am:LabelAccess" data="yaw_car_host?type=Label" access="write" />

+        <items xsi:type="am:SemaphoreAccess" semaphore="S1?type=Semaphore" access="release" />

+      </activityGraph>

+    </runnables>

+    <runnables name="Detection_host_to_device" callback="false" service="false">

+      <activityGraph>

+        <items xsi:type="am:LabelAccess" data="Image_host?type=Label" access="read" />

+        <items xsi:type="am:LabelAccess" data="Image_device?type=Label" access="write" />

+      </activityGraph>

+    </runnables>

+    <runnables name="Detection_device_to_host" callback="false" service="false">

+      <activityGraph>

+        <items xsi:type="am:LabelAccess" data="Bounding_box_device?type=Label" access="read" />

+        <items xsi:type="am:LabelAccess" data="Bounding_box_host?type=Label" access="write" />

+      </activityGraph>

+    </runnables>

+    <runnables name="Lane_Detection_host_to_device" callback="false" service="false">

+      <activityGraph>

+        <items xsi:type="am:LabelAccess" data="Image_lane_lines_host?type=Label" access="read" />

+        <items xsi:type="am:LabelAccess" data="Image_lane_lines_device?type=Label" access="write" />

+      </activityGraph>

+    </runnables>

+    <runnables name="Lane_Detection_device_to_host" callback="false" service="false">

+      <activityGraph>

+        <items xsi:type="am:LabelAccess" data="Lane_boundaries_device?type=Label" access="read" />

+        <items xsi:type="am:LabelAccess" data="Lane_boundaries_host?type=Label" access="write" />

+      </activityGraph>

+    </runnables>

+    <runnables name="SFM_host_to_device" callback="false" service="false">

+      <activityGraph>

+        <items xsi:type="am:LabelAccess" data="IMU_data_host?type=Label" access="read" />

+        <items xsi:type="am:LabelAccess" data="Image_SFM_host?type=Label" access="read" />

+        <items xsi:type="am:LabelAccess" data="Image_SFM_device?type=Label" access="write" />

+        <items xsi:type="am:LabelAccess" data="IMU_data_device?type=Label" access="write" />

+      </activityGraph>

+    </runnables>

+    <runnables name="SFM_device_to_host" callback="false" service="false">

+      <activityGraph>

+        <items xsi:type="am:LabelAccess" data="Matrix_SFM_device?type=Label" access="read" />

+        <items xsi:type="am:LabelAccess" data="Matrix_SFM_host?type=Label" access="write" />

+      </activityGraph>

+    </runnables>

+    <runnables name="Localization_host_to_device" callback="false" service="false">

+      <activityGraph>

+        <items xsi:type="am:LabelAccess" data="Cloud_map_host?type=Label" access="read" />

+        <items xsi:type="am:LabelAccess" data="Vehicle_status_host?type=Label" access="read" />

+        <items xsi:type="am:LabelAccess" data="Cloud_map_device?type=Label" access="write" />

+        <items xsi:type="am:LabelAccess" data="Vehicle_status_device?type=Label" access="write" />

+      </activityGraph>

+    </runnables>

+    <runnables name="Localization_device_to_host" callback="false" service="false">

+      <activityGraph>

+        <items xsi:type="am:LabelAccess" data="x_car_device?type=Label" access="read" />

+        <items xsi:type="am:LabelAccess" data="y_car_device?type=Label" access="read" />

+        <items xsi:type="am:LabelAccess" data="yaw_car_device?type=Label" access="read" />

+        <items xsi:type="am:LabelAccess" data="x_car_host?type=Label" access="write" />

+        <items xsi:type="am:LabelAccess" data="y_car_host?type=Label" access="write" />

+        <items xsi:type="am:LabelAccess" data="yaw_car_host?type=Label" access="write" />

+      </activityGraph>

+    </runnables>

+    <runnables name="Detection_Function" callback="false" service="false">

+      <activityGraph>

+        <items xsi:type="am:Ticks">

+          <default xsi:type="am:DiscreteValueConstant" value="165000000" />

+          <extended key="GPU_def?type=ProcessingUnitDefinition">

+            <value xsi:type="am:DiscreteValueStatistics" lowerBound="162000000" upperBound="174000000" average="1.65E8" />

+          </extended>

+        </items>

+      </activityGraph>

+    </runnables>

+    <runnables name="AsyncOffloadingCosts" callback="false" service="false">

+      <activityGraph>

+        <items xsi:type="am:Ticks">

+          <default xsi:type="am:DiscreteValueConstant" value="5000" />

+          <extended key="Denver?type=ProcessingUnitDefinition">

+            <value xsi:type="am:DiscreteValueConstant" value="5000" />

+          </extended>

+          <extended key="A57?type=ProcessingUnitDefinition">

+            <value xsi:type="am:DiscreteValueConstant" value="5000" />

+          </extended>

+        </items>

+      </activityGraph>

+    </runnables>

+    <labels name="Cloud_map_host" constant="false" bVolatile="false">

+      <size value="1500" unit="kB" />

+    </labels>

+    <labels name="Occupancy_grid_host" constant="false" bVolatile="false">

+      <size value="500" unit="kB" />

+    </labels>

+    <labels name="Cloud_map_device" constant="false" bVolatile="false">

+      <size value="1500" unit="kB" />

+    </labels>

+    <labels name="Vehicle_status_host" constant="false" bVolatile="false">

+      <size value="1" unit="kB" />

+    </labels>

+    <labels name="Vehicle_status_device" constant="false" bVolatile="false">

+      <size value="1" unit="kB" />

+    </labels>

+    <labels name="x_car_host" constant="false" bVolatile="false">

+      <size value="1" unit="kB" />

+    </labels>

+    <labels name="y_car_host" constant="false" bVolatile="false">

+      <size value="1" unit="kB" />

+    </labels>

+    <labels name="yaw_car_host" constant="false" bVolatile="false">

+      <size value="1" unit="kB" />

+    </labels>

+    <labels name="x_car_device" constant="false" bVolatile="false">

+      <size value="1" unit="kB" />

+    </labels>

+    <labels name="y_car_device" constant="false" bVolatile="false">

+      <size value="1" unit="kB" />

+    </labels>

+    <labels name="yaw_car_device" constant="false" bVolatile="false">

+      <size value="1" unit="kB" />

+    </labels>

+    <labels name="vel_car" constant="false" bVolatile="false">

+      <size value="1" unit="kB" />

+    </labels>

+    <labels name="yaw_rate" constant="false" bVolatile="false">

+      <size value="1" unit="kB" />

+    </labels>

+    <labels name="steer_objective" constant="false" bVolatile="false">

+      <size value="1" unit="kB" />

+    </labels>

+    <labels name="speed_objective" constant="false" bVolatile="false">

+      <size value="1" unit="kB" />

+    </labels>

+    <labels name="NN_weights" constant="false" bVolatile="false">

+      <size value="142" unit="MB" />

+    </labels>

+    <labels name="Matrix_SFM_host" constant="true" bVolatile="false">

+      <size value="24" unit="kB" />

+    </labels>

+    <labels name="Matrix_SFM_device" constant="true" bVolatile="false">

+      <size value="24" unit="kB" />

+    </labels>

+    <labels name="Image_lane_lines_host" constant="false" bVolatile="false">

+      <size value="2" unit="MB" />

+    </labels>

+    <labels name="Image_lane_lines_device" constant="false" bVolatile="false">

+      <size value="2" unit="MB" />

+    </labels>

+    <labels name="Bounding_box_host" constant="false" bVolatile="false">

+      <size value="750" unit="kB" />

+    </labels>

+    <labels name="Bounding_box_device" constant="false" bVolatile="false">

+      <size value="750" unit="kB" />

+    </labels>

+    <labels name="Image_host" constant="true" bVolatile="false">

+      <size value="2" unit="MB" />

+    </labels>

+    <labels name="Image_device" constant="true" bVolatile="false">

+      <size value="2" unit="MB" />

+    </labels>

+    <labels name="Image_SFM_host" constant="true" bVolatile="false">

+      <size value="2" unit="MB" />

+    </labels>

+    <labels name="Image_SFM_device" constant="true" bVolatile="false">

+      <size value="2" unit="MB" />

+    </labels>

+    <labels name="IMU_data_host" constant="false" bVolatile="false">

+      <size value="256" unit="B" />

+    </labels>

+    <labels name="IMU_data_device" constant="true" bVolatile="false">

+      <size value="256" unit="B" />

+    </labels>

+    <labels name="Lane_boundaries_host" constant="false" bVolatile="false">

+      <size value="256" unit="B" />

+    </labels>

+    <labels name="Lane_boundaries_device" constant="false" bVolatile="false">

+      <size value="256" unit="B" />

+    </labels>

+    <events name="Lane_detect_GPU" communicationOverheadInBit="0" />

+    <events name="Detect" communicationOverheadInBit="0" />

+    <events name="SFM" communicationOverheadInBit="0" />

+    <events name="Localization_GPU" communicationOverheadInBit="0" />

+  </swModel>

+  <hwModel>

+    <definitions xsi:type="am:ProcessingUnitDefinition" name="A57" puType="CPU" />

+    <definitions xsi:type="am:ProcessingUnitDefinition" name="Denver" puType="CPU" />

+    <definitions xsi:type="am:ProcessingUnitDefinition" name="GPU_def" puType="GPU" features="CudaCores/CudaCoreXSM_128?type=HwFeature SMs/SM_2?type=HwFeature" />

+    <definitions xsi:type="am:MemoryDefinition" name="LPDDR4" memoryType="DRAM">

+      <size value="8" unit="GB" />

+      <accessLatency xsi:type="am:DiscreteValueConstant" value="0" />

+    </definitions>

+    <definitions xsi:type="am:ConnectionHandlerDefinition" name="Interconnect" policy="RoundRobin" maxBurstSize="4" maxConcurrentTransfers="1" />

+    <definitions xsi:type="am:CacheDefinition" name="CPU_L2" cacheType="unified" writeStrategy="writeback" nWays="4" coherency="false" exclusive="false" hitRate="0.0">

+      <size value="2" unit="MB" />

+      <lineSize value="64" unit="B" />

+    </definitions>

+    <definitions xsi:type="am:CacheDefinition" name="GPU_L2" cacheType="data" writeStrategy="writeback" nWays="4" coherency="false" exclusive="false" hitRate="0.0">

+      <size value="512" unit="kB" />

+      <lineSize value="64" unit="B" />

+    </definitions>

+    <featureCategories name="CudaCores" featureType="performance" description="">

+      <features name="CudaCoreXSM_128" value="128.0" />

+    </featureCategories>

+    <featureCategories name="SMs" featureType="performance">

+      <features name="SM_2" value="2.0" />

+    </featureCategories>

+    <structures name="JetsonTX2" structureType="System">

+      <structures name="GPU island" structureType="Cluster">

+        <modules xsi:type="am:ProcessingUnit" name="GPU10B" frequencyDomain="GPU_Domain?type=FrequencyDomain" definition="GPU_def?type=ProcessingUnitDefinition">

+          <ports name="P1" bitWidth="128" priority="0" portType="initiator" portInterface="custom" />

+          <accessElements name="GPUtoDRAM" destination="SYSTEM_DRAM?type=Memory">

+            <readLatency xsi:type="am:DiscreteValueConstant" value="5" />

+            <writeLatency xsi:type="am:DiscreteValueConstant" value="5" />

+            <dataRate value="20" unit="GBPerSecond" />

+          </accessElements>

+        </modules>

+        <modules xsi:type="am:Cache" name="L2_GP10B" frequencyDomain="GPU_Domain?type=FrequencyDomain" definition="GPU_L2?type=CacheDefinition" />

+      </structures>

+      <structures name="ARM island" structureType="Cluster">

+        <modules xsi:type="am:ProcessingUnit" name="A57_Core_0" frequencyDomain="A57_Domain?type=FrequencyDomain" definition="A57?type=ProcessingUnitDefinition">

+          <ports name="P1" bitWidth="64" priority="0" portType="initiator" portInterface="custom" />

+          <accessElements name="C2toDRAM" destination="SYSTEM_DRAM?type=Memory">

+            <readLatency xsi:type="am:DiscreteValueConstant" value="40" />

+            <writeLatency xsi:type="am:DiscreteValueConstant" value="40" />

+            <dataRate value="4500" unit="MBPerSecond" />

+          </accessElements>

+        </modules>

+        <modules xsi:type="am:ProcessingUnit" name="A57_Core_1" frequencyDomain="A57_Domain?type=FrequencyDomain" definition="A57?type=ProcessingUnitDefinition">

+          <ports name="P1" bitWidth="64" priority="0" portType="initiator" portInterface="custom" />

+          <accessElements name="C3toDRAM" destination="SYSTEM_DRAM?type=Memory">

+            <readLatency xsi:type="am:DiscreteValueConstant" value="40" />

+            <writeLatency xsi:type="am:DiscreteValueConstant" value="40" />

+            <dataRate value="4500" unit="MBPerSecond" />

+          </accessElements>

+        </modules>

+        <modules xsi:type="am:ProcessingUnit" name="A57_Core_2" frequencyDomain="A57_Domain?type=FrequencyDomain" definition="A57?type=ProcessingUnitDefinition">

+          <ports name="P1" bitWidth="64" priority="0" portType="initiator" portInterface="custom" />

+          <accessElements name="C4toDRAM" destination="SYSTEM_DRAM?type=Memory">

+            <readLatency xsi:type="am:DiscreteValueConstant" value="40" />

+            <writeLatency xsi:type="am:DiscreteValueConstant" value="40" />

+            <dataRate value="4500" unit="MBPerSecond" />

+          </accessElements>

+        </modules>

+        <modules xsi:type="am:ProcessingUnit" name="A57_Core_3" frequencyDomain="A57_Domain?type=FrequencyDomain" definition="A57?type=ProcessingUnitDefinition">

+          <ports name="P1" bitWidth="64" priority="0" portType="initiator" portInterface="custom" />

+          <accessElements name="C5toDRAM" destination="SYSTEM_DRAM?type=Memory">

+            <readLatency xsi:type="am:DiscreteValueConstant" value="40" />

+            <writeLatency xsi:type="am:DiscreteValueConstant" value="40" />

+            <dataRate value="4500" unit="MBPerSecond" />

+          </accessElements>

+        </modules>

+        <modules xsi:type="am:Cache" name="L2_A57" frequencyDomain="A57_Domain?type=FrequencyDomain" definition="CPU_L2?type=CacheDefinition" />

+      </structures>

+      <structures name="Denver island" structureType="Cluster">

+        <modules xsi:type="am:ProcessingUnit" name="Denver_Core_1" frequencyDomain="Denver_Domain?type=FrequencyDomain" definition="Denver?type=ProcessingUnitDefinition">

+          <ports name="P1" bitWidth="64" priority="0" portType="initiator" portInterface="custom" />

+          <accessElements name="C0toDRAM" destination="SYSTEM_DRAM?type=Memory">

+            <readLatency xsi:type="am:DiscreteValueConstant" value="16" />

+            <writeLatency xsi:type="am:DiscreteValueConstant" value="16" />

+            <dataRate value="14" unit="GBPerSecond" />

+          </accessElements>

+        </modules>

+        <modules xsi:type="am:ProcessingUnit" name="Denver_Core_0" frequencyDomain="Denver_Domain?type=FrequencyDomain" definition="Denver?type=ProcessingUnitDefinition">

+          <ports name="P1" bitWidth="64" priority="0" portType="initiator" portInterface="custom" />

+          <accessElements name="C1toDRAM" destination="SYSTEM_DRAM?type=Memory">

+            <readLatency xsi:type="am:DiscreteValueConstant" value="16" />

+            <writeLatency xsi:type="am:DiscreteValueConstant" value="16" />

+            <dataRate value="14" unit="GBPerSecond" />

+          </accessElements>

+        </modules>

+        <modules xsi:type="am:Cache" name="L2_Denver" frequencyDomain="Denver_Domain?type=FrequencyDomain" definition="CPU_L2?type=CacheDefinition" />

+      </structures>

+      <modules xsi:type="am:Memory" name="SYSTEM_DRAM" frequencyDomain="DRAM_eff_Freq?type=FrequencyDomain" definition="LPDDR4?type=MemoryDefinition">

+        <ports name="Mem_P1" bitWidth="128" priority="0" portType="responder" portInterface="AXI" />

+      </modules>

+      <modules xsi:type="am:ConnectionHandler" name="Intercon" frequencyDomain="DRAM_eff_Freq?type=FrequencyDomain" definition="Interconnect?type=ConnectionHandlerDefinition">

+        <ports name="Inter_P1" bitWidth="128" priority="0" portType="responder" portInterface="AXI" />

+        <ports name="Inter_P2" bitWidth="128" priority="0" portType="responder" portInterface="AXI" />

+        <ports name="Inter_P3" bitWidth="128" priority="0" portType="responder" portInterface="AXI" />

+        <ports name="Inter_P4" bitWidth="128" priority="0" portType="initiator" portInterface="AXI" />

+      </modules>

+    </structures>

+    <domains xsi:type="am:FrequencyDomain" name="A57_Domain" clockGating="false">

+      <defaultValue value="2.0" unit="GHz" />

+    </domains>

+    <domains xsi:type="am:FrequencyDomain" name="Denver_Domain" clockGating="false">

+      <defaultValue value="2.0" unit="GHz" />

+    </domains>

+    <domains xsi:type="am:FrequencyDomain" name="GPU_Domain" clockGating="false">

+      <defaultValue value="1.5" unit="GHz" />

+    </domains>

+    <domains xsi:type="am:FrequencyDomain" name="DRAM_eff_Freq" clockGating="false">

+      <defaultValue value="1.5" unit="GHz" />

+    </domains>

+  </hwModel>

+  <osModel>

+    <semaphores name="S1" semaphoreType="Spinlock" initialValue="0" maxValue="0" priorityCeilingProtocol="true" />

+    <semaphores name="S2" semaphoreType="Spinlock" initialValue="0" maxValue="0" priorityCeilingProtocol="true" />

+    <semaphores name="S3" semaphoreType="Spinlock" initialValue="0" maxValue="0" priorityCeilingProtocol="true" />

+    <semaphores name="S4" semaphoreType="Spinlock" initialValue="0" maxValue="0" priorityCeilingProtocol="true" />

+    <operatingSystems name="Sched_Cluster_A57">

+      <taskSchedulers name="Scheduler_A57">

+        <schedulingAlgorithm xsi:type="am:FixedPriorityPreemptive" />

+      </taskSchedulers>

+    </operatingSystems>

+    <operatingSystems name="GPU_Cluster">

+      <taskSchedulers name="GPU_Sched">

+        <schedulingAlgorithm xsi:type="am:UserSpecificSchedulingAlgorithm">

+          <parameterExtensions key="minimumTimeslice" value="1000 µs" />

+          <parameterExtensions key="maximumTimeslice" value="50000 µs" />

+        </schedulingAlgorithm>

+      </taskSchedulers>

+    </operatingSystems>

+    <operatingSystems name="Scheduling_Cluster_Denver">

+      <taskSchedulers name="Scheduler_Denver">

+        <schedulingAlgorithm xsi:type="am:FixedPriorityPreemptive" />

+      </taskSchedulers>

+    </operatingSystems>

+  </osModel>

+  <stimuliModel>

+    <stimuli xsi:type="am:InterProcessStimulus" name="SFM_stim" />

+    <stimuli xsi:type="am:InterProcessStimulus" name="Localization_stim" />

+    <stimuli xsi:type="am:InterProcessStimulus" name="detection_stim" />

+    <stimuli xsi:type="am:InterProcessStimulus" name="Lane_detection_stim" />

+    <stimuli xsi:type="am:PeriodicStimulus" name="periodic_5ms">

+      <recurrence value="5" unit="ms" />

+    </stimuli>

+    <stimuli xsi:type="am:PeriodicStimulus" name="periodic_10ms">

+      <recurrence value="10" unit="ms" />

+    </stimuli>

+    <stimuli xsi:type="am:PeriodicStimulus" name="periodic_12ms">

+      <recurrence value="12" unit="ms" />

+    </stimuli>

+    <stimuli xsi:type="am:PeriodicStimulus" name="periodic_15ms">

+      <recurrence value="15" unit="ms" />

+    </stimuli>

+    <stimuli xsi:type="am:PeriodicStimulus" name="periodic_33ms">

+      <recurrence value="33" unit="ms" />

+    </stimuli>

+    <stimuli xsi:type="am:PeriodicStimulus" name="periodic_66ms">

+      <recurrence value="66" unit="ms" />

+    </stimuli>

+    <stimuli xsi:type="am:PeriodicStimulus" name="periodic_100ms">

+      <recurrence value="100" unit="ms" />

+    </stimuli>

+    <stimuli xsi:type="am:PeriodicStimulus" name="periodic_200ms">

+      <recurrence value="200" unit="ms" />

+    </stimuli>

+    <stimuli xsi:type="am:PeriodicStimulus" name="periodic_400ms">

+      <recurrence value="400" unit="ms" />

+    </stimuli>

+  </stimuliModel>

+  <constraintsModel>

+    <requirements xsi:type="am:ProcessRequirement" name="Deadline_Task_DASM" process="DASM?type=Task">

+      <limit xsi:type="am:TimeRequirementLimit" limitType="UpperLimit" metric="ResponseTime">

+        <limitValue value="5" unit="ms" />

+      </limit>

+    </requirements>

+    <requirements xsi:type="am:ProcessRequirement" name="Deadline_Task_CAN" process="CANbus_polling?type=Task">

+      <limit xsi:type="am:TimeRequirementLimit" limitType="UpperLimit" metric="ResponseTime">

+        <limitValue value="10" unit="ms" />

+      </limit>

+    </requirements>

+    <requirements xsi:type="am:ProcessRequirement" name="Deadline_Task_Planner" process="Planner?type=Task">

+      <limit xsi:type="am:TimeRequirementLimit" limitType="UpperLimit" metric="ResponseTime">

+        <limitValue value="12" unit="ms" />

+      </limit>

+    </requirements>

+    <requirements xsi:type="am:ProcessRequirement" name="Deadline_Task_EKF" process="EKF?type=Task">

+      <limit xsi:type="am:TimeRequirementLimit" limitType="UpperLimit" metric="ResponseTime">

+        <limitValue value="15" unit="ms" />

+      </limit>

+    </requirements>

+    <requirements xsi:type="am:ProcessRequirement" name="Deadline_Task_LIDAR" process="Lidar_Grabber?type=Task">

+      <limit xsi:type="am:TimeRequirementLimit" limitType="UpperLimit" metric="ResponseTime">

+        <limitValue value="33" unit="ms" />

+      </limit>

+    </requirements>

+    <requirements xsi:type="am:ProcessRequirement" name="Deadline_Task_SFM" process="PRE_SFM_gpu_POST?type=Task">

+      <limit xsi:type="am:TimeRequirementLimit" limitType="UpperLimit" metric="ResponseTime">

+        <limitValue value="33" unit="ms" />

+      </limit>

+    </requirements>

+    <requirements xsi:type="am:ProcessRequirement" name="Deadline_Task_Detection" process="PRE_Lane_detection_gpu_POST?type=Task">

+      <limit xsi:type="am:TimeRequirementLimit" limitType="UpperLimit" metric="ResponseTime">

+        <limitValue value="200" unit="ms" />

+      </limit>

+    </requirements>

+    <requirements xsi:type="am:ProcessRequirement" name="Deadline_Task_Lane_Detection" process="PRE_Detection_gpu_POST?type=Task">

+      <limit xsi:type="am:TimeRequirementLimit" limitType="UpperLimit" metric="ResponseTime">

+        <limitValue value="66" unit="ms" />

+      </limit>

+    </requirements>

+    <requirements xsi:type="am:ProcessRequirement" name="Deadline_Task_Localization" process="PRE_Localization_gpu_POST?type=Task">

+      <limit xsi:type="am:TimeRequirementLimit" limitType="UpperLimit" metric="ResponseTime">

+        <limitValue value="400" unit="ms" />

+      </limit>

+    </requirements>

+  </constraintsModel>

+  <mappingModel addressMappingType="address">

+    <schedulerAllocation scheduler="GPU_Sched?type=TaskScheduler" responsibility="GPU10B?type=ProcessingUnit" executingPU="GPU10B?type=ProcessingUnit" />

+    <schedulerAllocation scheduler="Scheduler_Denver?type=TaskScheduler" responsibility="Denver_Core_1?type=ProcessingUnit Denver_Core_0?type=ProcessingUnit" executingPU="Denver_Core_1?type=ProcessingUnit" />

+    <schedulerAllocation scheduler="Scheduler_A57?type=TaskScheduler" responsibility="A57_Core_0?type=ProcessingUnit A57_Core_1?type=ProcessingUnit A57_Core_2?type=ProcessingUnit A57_Core_3?type=ProcessingUnit" executingPU="Denver_Core_1?type=ProcessingUnit" />

+    <taskAllocation task="CANbus_polling?type=Task" scheduler="Scheduler_A57?type=TaskScheduler" affinity="Denver_Core_1?type=ProcessingUnit">

+      <schedulingParameters priority="1" />

+    </taskAllocation>

+    <taskAllocation task="OS_Overhead?type=Task" scheduler="Scheduler_A57?type=TaskScheduler" affinity="Denver_Core_1?type=ProcessingUnit">

+      <schedulingParameters priority="1" />

+    </taskAllocation>

+    <taskAllocation task="DASM?type=Task" scheduler="Scheduler_A57?type=TaskScheduler" affinity="Denver_Core_1?type=ProcessingUnit">

+      <schedulingParameters priority="1" />

+    </taskAllocation>

+    <taskAllocation task="Lidar_Grabber?type=Task" scheduler="Scheduler_Denver?type=TaskScheduler" affinity="Denver_Core_0?type=ProcessingUnit">

+      <schedulingParameters priority="1" />

+    </taskAllocation>

+    <taskAllocation task="Planner?type=Task" scheduler="Scheduler_A57?type=TaskScheduler" affinity="A57_Core_1?type=ProcessingUnit">

+      <schedulingParameters priority="1" />

+    </taskAllocation>

+    <taskAllocation task="EKF?type=Task" scheduler="Scheduler_A57?type=TaskScheduler" affinity="A57_Core_2?type=ProcessingUnit">

+      <schedulingParameters priority="1" />

+    </taskAllocation>

+    <taskAllocation task="PRE_Detection_gpu_POST?type=Task" scheduler="Scheduler_A57?type=TaskScheduler" affinity="A57_Core_3?type=ProcessingUnit">

+      <schedulingParameters priority="1" />

+    </taskAllocation>

+    <taskAllocation task="PRE_Lane_detection_gpu_POST?type=Task" scheduler="Scheduler_A57?type=TaskScheduler" affinity="A57_Core_3?type=ProcessingUnit">

+      <schedulingParameters priority="1" />

+    </taskAllocation>

+    <taskAllocation task="PRE_SFM_gpu_POST?type=Task" scheduler="Scheduler_Denver?type=TaskScheduler" affinity="Denver_Core_1?type=ProcessingUnit Denver_Core_0?type=ProcessingUnit">

+      <schedulingParameters priority="1" />

+    </taskAllocation>

+    <taskAllocation task="PRE_Localization_gpu_POST?type=Task" scheduler="Scheduler_Denver?type=TaskScheduler" affinity="Denver_Core_1?type=ProcessingUnit Denver_Core_0?type=ProcessingUnit">

+      <schedulingParameters priority="1" />

+    </taskAllocation>

+    <taskAllocation task="Lane_detection?type=Task" scheduler="GPU_Sched?type=TaskScheduler" affinity="GPU10B?type=ProcessingUnit">

+      <parameterExtensions key="TimeSlice_Lane_detection" value="50000µs" />

+    </taskAllocation>

+    <taskAllocation task="Detection?type=Task" scheduler="GPU_Sched?type=TaskScheduler" affinity="GPU10B?type=ProcessingUnit">

+      <parameterExtensions key="TimeSlice_Detection" value="50000µs" />

+    </taskAllocation>

+    <taskAllocation task="SFM?type=Task" scheduler="GPU_Sched?type=TaskScheduler" affinity="GPU10B?type=ProcessingUnit">

+      <parameterExtensions key="TimeSlice_SFM" value="7200µs" />

+    </taskAllocation>

+    <taskAllocation task="Localization?type=Task" scheduler="GPU_Sched?type=TaskScheduler" affinity="GPU10B?type=ProcessingUnit">

+      <parameterExtensions key="TimeSlice_Localization" value="50000µs" />

+    </taskAllocation>

+    <memoryMapping abstractElement="Bounding_box_device?type=Label" memory="SYSTEM_DRAM?type=Memory" memoryPositionAddress="0x0" />

+    <memoryMapping abstractElement="Bounding_box_host?type=Label" memory="SYSTEM_DRAM?type=Memory" memoryPositionAddress="0x0" />

+    <memoryMapping abstractElement="Cloud_map_device?type=Label" memory="SYSTEM_DRAM?type=Memory" memoryPositionAddress="0x0" />

+    <memoryMapping abstractElement="Cloud_map_host?type=Label" memory="SYSTEM_DRAM?type=Memory" memoryPositionAddress="0x0" />

+    <memoryMapping abstractElement="Image_device?type=Label" memory="SYSTEM_DRAM?type=Memory" memoryPositionAddress="0x0" />

+    <memoryMapping abstractElement="Image_host?type=Label" memory="SYSTEM_DRAM?type=Memory" memoryPositionAddress="0x0" />

+    <memoryMapping abstractElement="Image_lane_lines_device?type=Label" memory="SYSTEM_DRAM?type=Memory" memoryPositionAddress="0x0" />

+    <memoryMapping abstractElement="Image_lane_lines_host?type=Label" memory="SYSTEM_DRAM?type=Memory" memoryPositionAddress="0x0" />

+    <memoryMapping abstractElement="Image_SFM_device?type=Label" memory="SYSTEM_DRAM?type=Memory" memoryPositionAddress="0x0" />

+    <memoryMapping abstractElement="Image_SFM_host?type=Label" memory="SYSTEM_DRAM?type=Memory" memoryPositionAddress="0x0" />

+    <memoryMapping abstractElement="IMU_data_device?type=Label" memory="SYSTEM_DRAM?type=Memory" memoryPositionAddress="0x0" />

+    <memoryMapping abstractElement="IMU_data_host?type=Label" memory="SYSTEM_DRAM?type=Memory" memoryPositionAddress="0x0" />

+    <memoryMapping abstractElement="Lane_boundaries_device?type=Label" memory="SYSTEM_DRAM?type=Memory" memoryPositionAddress="0x0" />

+    <memoryMapping abstractElement="Lane_boundaries_host?type=Label" memory="SYSTEM_DRAM?type=Memory" memoryPositionAddress="0x0" />

+    <memoryMapping abstractElement="Matrix_SFM_device?type=Label" memory="SYSTEM_DRAM?type=Memory" memoryPositionAddress="0x0" />

+    <memoryMapping abstractElement="Matrix_SFM_host?type=Label" memory="SYSTEM_DRAM?type=Memory" memoryPositionAddress="0x0" />

+    <memoryMapping abstractElement="NN_weights?type=Label" memory="SYSTEM_DRAM?type=Memory" memoryPositionAddress="0x0" />

+    <memoryMapping abstractElement="Occupancy_grid_host?type=Label" memory="SYSTEM_DRAM?type=Memory" memoryPositionAddress="0x0" />

+    <memoryMapping abstractElement="speed_objective?type=Label" memory="SYSTEM_DRAM?type=Memory" memoryPositionAddress="0x0" />

+    <memoryMapping abstractElement="steer_objective?type=Label" memory="SYSTEM_DRAM?type=Memory" memoryPositionAddress="0x0" />

+    <memoryMapping abstractElement="Vehicle_status_device?type=Label" memory="SYSTEM_DRAM?type=Memory" memoryPositionAddress="0x0" />

+    <memoryMapping abstractElement="Vehicle_status_host?type=Label" memory="SYSTEM_DRAM?type=Memory" memoryPositionAddress="0x0" />

+    <memoryMapping abstractElement="vel_car?type=Label" memory="SYSTEM_DRAM?type=Memory" memoryPositionAddress="0x0" />

+    <memoryMapping abstractElement="x_car_device?type=Label" memory="SYSTEM_DRAM?type=Memory" memoryPositionAddress="0x0" />

+    <memoryMapping abstractElement="x_car_host?type=Label" memory="SYSTEM_DRAM?type=Memory" memoryPositionAddress="0x0" />

+    <memoryMapping abstractElement="y_car_device?type=Label" memory="SYSTEM_DRAM?type=Memory" memoryPositionAddress="0x0" />

+    <memoryMapping abstractElement="y_car_host?type=Label" memory="SYSTEM_DRAM?type=Memory" memoryPositionAddress="0x0" />

+    <memoryMapping abstractElement="yaw_car_device?type=Label" memory="SYSTEM_DRAM?type=Memory" memoryPositionAddress="0x0" />

+    <memoryMapping abstractElement="yaw_car_host?type=Label" memory="SYSTEM_DRAM?type=Memory" memoryPositionAddress="0x0" />

+    <memoryMapping abstractElement="yaw_rate?type=Label" memory="SYSTEM_DRAM?type=Memory" memoryPositionAddress="0x0" />

+  </mappingModel>

+</am:Amalthea>

diff --git a/eclipse-tools/responseTime-analyzer/plugins/org.eclipse.app4mc.gsoc_rta/src/org/eclipse/app4mc/gsoc_rta/SharedConsts.java b/eclipse-tools/responseTime-analyzer/plugins/org.eclipse.app4mc.gsoc_rta/src/org/eclipse/app4mc/gsoc_rta/SharedConsts.java
index 11c0151..db46713 100644
--- a/eclipse-tools/responseTime-analyzer/plugins/org.eclipse.app4mc.gsoc_rta/src/org/eclipse/app4mc/gsoc_rta/SharedConsts.java
+++ b/eclipse-tools/responseTime-analyzer/plugins/org.eclipse.app4mc.gsoc_rta/src/org/eclipse/app4mc/gsoc_rta/SharedConsts.java
@@ -20,6 +20,8 @@
 	public static int RUNTIMESEC = 2 * 60 * 60;
 	public static final String SINGLE_CORE_MODEL = "model-input/SingleTCs/SingleTCs.amxmi";
 	public static final String FHDO_MODELZNP = "model-input/ChallengeModelNP.amxmi";
+	public static final String FHDO_MODELZ = "model-input/ChallengeModelZero.amxmi";
+
 
 	
 	/*-----------Measurement Configuration--------------–*/
@@ -39,6 +41,14 @@
 	public static final boolean zeroHigh = true;
 	/*-----------End Measur. Configuration--------------–*/
 
+	/*----------- Mapping Solutions ---------------------*/
+	public static final int[] rtsoptimized = new int[] { 2, 3, 5, 3, 2, 1, 5, 5, 2, 1, 0, 6, 4, 6 };
+	public static final int[] lboptimized = new int[] { 2, 1, 3, 3, 3, 0, 1, 5, 2, 1, 6, 5, 4, 6 };
+	public static final int[] tcoptimized = new int[] { 2, 4, 5, 1, 2, 0, 5, 0, 3, 4, 1, 6, 3, 6 };
+	public static final int[] earlyValid = new int[] { 5, 4, 1, 0, 1, 0, 1, 0, 3, 0, 6, 3, 2, 6 };
+
+	
+
 	public enum OPT_TYPE {
 		TASKCHAINS, RESPONSETIMESUM, LOADBALANCING
 	}
diff --git a/eclipse-tools/responseTime-analyzer/plugins/org.eclipse.app4mc.gsoc_rta/src/org/eclipse/app4mc/gsoc_rta/test/BlockingTest.java b/eclipse-tools/responseTime-analyzer/plugins/org.eclipse.app4mc.gsoc_rta/src/org/eclipse/app4mc/gsoc_rta/test/BlockingTest.java
new file mode 100644
index 0000000..d2a66a5
--- /dev/null
+++ b/eclipse-tools/responseTime-analyzer/plugins/org.eclipse.app4mc.gsoc_rta/src/org/eclipse/app4mc/gsoc_rta/test/BlockingTest.java
@@ -0,0 +1,158 @@
+package org.eclipse.app4mc.gsoc_rta.test;

+

+import static org.junit.Assert.assertEquals;

+

+import java.io.File;

+import java.math.BigInteger;

+

+import org.eclipse.app4mc.gsoc_rta.SharedConsts;

+import org.eclipse.app4mc.gsoc_rta.Blocking;

+import org.eclipse.app4mc.amalthea.model.Amalthea;

+import org.eclipse.app4mc.amalthea.model.Task;

+import org.eclipse.app4mc.amalthea.model.Time;

+import org.eclipse.app4mc.amalthea.model.TimeUnit;

+import org.eclipse.app4mc.amalthea.model.io.AmaltheaLoader;

+import org.eclipse.app4mc.amalthea.model.util.FactoryUtil;

+import org.eclipse.app4mc.amalthea.model.util.RuntimeUtil.TimeType;

+import org.junit.BeforeClass;

+import org.junit.FixMethodOrder;

+import org.junit.Test;

+import org.junit.runners.MethodSorters;

+import org.slf4j.Logger;

+import org.slf4j.LoggerFactory;

+

+@FixMethodOrder(MethodSorters.JVM)

+public class BlockingTest {

+

+	final Logger log = LoggerFactory.getLogger(this.getClass());

+

+	@BeforeClass

+	public static void init() {

+		final Amalthea ama = AmaltheaLoader.loadFromFile(new File(SharedConsts.FHDO_MODELZ));

+		if (null == ama) {

+			final Logger log = LoggerFactory.getLogger(BlockingTest.class);

+			log.error("Error loading model");

+		}

+		// Testing pipeline

+	}

+

+	@Test

+	public void testRtso() {

+		final Amalthea ama = AmaltheaLoader.loadFromFile(new File(SharedConsts.FHDO_MODELZ));

+		if (null == ama) {

+			this.log.error("Error loading model");

+			return;

+		}

+		final Amalthea amalthea = ama;

+

+		final Blocking ll = new Blocking(SharedConsts.rtsoptimized, amalthea);

+		Time sum = FactoryUtil.createTime(BigInteger.ZERO, TimeUnit.PS);

+		for (final Task t : amalthea.getSwModel().getTasks()) {

+			final Time llo = ll.getLocalBlockingTime(t, TimeType.WCET);

+

+			final String s1 = t.getName();

+			final double s2 = llo.divide(FactoryUtil.createTime(BigInteger.valueOf(1000000000), TimeUnit.PS));

+			this.log.debug("ll_{{}}={}", s1, s2);

+

+			final Time glo = ll.getGlobalBlockingTime(t, TimeType.WCET);

+

+			final double s3 = glo.divide(FactoryUtil.createTime(BigInteger.valueOf(1000000000), TimeUnit.PS));

+			this.log.debug("gl_{{}}={}", s1, s3);

+			sum = sum.add(llo).add(glo);

+		}

+		this.log.debug("{}\n\n", sum);

+		assertEquals(474926370000l, sum.getValue().longValue());

+	}

+

+	@Test

+	public void testLbo() {

+		final Amalthea ama = AmaltheaLoader.loadFromFile(new File(SharedConsts.FHDO_MODELZ));

+		if (null == ama) {

+			this.log.error("Error loading model");

+			return;

+		}

+		final Amalthea amalthea = ama;

+

+

+		final Blocking ll = new Blocking(SharedConsts.lboptimized, amalthea);

+		Time sum = FactoryUtil.createTime(BigInteger.ZERO, TimeUnit.PS);

+		for (final Task t : amalthea.getSwModel().getTasks()) {

+			final Time llo = ll.getLocalBlockingTime(t, TimeType.WCET);

+			final String s1 = t.getName();

+			final double s2 = llo.divide(FactoryUtil.createTime(BigInteger.valueOf(1000000000), TimeUnit.PS));

+			this.log.debug("ll_{{}}={}", s1, s2);

+

+			final Time glo = ll.getGlobalBlockingTime(t, TimeType.WCET);

+			final double s3 = glo.divide(FactoryUtil.createTime(BigInteger.valueOf(1000000000), TimeUnit.PS));

+			this.log.debug("gl_{{}}={}", s1, s3);

+

+			sum = sum.add(llo).add(glo);

+		}

+		this.log.debug("{}\n\n", sum);

+		assertEquals(400362057000l, sum.getValue().longValue());

+	}

+

+	@Test

+	public void testTco() {

+		final Amalthea ama = AmaltheaLoader.loadFromFile(new File(SharedConsts.FHDO_MODELZ));

+		if (null == ama) {

+			this.log.error("Error loading model");

+			return;

+		}

+		final Amalthea amalthea = ama;

+

+

+		final Blocking ll = new Blocking(SharedConsts.tcoptimized, amalthea);

+		Time sum = FactoryUtil.createTime(BigInteger.ZERO, TimeUnit.PS);

+		for (final Task t : amalthea.getSwModel().getTasks()) {

+			final Time llo = ll.getLocalBlockingTime(t, TimeType.WCET);

+			final String s1 = t.getName();

+			final double s2 = llo.divide(FactoryUtil.createTime(BigInteger.valueOf(1000000000), TimeUnit.PS));

+			this.log.debug("ll_{{}}={}", s1, s2);

+			final Time glo = ll.getGlobalBlockingTime(t, TimeType.WCET);

+			final double s3 = glo.divide(FactoryUtil.createTime(BigInteger.valueOf(1000000000), TimeUnit.PS));

+			this.log.debug("gl_{{}}={}", s1, s3);

+			sum = sum.add(llo).add(glo);

+		}

+		this.log.debug("{}\n\n", sum);

+		assertEquals(438871500000l, sum.getValue().longValue());

+	}

+

+

+	@Test

+	public void testEv() {

+

+		final Amalthea ama = AmaltheaLoader.loadFromFile(new File(SharedConsts.FHDO_MODELZ));

+		if (null == ama) {

+			this.log.error("Error loading model");

+			return;

+		}

+		final Amalthea amalthea = ama;

+

+		final Blocking ll = new Blocking(SharedConsts.earlyValid, amalthea);

+		Time sum = FactoryUtil.createTime(BigInteger.ZERO, TimeUnit.PS);

+		for (final Task t : amalthea.getSwModel().getTasks()) {

+			final Time llo = ll.getLocalBlockingTime(t, TimeType.WCET);

+			final String s1 = t.getName();

+			final double s2 = llo.divide(FactoryUtil.createTime(BigInteger.valueOf(1000000000), TimeUnit.PS));

+			this.log.debug("ll_{{}}={}", s1, s2);

+			final Time glo = ll.getGlobalBlockingTime(t, TimeType.WCET);

+			final double s3 = glo.divide(FactoryUtil.createTime(BigInteger.valueOf(1000000000), TimeUnit.PS));

+			this.log.debug("gl_{{}}={}", s1, s3);

+			sum = sum.add(llo).add(glo);

+		}

+		this.log.debug("{}\n\n", sum);

+		assertEquals(468365285000l, sum.getValue().longValue());

+	}

+

+	@Test

+	public void testUnusedMethods() {

+		// @Jun: Please reivse these tests

+		final Amalthea model = AmaltheaLoader.loadFromFile(new File(SharedConsts.FHDO_MODELZNP));

+		final Blocking b = new Blocking(SharedConsts.earlyValid, model);

+		final Task investigateMe = model.getSwModel().getTasks().get(0);

+		assertEquals(0, b.otherPriorTaskBlockingTime(investigateMe, TimeType.WCET).getValue().intValue());

+		assertEquals(0, b.minPriorTaskBlockingTime(investigateMe).getValue().intValue());

+		assertEquals(0, b.maxPriorTaskBlockingTime(investigateMe, TimeType.WCET).getValue().intValue());

+	}

+}