blob: eb5eab8666507023cd9261bc04ca33a2ca63702a [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="doA" stimuli="A_Stimuli_EventBased?type=EventStimulus" preemption="cooperative" multipleTaskActivationLimit="0">
<activityGraph>
<items xsi:type="am:Group" name="CallSequence" ordered="true">
<items xsi:type="am:RunnableCall" runnable="runnA?type=Runnable"/>
</items>
</activityGraph>
</tasks>
<tasks name="doB" stimuli="B_Stimuli_25ms?type=PeriodicStimulus" preemption="cooperative" multipleTaskActivationLimit="0">
<activityGraph>
<items xsi:type="am:ModeSwitch">
<entries name="conditionTrue">
<items xsi:type="am:Group" name="CallSequence" ordered="true">
<items xsi:type="am:RunnableCall" runnable="runnB?type=Runnable"/>
</items>
<condition>
<entries xsi:type="am:ModeConditionConjunction">
<entries xsi:type="am:ModeValueCondition" label="executionMode?type=ModeLabel" value="ModeB" relation="EQUAL"/>
<entries xsi:type="am:ModeValueCondition" label="countX?type=ModeLabel" value="3" relation="GREATER_THAN"/>
<entries xsi:type="am:ModeValueCondition" label="countY?type=ModeLabel" value="3" relation="GREATER_THAN"/>
</entries>
</condition>
</entries>
</items>
</activityGraph>
</tasks>
<tasks name="genY" stimuli="genTrigger?type=RelativePeriodicStimulus" preemption="preemptive" multipleTaskActivationLimit="0">
<activityGraph>
<items xsi:type="am:Group" name="CallSequence" ordered="true">
<items xsi:type="am:RunnableCall" runnable="counterForY?type=Runnable"/>
</items>
</activityGraph>
</tasks>
<tasks name="genX" stimuli="genTrigger?type=RelativePeriodicStimulus" preemption="preemptive" multipleTaskActivationLimit="0">
<activityGraph>
<items xsi:type="am:Group" name="CallSequence" ordered="true">
<items xsi:type="am:RunnableCall" runnable="counterForX?type=Runnable"/>
</items>
</activityGraph>
</tasks>
<runnables name="runnA" callback="false" service="false">
<activityGraph>
<items xsi:type="am:Ticks">
<default xsi:type="am:DiscreteValueConstant" value="10000"/>
</items>
</activityGraph>
</runnables>
<runnables name="runnB" callback="false" service="false">
<activityGraph>
<items xsi:type="am:ModeLabelAccess" data="countX?type=ModeLabel" access="decrement" step="3"/>
<items xsi:type="am:ModeLabelAccess" data="countY?type=ModeLabel" access="decrement" step="3"/>
<items xsi:type="am:Ticks">
<default xsi:type="am:DiscreteValueConstant" value="10000"/>
</items>
</activityGraph>
</runnables>
<runnables name="counterForY" callback="false" service="false">
<activityGraph>
<items xsi:type="am:Ticks">
<default xsi:type="am:DiscreteValueConstant" value="10000"/>
</items>
<items xsi:type="am:ModeLabelAccess" data="countY?type=ModeLabel" access="increment" step="1"/>
<items xsi:type="am:CustomEventTrigger" event="check?type=CustomEvent"/>
</activityGraph>
</runnables>
<runnables name="counterForX" callback="false" service="false">
<activityGraph>
<items xsi:type="am:Ticks">
<default xsi:type="am:DiscreteValueConstant" value="10000"/>
</items>
<items xsi:type="am:ModeLabelAccess" data="countX?type=ModeLabel" access="increment" step="1"/>
<items xsi:type="am:CustomEventTrigger" event="check?type=CustomEvent"/>
</activityGraph>
</runnables>
<modes xsi:type="am:EnumMode" name="ExecutionMode">
<literals name="ModeA"/>
<literals name="ModeB"/>
</modes>
<modes xsi:type="am:NumericMode" name="CountingX"/>
<modes xsi:type="am:NumericMode" name="CountingY"/>
<modeLabels name="executionMode" displayName="" mode="ExecutionMode?type=EnumMode" initialValue="ModeA"/>
<modeLabels name="countY" displayName="" mode="CountingY?type=NumericMode" initialValue="-1"/>
<modeLabels name="countX" mode="CountingX?type=NumericMode" initialValue="-1"/>
</swModel>
<stimuliModel>
<stimuli xsi:type="am:EventStimulus" name="A_Stimuli_EventBased" triggeringEvents="check?type=CustomEvent">
<setModeValueList>
<entries label="countX?type=ModeLabel" value="0"/>
<entries label="countY?type=ModeLabel" value="0"/>
</setModeValueList>
<executionCondition>
<entries xsi:type="am:ModeConditionConjunction">
<entries xsi:type="am:ModeValueCondition" label="executionMode?type=ModeLabel" value="ModeA" relation="EQUAL"/>
<entries xsi:type="am:ModeValueCondition" label="countX?type=ModeLabel" value="2" relation="GREATER_THAN"/>
<entries xsi:type="am:ModeValueCondition" label="countY?type=ModeLabel" value="4" relation="GREATER_THAN"/>
</entries>
</executionCondition>
</stimuli>
<stimuli xsi:type="am:RelativePeriodicStimulus" name="genTrigger">
<nextOccurrence xsi:type="am:TimeBoundaries">
<lowerBound value="10" unit="ms"/>
<upperBound value="50" unit="ms"/>
</nextOccurrence>
</stimuli>
<stimuli xsi:type="am:PeriodicStimulus" name="B_Stimuli_25ms">
<recurrence value="25" unit="ms"/>
</stimuli>
</stimuliModel>
<eventModel>
<events xsi:type="am:CustomEvent" name="check" description="" eventType=""/>
</eventModel>
</am:Amalthea>