blob: 69cdeb9624b60b877fe1f80a10f5106a186e4b8d [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_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>