blob: db29d325e76c33024dd6ce4b69613bbcfd63b59f [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 name="TaskA1" multipleTaskActivationLimit="0"/>
<tasks name="TaskB1" multipleTaskActivationLimit="0"/>
<tasks name="TaskC1" multipleTaskActivationLimit="0"/>
<tasks name="TaskD1" multipleTaskActivationLimit="0"/>
<tasks name="TaskA2" multipleTaskActivationLimit="0"/>
<tasks name="TaskB2" multipleTaskActivationLimit="0"/>
<tasks name="TaskC2" multipleTaskActivationLimit="0"/>
<tasks name="TaskD2" multipleTaskActivationLimit="0"/>
</swModel>
<hwModel>
<definitions xsi:type="am:ProcessingUnitDefinition" name="Core_Definition" puType="CPU"/>
<structures name="System" structureType="System">
<structures name="ECU" structureType="ECU">
<modules xsi:type="am:ProcessingUnit" name="CoreA" frequencyDomain="Main_Freq_Domain?type=FrequencyDomain" definition="Core_Definition?type=ProcessingUnitDefinition"/>
<modules xsi:type="am:ProcessingUnit" name="CoreB" frequencyDomain="Main_Freq_Domain?type=FrequencyDomain" definition="Core_Definition?type=ProcessingUnitDefinition"/>
</structures>
</structures>
<domains xsi:type="am:FrequencyDomain" name="Main_Freq_Domain" clockGating="false">
<defaultValue value="200.0" unit="MHz"/>
</domains>
</hwModel>
<osModel>
<operatingSystems name="">
<taskSchedulers name="Partitioned_FPP">
<schedulingAlgorithm xsi:type="am:UserSpecificSchedulingAlgorithm"/>
</taskSchedulers>
<taskSchedulers name="GroupA">
<schedulingAlgorithm xsi:type="am:Grouping"/>
<parentAssociation parent="Partitioned_FPP?type=TaskScheduler">
<schedulingParameters>
<maxBudget value="1" unit="ms"/>
<replenishment value="10" unit="ms"/>
</schedulingParameters>
</parentAssociation>
</taskSchedulers>
<taskSchedulers name="GroupB">
<schedulingAlgorithm xsi:type="am:Grouping"/>
<parentAssociation parent="Partitioned_FPP?type=TaskScheduler">
<schedulingParameters>
<maxBudget value="2" unit="ms"/>
<replenishment value="15" unit="ms"/>
</schedulingParameters>
</parentAssociation>
</taskSchedulers>
<taskSchedulers name="GroupC">
<schedulingAlgorithm xsi:type="am:Grouping"/>
<parentAssociation>
<schedulingParameters>
<maxBudget value="5" unit="ms"/>
<replenishment value="20" unit="ms"/>
</schedulingParameters>
</parentAssociation>
</taskSchedulers>
<taskSchedulers name="GroupD">
<schedulingAlgorithm xsi:type="am:Grouping"/>
<parentAssociation parent="Partitioned_FPP?type=TaskScheduler">
<schedulingParameters>
<maxBudget value="2" unit="ms"/>
<replenishment value="5" unit="ms"/>
</schedulingParameters>
</parentAssociation>
</taskSchedulers>
</operatingSystems>
</osModel>
<mappingModel>
<schedulerAllocation scheduler="Partitioned_FPP?type=TaskScheduler" responsibility="CoreA?type=ProcessingUnit CoreB?type=ProcessingUnit" executingPU="CoreA?type=ProcessingUnit"/>
<taskAllocation task="TaskA1?type=Task" scheduler="GroupA?type=TaskScheduler" affinity="CoreA?type=ProcessingUnit">
<schedulingParameters priority="50"/>
</taskAllocation>
<taskAllocation task="TaskA2?type=Task" scheduler="GroupA?type=TaskScheduler" affinity="CoreA?type=ProcessingUnit CoreB?type=ProcessingUnit">
<schedulingParameters priority="30"/>
</taskAllocation>
<taskAllocation task="TaskB1?type=Task" scheduler="GroupB?type=TaskScheduler" affinity="CoreB?type=ProcessingUnit">
<schedulingParameters priority="55"/>
</taskAllocation>
<taskAllocation task="TaskB2?type=Task" scheduler="GroupB?type=TaskScheduler" affinity="CoreB?type=ProcessingUnit">
<schedulingParameters priority="60"/>
</taskAllocation>
<taskAllocation task="TaskC1?type=Task" scheduler="GroupC?type=TaskScheduler" affinity="CoreA?type=ProcessingUnit">
<schedulingParameters priority="75"/>
</taskAllocation>
<taskAllocation task="TaskC2?type=Task" scheduler="GroupC?type=TaskScheduler" affinity="CoreA?type=ProcessingUnit">
<schedulingParameters priority="20"/>
</taskAllocation>
<taskAllocation task="TaskD1?type=Task" scheduler="GroupD?type=TaskScheduler" affinity="CoreA?type=ProcessingUnit CoreB?type=ProcessingUnit">
<schedulingParameters priority="100"/>
</taskAllocation>
<taskAllocation task="TaskD2?type=Task" scheduler="GroupD?type=TaskScheduler" affinity="CoreB?type=ProcessingUnit CoreA?type=ProcessingUnit">
<schedulingParameters priority="10"/>
</taskAllocation>
</mappingModel>
</am:Amalthea>