| <?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_4?type=Task" name="Task_4" stimuli="Stimulus_Task_4?type=RelativePeriodicStimulus" preemption="preemptive" multipleTaskActivationLimit="3"> |
| <customProperties key="priority"> |
| <value xsi:type="am:StringObject" value="10"/> |
| </customProperties> |
| <activityGraph> |
| <items xsi:type="am:Group" name="CallSequence_4_1" ordered="true"> |
| <items xsi:type="am:RunnableCall" runnable="Runnable_4_1?type=Runnable"/> |
| </items> |
| </activityGraph> |
| </tasks> |
| <tasks xmi:id="Task_3?type=Task" name="Task_3" stimuli="Stimulus_Task_3?type=InterProcessStimulus" preemption="preemptive" multipleTaskActivationLimit="3"> |
| <customProperties key="priority"> |
| <value xsi:type="am:StringObject" value="10"/> |
| </customProperties> |
| <activityGraph> |
| <items xsi:type="am:Group" name="CallSequence_3_1" ordered="true"> |
| <items xsi:type="am:RunnableCall" runnable="Runnable_3_1?type=Runnable"/> |
| </items> |
| </activityGraph> |
| </tasks> |
| <tasks xmi:id="Task_2?type=Task" name="Task_2" stimuli="Stimulus_Task_2?type=InterProcessStimulus" preemption="preemptive" multipleTaskActivationLimit="3"> |
| <customProperties key="priority"> |
| <value xsi:type="am:StringObject" value="10"/> |
| </customProperties> |
| <activityGraph> |
| <items xsi:type="am:Group" name="CallSequence_2_1" ordered="true"> |
| <items xsi:type="am:RunnableCall" runnable="Runnable_2_1?type=Runnable"/> |
| </items> |
| </activityGraph> |
| </tasks> |
| <tasks xmi:id="Task_1?type=Task" name="Task_1" stimuli="Stimulus_Task_1?type=PeriodicStimulus" preemption="preemptive" multipleTaskActivationLimit="3"> |
| <customProperties key="priority"> |
| <value xsi:type="am:StringObject" value="10"/> |
| </customProperties> |
| <activityGraph> |
| <items xsi:type="am:Group" name="CallSequence_1_1" ordered="true"> |
| <items xsi:type="am:RunnableCall" runnable="Runnable_1_1?type=Runnable"/> |
| </items> |
| <items xsi:type="am:ProbabilitySwitch"> |
| <entries probability="70.0"> |
| <items xsi:type="am:Group" name="CallSequence_1_2a" ordered="true"> |
| <items xsi:type="am:RunnableCall" runnable="Runnable_1_2?type=Runnable"/> |
| <items xsi:type="am:InterProcessTrigger" stimulus="Stimulus_Task_2?type=InterProcessStimulus"/> |
| </items> |
| </entries> |
| <entries probability="30.0"> |
| <items xsi:type="am:Group" name="CallSequence_1_2b" ordered="true"> |
| <items xsi:type="am:RunnableCall" runnable="Runnable_1_3?type=Runnable"/> |
| <items xsi:type="am:InterProcessTrigger" stimulus="Stimulus_Task_3?type=InterProcessStimulus"/> |
| </items> |
| </entries> |
| </items> |
| <items xsi:type="am:Group" name="CallSequence_1_3" ordered="true"> |
| <items xsi:type="am:RunnableCall" runnable="Runnable_1_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="1000000"/> |
| </items> |
| </activityGraph> |
| </runnables> |
| <runnables xmi:id="Runnable_1_2?type=Runnable" name="Runnable_1_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_1?type=Runnable" name="Runnable_3_1" callback="false" service="false"> |
| <activityGraph> |
| <items xsi:type="am:Ticks"> |
| <default xsi:type="am:DiscreteValueGaussDistribution" lowerBound="0" upperBound="5000000" mean="1000000.0" sd="50000.0"/> |
| </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_1_3?type=Runnable" name="Runnable_1_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_2_1?type=Runnable" name="Runnable_2_1" callback="false" service="false"> |
| <activityGraph> |
| <items xsi:type="am:Ticks"> |
| <default xsi:type="am:DiscreteValueUniformDistribution" lowerBound="1000000" upperBound="5000000"/> |
| </items> |
| </activityGraph> |
| </runnables> |
| <runnables xmi:id="Runnable_1_4?type=Runnable" name="Runnable_1_4" callback="false" service="false"> |
| <activityGraph> |
| <items xsi:type="am:Ticks"> |
| <default xsi:type="am:DiscreteValueConstant" value="4000000"/> |
| </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"/> |
| </structures> |
| </structures> |
| <domains xsi:type="am:FrequencyDomain" xmi:id="Main_Freq_Domain?type=FrequencyDomain" name="Main_Freq_Domain" clockGating="false"> |
| <defaultValue value="600.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> |
| <osDataConsistency mode="noProtection"/> |
| </operatingSystems> |
| </osModel> |
| <stimuliModel> |
| <stimuli xsi:type="am:InterProcessStimulus" xmi:id="Stimulus_Task_2?type=InterProcessStimulus" name="Stimulus_Task_2"/> |
| <stimuli xsi:type="am:RelativePeriodicStimulus" xmi:id="Stimulus_Task_4?type=RelativePeriodicStimulus" name="Stimulus_Task_4"> |
| <nextOccurrence xsi:type="am:TimeGaussDistribution"> |
| <lowerBound value="0" unit="ms"/> |
| <upperBound value="100" unit="ms"/> |
| <mean value="30" unit="ms"/> |
| <sd value="5" unit="ms"/> |
| </nextOccurrence> |
| </stimuli> |
| <stimuli xsi:type="am:InterProcessStimulus" xmi:id="Stimulus_Task_3?type=InterProcessStimulus" name="Stimulus_Task_3"/> |
| <stimuli xsi:type="am:PeriodicStimulus" xmi:id="Stimulus_Task_1?type=PeriodicStimulus" name="Stimulus_Task_1"> |
| <recurrence value="25" unit="ms"/> |
| <offset value="0" unit="ms"/> |
| </stimuli> |
| </stimuliModel> |
| <eventModel/> |
| <constraintsModel> |
| <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="25" 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="25" 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="25" unit="ms"/> |
| </limit> |
| </requirements> |
| <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="25" unit="ms"/> |
| </limit> |
| </requirements> |
| </constraintsModel> |
| <mappingModel addressMappingType="none"> |
| <schedulerAllocation scheduler="Scheduler_1?type=TaskScheduler" responsibility="Core_1?type=ProcessingUnit"/> |
| <taskAllocation task="Task_4?type=Task" scheduler="Scheduler_1?type=TaskScheduler"/> |
| <taskAllocation task="Task_3?type=Task" scheduler="Scheduler_1?type=TaskScheduler"/> |
| <taskAllocation task="Task_2?type=Task" scheduler="Scheduler_1?type=TaskScheduler"/> |
| <taskAllocation task="Task_1?type=Task" scheduler="Scheduler_1?type=TaskScheduler"/> |
| </mappingModel> |
| </am:Amalthea> |