blob: f092a74d9d2c7fc72c7cda16f666f52189a62cdf [file] [log] [blame]
<?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>