| <?xml version="1.0" encoding="UTF-8"?> |
| <am:Amalthea xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:am="http://app4mc.eclipse.org/amalthea/0.9.8" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> |
| <swModel> |
| <tasks xmi:id="Task_1?type=Task" name="Task_1" preemption="preemptive" multipleTaskActivationLimit="1"> |
| <customProperties key="priority"> |
| <value xsi:type="am:StringObject" value="4"/> |
| </customProperties> |
| <activityGraph> |
| <items xsi:type="am:Group" name="CallSequence" ordered="true"> |
| <items xsi:type="am:RunnableCall" runnable="Runnable_1_1?type=Runnable"/> |
| </items> |
| </activityGraph> |
| </tasks> |
| <tasks xmi:id="Task_2?type=Task" name="Task_2" preemption="preemptive" multipleTaskActivationLimit="1"> |
| <customProperties key="priority"> |
| <value xsi:type="am:StringObject" value="3"/> |
| </customProperties> |
| <activityGraph> |
| <items xsi:type="am:Group" name="CallSequence" ordered="true"> |
| <items xsi:type="am:RunnableCall" runnable="Runnable_2_1?type=Runnable"/> |
| <items xsi:type="am:RunnableCall" runnable="Runnable_2_2?type=Runnable"/> |
| </items> |
| </activityGraph> |
| </tasks> |
| <tasks xmi:id="Task_3?type=Task" name="Task_3" preemption="preemptive" multipleTaskActivationLimit="1"> |
| <customProperties key="priority"> |
| <value xsi:type="am:StringObject" value="2"/> |
| </customProperties> |
| <activityGraph> |
| <items xsi:type="am:Group" name="CallSequence" ordered="true"> |
| <items xsi:type="am:RunnableCall" runnable="Runnable_3_1?type=Runnable"/> |
| <items xsi:type="am:RunnableCall" runnable="Runnable_3_2?type=Runnable"/> |
| <items xsi:type="am:RunnableCall" runnable="Runnable_3_3?type=Runnable"/> |
| </items> |
| </activityGraph> |
| </tasks> |
| <tasks xmi:id="Task_4?type=Task" name="Task_4" preemption="preemptive" multipleTaskActivationLimit="1"> |
| <customProperties key="priority"> |
| <value xsi:type="am:StringObject" value="1"/> |
| </customProperties> |
| <activityGraph> |
| <items xsi:type="am:Group" name="CallSequence" ordered="true"> |
| <items xsi:type="am:RunnableCall" runnable="Runnable_4_1?type=Runnable"/> |
| <items xsi:type="am:RunnableCall" runnable="Runnable_4_2?type=Runnable"/> |
| <items xsi:type="am:RunnableCall" runnable="Runnable_4_3?type=Runnable"/> |
| <items xsi:type="am:RunnableCall" runnable="Runnable_4_4?type=Runnable"/> |
| </items> |
| </activityGraph> |
| </tasks> |
| <runnables xmi:id="Runnable_1_1?type=Runnable" name="Runnable_1_1" callback="false" service="false"> |
| <activityGraph> |
| <items xsi:type="am:Ticks"> |
| <default xsi:type="am:DiscreteValueConstant" value="1500000"/> |
| </items> |
| </activityGraph> |
| </runnables> |
| <runnables xmi:id="Runnable_2_1?type=Runnable" name="Runnable_2_1" callback="false" service="false"> |
| <activityGraph> |
| <items xsi:type="am:Ticks"> |
| <default xsi:type="am:DiscreteValueConstant" value="1500000"/> |
| </items> |
| </activityGraph> |
| </runnables> |
| <runnables xmi:id="Runnable_2_2?type=Runnable" name="Runnable_2_2" callback="false" service="false"> |
| <activityGraph> |
| <items xsi:type="am:Ticks"> |
| <default xsi:type="am:DiscreteValueConstant" value="1500000"/> |
| </items> |
| </activityGraph> |
| </runnables> |
| <runnables xmi:id="Runnable_3_1?type=Runnable" name="Runnable_3_1" callback="false" service="false"> |
| <activityGraph> |
| <items xsi:type="am:Ticks"> |
| <default xsi:type="am:DiscreteValueConstant" value="1000000"/> |
| </items> |
| </activityGraph> |
| </runnables> |
| <runnables xmi:id="Runnable_3_2?type=Runnable" name="Runnable_3_2" callback="false" service="false"> |
| <activityGraph> |
| <items xsi:type="am:Ticks"> |
| <default xsi:type="am:DiscreteValueConstant" value="2000000"/> |
| </items> |
| </activityGraph> |
| </runnables> |
| <runnables xmi:id="Runnable_3_3?type=Runnable" name="Runnable_3_3" callback="false" service="false"> |
| <activityGraph> |
| <items xsi:type="am:Ticks"> |
| <default xsi:type="am:DiscreteValueConstant" value="1000000"/> |
| </items> |
| </activityGraph> |
| </runnables> |
| <runnables xmi:id="Runnable_4_1?type=Runnable" name="Runnable_4_1" callback="false" service="false"> |
| <activityGraph> |
| <items xsi:type="am:Ticks"> |
| <default xsi:type="am:DiscreteValueConstant" value="1000000"/> |
| </items> |
| </activityGraph> |
| </runnables> |
| <runnables xmi:id="Runnable_4_2?type=Runnable" name="Runnable_4_2" callback="false" service="false"> |
| <activityGraph> |
| <items xsi:type="am:Ticks"> |
| <default xsi:type="am:DiscreteValueConstant" value="2000000"/> |
| </items> |
| </activityGraph> |
| </runnables> |
| <runnables xmi:id="Runnable_4_3?type=Runnable" name="Runnable_4_3" callback="false" service="false"> |
| <activityGraph> |
| <items xsi:type="am:Ticks"> |
| <default xsi:type="am:DiscreteValueConstant" value="3000000"/> |
| </items> |
| </activityGraph> |
| </runnables> |
| <runnables xmi:id="Runnable_4_4?type=Runnable" name="Runnable_4_4" callback="false" service="false"> |
| <activityGraph> |
| <items xsi:type="am:Ticks"> |
| <default xsi:type="am:DiscreteValueConstant" value="2000000"/> |
| </items> |
| </activityGraph> |
| </runnables> |
| </swModel> |
| <hwModel> |
| <definitions xsi:type="am:ProcessingUnitDefinition" xmi:id="Core_Definition?type=ProcessingUnitDefinition" name="Core_Definition" puType="CPU" features="Instructions/IPC_1?type=HwFeature"/> |
| <definitions xsi:type="am:MemoryDefinition" xmi:id="Memory_Def?type=MemoryDefinition" name="Memory_Def"> |
| <accessLatency xsi:type="am:DiscreteValueConstant" value="12"/> |
| </definitions> |
| <featureCategories xmi:id="Instructions?type=HwFeatureCategory" name="Instructions" featureType="performance"> |
| <features xmi:id="Instructions/IPC_1?type=HwFeature" name="IPC_1" value="1.0"/> |
| </featureCategories> |
| <structures xmi:id="System?type=HwStructure" name="System"> |
| <structures xmi:id="ECU?type=HwStructure" name="ECU"> |
| <modules xsi:type="am:Memory" xmi:id="Memory?type=Memory" name="Memory" definition="Memory_Def?type=MemoryDefinition"/> |
| <modules xsi:type="am:ProcessingUnit" xmi:id="Core_1?type=ProcessingUnit" name="Core_1" frequencyDomain="Main_Freq_Domain?type=FrequencyDomain" definition="Core_Definition?type=ProcessingUnitDefinition"/> |
| <modules xsi:type="am:ProcessingUnit" xmi:id="Core_2?type=ProcessingUnit" name="Core_2" frequencyDomain="Main_Freq_Domain?type=FrequencyDomain" definition="Core_Definition?type=ProcessingUnitDefinition"/> |
| </structures> |
| </structures> |
| <domains xsi:type="am:FrequencyDomain" xmi:id="Main_Freq_Domain?type=FrequencyDomain" name="Main_Freq_Domain" clockGating="false"> |
| <defaultValue value="100.0" unit="MHz"/> |
| </domains> |
| </hwModel> |
| <osModel> |
| <operatingSystems name="OperatingSystem"> |
| <taskSchedulers xmi:id="Scheduler_1?type=TaskScheduler" name="Scheduler_1"> |
| <schedulingAlgorithm xsi:type="am:OSEK"/> |
| </taskSchedulers> |
| <taskSchedulers xmi:id="Scheduler_2?type=TaskScheduler" name="Scheduler_2"> |
| <schedulingAlgorithm xsi:type="am:OSEK"/> |
| </taskSchedulers> |
| </operatingSystems> |
| </osModel> |
| <stimuliModel> |
| <stimuli xsi:type="am:PeriodicStimulus" xmi:id="Stimulus_Task_1?type=PeriodicStimulus" name="Stimulus_Task_1"> |
| <recurrence value="180" unit="ms"/> |
| <offset value="0" unit="ms"/> |
| </stimuli> |
| <stimuli xsi:type="am:PeriodicStimulus" xmi:id="Stimulus_Task_2?type=PeriodicStimulus" name="Stimulus_Task_2"> |
| <recurrence value="200" unit="ms"/> |
| <offset value="0" unit="ms"/> |
| </stimuli> |
| <stimuli xsi:type="am:PeriodicStimulus" xmi:id="Stimulus_Task_3?type=PeriodicStimulus" name="Stimulus_Task_3"> |
| <recurrence value="300" unit="ms"/> |
| <offset value="0" unit="ms"/> |
| </stimuli> |
| <stimuli xsi:type="am:PeriodicStimulus" xmi:id="Stimulus_Task_4?type=PeriodicStimulus" name="Stimulus_Task_4"> |
| <recurrence value="1" unit="s"/> |
| <offset value="0" unit="ms"/> |
| </stimuli> |
| </stimuliModel> |
| <eventModel/> |
| <constraintsModel> |
| <requirements xsi:type="am:ProcessRequirement" name="Deadline_1" severity="Critical" process="Task_1?type=Task"> |
| <limit xsi:type="am:TimeRequirementLimit" limitType="UpperLimit" metric="ResponseTime"> |
| <limitValue value="75" unit="ms"/> |
| </limit> |
| </requirements> |
| <requirements xsi:type="am:ProcessRequirement" name="Deadline_2" severity="Critical" process="Task_2?type=Task"> |
| <limit xsi:type="am:TimeRequirementLimit" limitType="UpperLimit" metric="ResponseTime"> |
| <limitValue value="115" unit="ms"/> |
| </limit> |
| </requirements> |
| <requirements xsi:type="am:ProcessRequirement" name="Deadline_3" severity="Critical" process="Task_3?type=Task"> |
| <limit xsi:type="am:TimeRequirementLimit" limitType="UpperLimit" metric="ResponseTime"> |
| <limitValue value="300" unit="ms"/> |
| </limit> |
| </requirements> |
| <requirements xsi:type="am:ProcessRequirement" name="Deadline_4" severity="Critical" process="Task_4?type=Task"> |
| <limit xsi:type="am:TimeRequirementLimit" limitType="UpperLimit" metric="ResponseTime"> |
| <limitValue value="960" unit="ms"/> |
| </limit> |
| </requirements> |
| </constraintsModel> |
| <mappingModel addressMappingType="none"> |
| <schedulerAllocation scheduler="Scheduler_1?type=TaskScheduler" responsibility="Core_1?type=ProcessingUnit"/> |
| <schedulerAllocation scheduler="Scheduler_2?type=TaskScheduler" responsibility="Core_2?type=ProcessingUnit"/> |
| <taskAllocation task="Task_1?type=Task" scheduler="Scheduler_1?type=TaskScheduler"/> |
| <taskAllocation task="Task_2?type=Task" scheduler="Scheduler_1?type=TaskScheduler"/> |
| <taskAllocation task="Task_3?type=Task" scheduler="Scheduler_2?type=TaskScheduler"/> |
| <taskAllocation task="Task_4?type=Task" scheduler="Scheduler_2?type=TaskScheduler"/> |
| </mappingModel> |
| </am:Amalthea> |