blob: 1d45939a2754c1b5aa46d22b13e8f129fe6bc09c [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?>
<am:Amalthea xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:am="http://app4mc.eclipse.org/amalthea/2.0.0">
<swModel>
<tasks xmi:id="Task1?type=Task" name="Task1" stimuli="Stim0?type=PeriodicStimulus" preemption="preemptive" multipleTaskActivationLimit="10">
<activityGraph>
<items xsi:type="am:Ticks">
<default xsi:type="am:DiscreteValueConstant" value="380000"/>
</items>
<items xsi:type="am:LabelAccess" data="Label1?type=Label" access="read"/>
<items xsi:type="am:Ticks">
<default xsi:type="am:DiscreteValueConstant" value="380000"/>
</items>
<items xsi:type="am:LabelAccess" data="Label3?type=Label" access="read"/>
<items xsi:type="am:Ticks">
<default xsi:type="am:DiscreteValueConstant" value="1400000"/>
</items>
</activityGraph>
</tasks>
<tasks xmi:id="Task2?type=Task" name="Task2" stimuli="Stim0?type=PeriodicStimulus" preemption="preemptive" multipleTaskActivationLimit="10">
<activityGraph>
<items xsi:type="am:Ticks">
<default xsi:type="am:DiscreteValueConstant" value="180000"/>
</items>
<items xsi:type="am:LabelAccess" data="Label2?type=Label" access="read"/>
<items xsi:type="am:Ticks">
<default xsi:type="am:DiscreteValueConstant" value="50000"/>
</items>
<items xsi:type="am:LabelAccess" data="Label1?type=Label" access="read"/>
<items xsi:type="am:Ticks">
<default xsi:type="am:DiscreteValueConstant" value="1500000"/>
</items>
<items xsi:type="am:LabelAccess" data="Label4?type=Label" access="read"/>
</activityGraph>
</tasks>
<tasks xmi:id="Task3?type=Task" name="Task3" stimuli="Stim1?type=PeriodicStimulus" preemption="preemptive" multipleTaskActivationLimit="10">
<activityGraph>
<items xsi:type="am:Ticks">
<default xsi:type="am:DiscreteValueConstant" value="4200000"/>
</items>
</activityGraph>
</tasks>
<tasks xmi:id="Task4?type=Task" name="Task4" stimuli="Stim3?type=PeriodicStimulus" preemption="preemptive" multipleTaskActivationLimit="10">
<activityGraph>
<items xsi:type="am:Ticks">
<default xsi:type="am:DiscreteValueConstant" value="370000"/>
</items>
<items xsi:type="am:LabelAccess" data="Label1?type=Label" access="read"/>
<items xsi:type="am:Ticks">
<default xsi:type="am:DiscreteValueConstant" value="2400000"/>
</items>
</activityGraph>
</tasks>
<tasks xmi:id="Task5?type=Task" name="Task5" stimuli="Stim2?type=PeriodicStimulus" preemption="preemptive" multipleTaskActivationLimit="10">
<activityGraph>
<items xsi:type="am:Ticks">
<default xsi:type="am:DiscreteValueConstant" value="1100000"/>
</items>
<items xsi:type="am:LabelAccess" data="Label4?type=Label" access="read"/>
<items xsi:type="am:Ticks">
<default xsi:type="am:DiscreteValueConstant" value="1500000"/>
</items>
</activityGraph>
</tasks>
<tasks xmi:id="Task6?type=Task" name="Task6" stimuli="Stim3?type=PeriodicStimulus" preemption="preemptive" multipleTaskActivationLimit="10">
<activityGraph>
<items xsi:type="am:Ticks">
<default xsi:type="am:DiscreteValueConstant" value="2300000"/>
</items>
</activityGraph>
</tasks>
<labels xmi:id="Label0?type=Label" name="Label0" constant="false" bVolatile="false">
<size value="30" unit="B"/>
</labels>
<labels xmi:id="Label1?type=Label" name="Label1" constant="false" bVolatile="false">
<size value="60" unit="B"/>
</labels>
<labels xmi:id="Label2?type=Label" name="Label2" constant="false" bVolatile="false">
<size value="80" unit="B"/>
</labels>
<labels xmi:id="Label3?type=Label" name="Label3" constant="false" bVolatile="false">
<size value="100" unit="B"/>
</labels>
<labels xmi:id="Label4?type=Label" name="Label4" constant="false" bVolatile="false">
<size value="180" unit="B"/>
</labels>
</swModel>
<hwModel>
<definitions xsi:type="am:ProcessingUnitDefinition" xmi:id="DefaultCore?type=ProcessingUnitDefinition" name="DefaultCore" puType="CPU"/>
<definitions xsi:type="am:MemoryDefinition" xmi:id="DefaultMemory?type=MemoryDefinition" name="DefaultMemory"/>
<structures xmi:id="Democar?type=HwStructure" name="Democar" structureType="System">
<structures xmi:id="ECU_1?type=HwStructure" name="ECU_1" structureType="ECU">
<structures xmi:id="Microcontroller_1?type=HwStructure" name="Microcontroller_1" structureType="Microcontroller">
<modules xsi:type="am:Memory" xmi:id="Mem_1?type=Memory" name="Mem_1" frequencyDomain="FrequencyDomain_1?type=FrequencyDomain" definition="DefaultMemory?type=MemoryDefinition"/>
<modules xsi:type="am:ProcessingUnit" xmi:id="Core_1?type=ProcessingUnit" name="Core_1" frequencyDomain="FrequencyDomain_1?type=FrequencyDomain" definition="DefaultCore?type=ProcessingUnitDefinition">
<accessElements name="memAccess_core1" destination="Mem_1?type=Memory">
<dataRate value="100" unit="kbitPerSecond"/>
</accessElements>
</modules>
<modules xsi:type="am:ProcessingUnit" xmi:id="Core_2?type=ProcessingUnit" name="Core_2" frequencyDomain="FrequencyDomain_1?type=FrequencyDomain" definition="DefaultCore?type=ProcessingUnitDefinition">
<accessElements name="memAccess_core2" destination="Mem_1?type=Memory">
<dataRate value="100" unit="kbitPerSecond"/>
</accessElements>
</modules>
</structures>
</structures>
</structures>
<domains xsi:type="am:FrequencyDomain" xmi:id="FrequencyDomain_1?type=FrequencyDomain" name="FrequencyDomain_1" clockGating="false">
<defaultValue value="100.0" unit="MHz"/>
</domains>
</hwModel>
<osModel>
<operatingSystems name="">
<taskSchedulers xmi:id="rrScheduler?type=TaskScheduler" name="rrScheduler" definition="PriorityBasedRoundRobin?type=SchedulerDefinition">
<schedulingParameters key="timeSliceLength?type=SchedulingParameterDefinition">
<value xsi:type="am:Time" value="4" unit="ms"/>
</schedulingParameters>
</taskSchedulers>
</operatingSystems>
<schedulerDefinitions xmi:id="PriorityBasedRoundRobin?type=SchedulerDefinition" name="PriorityBasedRoundRobin" description="Round Robin scheduling algorithm assigns equally sized time slices&#xA;to each process that it schedules. The priority describes the order&#xA;in which the processes will be executed. If two processes have the&#xA;same priority, the order of these two is random (non-deterministic).&#xA;&#xA;Algorithm parameters&#xA; - timeSliceLength [1] Time&#xA; Length of each time slice.&#xA;&#xA;Process parameters&#xA; - priority [1] Integer&#xA; The priority of the process (a higher value means a higher priority).&#xA;&#xA;Options:&#xA; -&#xA;&#xA;Reference:&#xA; - TODO" algorithmParameters="timeSliceLength?type=SchedulingParameterDefinition" processParameters="priority?type=SchedulingParameterDefinition" requiresParentScheduler="false" passesParametersUpwards="false" hasExactlyOneChild="false"/>
<schedulingParameterDefinitions xmi:id="timeSliceLength?type=SchedulingParameterDefinition" name="timeSliceLength" type="Time" many="false" mandatory="true"/>
<schedulingParameterDefinitions xmi:id="priority?type=SchedulingParameterDefinition" name="priority" type="Integer" many="false" mandatory="true"/>
</osModel>
<stimuliModel>
<stimuli xsi:type="am:PeriodicStimulus" xmi:id="Stim0?type=PeriodicStimulus" name="Stim0">
<recurrence value="100" unit="ms"/>
</stimuli>
<stimuli xsi:type="am:PeriodicStimulus" xmi:id="Stim1?type=PeriodicStimulus" name="Stim1">
<recurrence value="100" unit="ms"/>
<offset value="2" unit="ms"/>
</stimuli>
<stimuli xsi:type="am:PeriodicStimulus" xmi:id="Stim2?type=PeriodicStimulus" name="Stim2">
<recurrence value="100" unit="ms"/>
<offset value="5" unit="ms"/>
</stimuli>
<stimuli xsi:type="am:PeriodicStimulus" xmi:id="Stim3?type=PeriodicStimulus" name="Stim3">
<recurrence value="100" unit="ms"/>
<offset value="12" unit="ms"/>
</stimuli>
</stimuliModel>
<mappingModel>
<schedulerAllocation scheduler="rrScheduler?type=TaskScheduler" responsibility="Core_1?type=ProcessingUnit Core_2?type=ProcessingUnit" executingPU="Core_1?type=ProcessingUnit"/>
<taskAllocation task="Task1?type=Task" scheduler="rrScheduler?type=TaskScheduler" affinity="Core_1?type=ProcessingUnit Core_2?type=ProcessingUnit">
<schedulingParameters key="priority?type=SchedulingParameterDefinition">
<value xsi:type="am:IntegerObject" value="0"/>
</schedulingParameters>
</taskAllocation>
<taskAllocation task="Task2?type=Task" scheduler="rrScheduler?type=TaskScheduler" affinity="Core_1?type=ProcessingUnit Core_2?type=ProcessingUnit">
<schedulingParameters key="priority?type=SchedulingParameterDefinition">
<value xsi:type="am:IntegerObject" value="0"/>
</schedulingParameters>
</taskAllocation>
<taskAllocation task="Task3?type=Task" scheduler="rrScheduler?type=TaskScheduler" affinity="Core_1?type=ProcessingUnit Core_2?type=ProcessingUnit">
<schedulingParameters key="priority?type=SchedulingParameterDefinition">
<value xsi:type="am:IntegerObject" value="1"/>
</schedulingParameters>
</taskAllocation>
<taskAllocation task="Task4?type=Task" scheduler="rrScheduler?type=TaskScheduler" affinity="Core_1?type=ProcessingUnit Core_2?type=ProcessingUnit">
<schedulingParameters key="priority?type=SchedulingParameterDefinition">
<value xsi:type="am:IntegerObject" value="0"/>
</schedulingParameters>
</taskAllocation>
<taskAllocation task="Task5?type=Task" scheduler="rrScheduler?type=TaskScheduler" affinity="Core_1?type=ProcessingUnit Core_2?type=ProcessingUnit">
<schedulingParameters key="priority?type=SchedulingParameterDefinition">
<value xsi:type="am:IntegerObject" value="1"/>
</schedulingParameters>
</taskAllocation>
<taskAllocation task="Task6?type=Task" scheduler="rrScheduler?type=TaskScheduler" affinity="Core_1?type=ProcessingUnit Core_2?type=ProcessingUnit">
<schedulingParameters key="priority?type=SchedulingParameterDefinition">
<value xsi:type="am:IntegerObject" value="2"/>
</schedulingParameters>
</taskAllocation>
<memoryMapping abstractElement="Label0?type=Label" memory="Mem_1?type=Memory" memoryPositionAddress="0x0"/>
<memoryMapping abstractElement="Label1?type=Label" memory="Mem_1?type=Memory" memoryPositionAddress="0x0"/>
<memoryMapping abstractElement="Label2?type=Label" memory="Mem_1?type=Memory" memoryPositionAddress="0x0"/>
<memoryMapping abstractElement="Label3?type=Label" memory="Mem_1?type=Memory" memoryPositionAddress="0x0"/>
<memoryMapping abstractElement="Label4?type=Label" memory="Mem_1?type=Memory" memoryPositionAddress="0x0"/>
</mappingModel>
</am:Amalthea>