blob: f1d0a3822a03b853ff37138f0386ebbd8cf08996 [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?>
<am:Amalthea xmlns:am="http://app4mc.eclipse.org/amalthea/0.9.3" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmi:version="2.0">
<swModel>
<tasks name="Task5ms" stimuli="Stimuli5msA?type=PeriodicStimulus Stimuli5msB?type=PeriodicStimulus" preemption="preemptive" multipleTaskActivationLimit="0">
<callGraph>
<graphEntries xsi:type="am:CallSequence">
<calls xsi:type="am:TaskRunnableCall" runnable="Runnable5ms?type=Runnable" />
</graphEntries>
</callGraph>
</tasks>
<tasks name="Task1ms" stimuli="Stimuli1ms?type=PeriodicStimulus" preemption="preemptive" multipleTaskActivationLimit="0">
<callGraph>
<graphEntries xsi:type="am:CallSequence">
<calls xsi:type="am:TaskRunnableCall" runnable="Runnable1ms?type=Runnable" />
</graphEntries>
</callGraph>
</tasks>
<tasks name="Task10ms" stimuli="Stimuli10ms?type=PeriodicStimulus" preemption="preemptive" multipleTaskActivationLimit="0">
<callGraph>
<graphEntries xsi:type="am:CallSequence">
<calls xsi:type="am:TaskRunnableCall" runnable="Runnable10ms?type=Runnable" />
</graphEntries>
<graphEntries xsi:type="am:CallSequence" name="IPC20ms">
<calls xsi:type="am:InterProcessTrigger" stimulus="Task10ms2Task20ms?type=InterProcessStimulus">
<counter prescaler="2" offset="0" />
</calls>
</graphEntries>
</callGraph>
</tasks>
<tasks name="Task20ms" stimuli="Task10ms2Task20ms?type=InterProcessStimulus" preemption="preemptive" multipleTaskActivationLimit="0">
<callGraph>
<graphEntries xsi:type="am:CallSequence">
<calls xsi:type="am:TaskRunnableCall" runnable="Runnable20ms?type=Runnable" />
</graphEntries>
</callGraph>
</tasks>
<runnables name="Runnable1ms" callback="false" service="false">
<runnableItems xsi:type="am:SemaphoreAccess" semaphore="Lock?type=Semaphore" access="request" waitingBehaviour="active" />
<runnableItems xsi:type="am:Ticks">
<default lowerBound="200" upperBound="600" xsi:type="am:DiscreteValueUniformDistribution" />
</runnableItems>
<runnableItems xsi:type="am:SemaphoreAccess" semaphore="Lock?type=Semaphore" access="release" waitingBehaviour="active" />
<runnableItems xsi:type="am:Ticks">
<default lowerBound="1" upperBound="10" pRemainPromille="0.004999999888241291" average="4" xsi:type="am:DiscreteValueWeibullEstimatorsDistribution" />
</runnableItems>
<runnableItems xsi:type="am:SemaphoreAccess" semaphore="Lock?type=Semaphore" access="request" waitingBehaviour="active" />
<runnableItems xsi:type="am:Ticks">
<default lowerBound="200" upperBound="600" xsi:type="am:DiscreteValueUniformDistribution" />
</runnableItems>
<runnableItems xsi:type="am:SemaphoreAccess" semaphore="Lock?type=Semaphore" access="release" waitingBehaviour="active" />
<runnableItems xsi:type="am:Ticks">
<default lowerBound="1" upperBound="15" pRemainPromille="0.004999999888241291" average="5" xsi:type="am:DiscreteValueWeibullEstimatorsDistribution" />
</runnableItems>
</runnables>
<runnables name="Runnable5ms" callback="false" service="false">
<runnableItems xsi:type="am:SemaphoreAccess" semaphore="Lock?type=Semaphore" access="request" waitingBehaviour="active" />
<runnableItems xsi:type="am:Ticks">
<default lowerBound="200" upperBound="600" xsi:type="am:DiscreteValueUniformDistribution" />
</runnableItems>
<runnableItems xsi:type="am:SemaphoreAccess" semaphore="Lock?type=Semaphore" access="release" waitingBehaviour="active" />
<runnableItems xsi:type="am:Ticks">
<default lowerBound="1" upperBound="10" pRemainPromille="0.004999999888241291" average="4" xsi:type="am:DiscreteValueWeibullEstimatorsDistribution" />
</runnableItems>
<runnableItems xsi:type="am:SemaphoreAccess" semaphore="Lock?type=Semaphore" access="request" waitingBehaviour="active" />
<runnableItems xsi:type="am:Ticks">
<default lowerBound="200" upperBound="600" xsi:type="am:DiscreteValueUniformDistribution" />
</runnableItems>
<runnableItems xsi:type="am:SemaphoreAccess" semaphore="Lock?type=Semaphore" access="release" waitingBehaviour="active" />
<runnableItems xsi:type="am:Ticks">
<default lowerBound="1" upperBound="15" pRemainPromille="0.004999999888241291" average="5" xsi:type="am:DiscreteValueWeibullEstimatorsDistribution" />
</runnableItems>
</runnables>
<runnables name="Runnable20ms" callback="false" service="false">
<runnableItems xsi:type="am:SemaphoreAccess" semaphore="Lock?type=Semaphore" access="request" waitingBehaviour="active" />
<runnableItems xsi:type="am:Ticks">
<default lowerBound="200" upperBound="600" xsi:type="am:DiscreteValueUniformDistribution" />
</runnableItems>
<runnableItems xsi:type="am:SemaphoreAccess" semaphore="Lock?type=Semaphore" access="release" waitingBehaviour="active" />
<runnableItems xsi:type="am:Ticks">
<default lowerBound="1" upperBound="10" pRemainPromille="0.004999999888241291" average="4" xsi:type="am:DiscreteValueWeibullEstimatorsDistribution" />
</runnableItems>
<runnableItems xsi:type="am:SemaphoreAccess" semaphore="Lock?type=Semaphore" access="request" waitingBehaviour="active" />
<runnableItems xsi:type="am:Ticks">
<default lowerBound="200" upperBound="600" xsi:type="am:DiscreteValueUniformDistribution" />
</runnableItems>
<runnableItems xsi:type="am:SemaphoreAccess" semaphore="Lock?type=Semaphore" access="release" waitingBehaviour="active" />
<runnableItems xsi:type="am:Ticks">
<default lowerBound="1" upperBound="15" pRemainPromille="0.004999999888241291" average="5" xsi:type="am:DiscreteValueWeibullEstimatorsDistribution" />
</runnableItems>
</runnables>
<runnables name="Runnable10ms" callback="false" service="false">
<runnableItems xsi:type="am:SemaphoreAccess" semaphore="Lock?type=Semaphore" access="request" waitingBehaviour="active" />
<runnableItems xsi:type="am:Ticks">
<default lowerBound="200" upperBound="600" xsi:type="am:DiscreteValueUniformDistribution" />
</runnableItems>
<runnableItems xsi:type="am:SemaphoreAccess" semaphore="Lock?type=Semaphore" access="release" waitingBehaviour="active" />
<runnableItems xsi:type="am:Ticks">
<default lowerBound="1" upperBound="10" pRemainPromille="0.004999999888241291" average="4" xsi:type="am:DiscreteValueWeibullEstimatorsDistribution" />
</runnableItems>
<runnableItems xsi:type="am:SemaphoreAccess" semaphore="Lock?type=Semaphore" access="request" waitingBehaviour="active" />
<runnableItems xsi:type="am:Ticks">
<default lowerBound="200" upperBound="600" xsi:type="am:DiscreteValueUniformDistribution" />
</runnableItems>
<runnableItems xsi:type="am:SemaphoreAccess" semaphore="Lock?type=Semaphore" access="release" waitingBehaviour="active" />
<runnableItems xsi:type="am:Ticks">
<default lowerBound="1" upperBound="15" pRemainPromille="0.004999999888241291" average="5" xsi:type="am:DiscreteValueWeibullEstimatorsDistribution" />
</runnableItems>
</runnables>
</swModel>
<hwModel>
<definitions xsi:type="am:ProcessingUnitDefinition" name="C0_Type" puType="CPU" features="Instructions/IPC_1.0?type=HwFeature" />
<definitions xsi:type="am:ProcessingUnitDefinition" name="C1_Type" puType="CPU" features="Instructions/IPC_1.0?type=HwFeature" />
<featureCategories name="Instructions" featureType="performance">
<features name="IPC_1.0" value="1.0" />
</featureCategories>
<structures name="System" structureType="System">
<structures name="ECU" structureType="ECU">
<structures name="mC" structureType="Microcontroller">
<modules xsi:type="am:ProcessingUnit" name="C0" frequencyDomain="clock_C0?type=FrequencyDomain" definition="C0_Type?type=ProcessingUnitDefinition" />
<modules xsi:type="am:ProcessingUnit" name="C1" frequencyDomain="clock_C1?type=FrequencyDomain" definition="C1_Type?type=ProcessingUnitDefinition" />
</structures>
</structures>
</structures>
<domains xsi:type="am:FrequencyDomain" name="clock_C0" clockGating="false">
<defaultValue value="240.0" unit="MHz" />
</domains>
<domains xsi:type="am:FrequencyDomain" name="clock_C1" clockGating="false">
<defaultValue value="240.0" unit="MHz" />
</domains>
</hwModel>
<osModel>
<semaphores name="Lock" initialValue="0" maxValue="0" priorityCeilingProtocol="false" />
<operatingSystems name="OS">
<taskSchedulers name="SchedC0">
<schedulingAlgorithm xsi:type="am:OSEK" />
</taskSchedulers>
<taskSchedulers name="SchedC1">
<schedulingAlgorithm xsi:type="am:OSEK" />
</taskSchedulers>
</operatingSystems>
</osModel>
<stimuliModel>
<stimuli xsi:type="am:PeriodicStimulus" name="Stimuli1ms">
<offset value="0" unit="ms" />
<recurrence value="1" unit="ms" />
</stimuli>
<stimuli xsi:type="am:PeriodicStimulus" name="Stimuli5msA">
<offset value="800" unit="us" />
<recurrence value="5" unit="ms" />
</stimuli>
<stimuli xsi:type="am:PeriodicStimulus" name="Stimuli5msB">
<offset value="1500" unit="us" />
<recurrence value="5" unit="ms" />
</stimuli>
<stimuli xsi:type="am:PeriodicStimulus" name="Stimuli10ms">
<offset value="0" unit="ms" />
<recurrence value="10" unit="ms" />
</stimuli>
<stimuli xsi:type="am:InterProcessStimulus" name="Task10ms2Task20ms" />
</stimuliModel>
<mappingModel>
<schedulerAllocation>
<scheduler xsi:type="am:TaskScheduler" href="amlt:/#SchedC0?type=TaskScheduler" />
<responsibility href="amlt:/#C0?type=ProcessingUnit" />
</schedulerAllocation>
<schedulerAllocation>
<scheduler xsi:type="am:TaskScheduler" href="amlt:/#SchedC1?type=TaskScheduler" />
<responsibility href="amlt:/#C1?type=ProcessingUnit" />
</schedulerAllocation>
<taskAllocation task="Task1ms?type=Task" scheduler="SchedC0?type=TaskScheduler">
<schedulingParameters priority="50" />
</taskAllocation>
<taskAllocation task="Task20ms?type=Task" scheduler="SchedC0?type=TaskScheduler">
<schedulingParameters priority="10" />
</taskAllocation>
<taskAllocation task="Task5ms?type=Task" scheduler="SchedC1?type=TaskScheduler">
<schedulingParameters priority="40" />
</taskAllocation>
<taskAllocation task="Task10ms?type=Task" scheduler="SchedC1?type=TaskScheduler">
<schedulingParameters priority="30" />
</taskAllocation>
</mappingModel>
</am:Amalthea>