blob: 767e8d3820482f282448981a0dca472c48132e6c [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.6" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<swModel>
<tasks name="Task_1" stimuli="Stimulus_Task_1?type=PeriodicStimulus" preemption="preemptive" multipleTaskActivationLimit="1">
<customProperties key="priority">
<value xsi:type="am:StringObject" value="2"/>
</customProperties>
<customProperties key="osekTaskGroup">
<value xsi:type="am:StringObject" value="2"/>
</customProperties>
<callGraph>
<items xsi:type="am:ModeSwitch">
<entries name="">
<items xsi:type="am:ModeSwitch">
<entries name="">
<items xsi:type="am:Group" name="CallSequence_State0" ordered="true">
<items xsi:type="am:RunnableCall" runnable="Runnable_1_State1?type=Runnable"/>
</items>
<condition>
<entries xsi:type="am:ModeValueCondition" label="stateT1?type=ModeLabel" value="StateT1_0" relation="EQUAL"/>
</condition>
</entries>
<entries name="">
<items xsi:type="am:Group" name="CallSequence_State1" ordered="true">
<items xsi:type="am:RunnableCall" runnable="Runnable_1_State0?type=Runnable"/>
</items>
<condition>
<entries xsi:type="am:ModeValueCondition" label="stateT1?type=ModeLabel" value="StateT1_1" relation="EQUAL"/>
</condition>
</entries>
</items>
<condition>
<entries xsi:type="am:ModeValueCondition" label="messageToT1?type=ModeLabel" value="MessageToT1_1" relation="EQUAL"/>
</condition>
</entries>
<defaultEntry>
<items xsi:type="am:Group" name="CallSequence_Nothing" ordered="true"/>
</defaultEntry>
</items>
<items xsi:type="am:ModeSwitch">
<entries name="">
<items xsi:type="am:Group" name="CallSequence_1_0" ordered="true">
<items xsi:type="am:RunnableCall" runnable="Runnable_1_0?type=Runnable"/>
</items>
<condition>
<entries xsi:type="am:ModeValueCondition" label="stateT1?type=ModeLabel" value="StateT1_0" relation="EQUAL"/>
</condition>
</entries>
<entries name="">
<items xsi:type="am:Group" name="CallSequence_1_1" ordered="true">
<items xsi:type="am:RunnableCall" runnable="Runnable_1_1?type=Runnable"/>
</items>
<condition>
<entries xsi:type="am:ModeValueCondition" label="stateT1?type=ModeLabel" value="StateT1_1" relation="EQUAL"/>
</condition>
</entries>
</items>
<items xsi:type="am:Group" name="CallSequence_1" ordered="true">
<items xsi:type="am:RunnableCall" runnable="Runnable_1?type=Runnable"/>
</items>
</callGraph>
</tasks>
<tasks name="Task_2" stimuli="Stimulus_Task_2?type=PeriodicStimulus" preemption="preemptive" multipleTaskActivationLimit="1">
<customProperties key="priority">
<value xsi:type="am:StringObject" value="1"/>
</customProperties>
<customProperties key="osekTaskGroup">
<value xsi:type="am:StringObject" value="1"/>
</customProperties>
<callGraph>
<items xsi:type="am:ModeSwitch">
<entries name="">
<items xsi:type="am:Group" name="CallSequence_State_1" ordered="true">
<items xsi:type="am:RunnableCall" runnable="Runnable_State_1?type=Runnable"/>
</items>
<items xsi:type="am:ModeSwitch">
<entries name="">
<items xsi:type="am:Group" name="CallSequence_2_1_0" ordered="true">
<items xsi:type="am:RunnableCall" runnable="Runnable_Transition_0?type=Runnable"/>
</items>
<condition>
<entries xsi:type="am:ModeValueCondition" label="messageToT2?type=ModeLabel" value="MessageToT2_0" relation="EQUAL"/>
</condition>
</entries>
<entries name="">
<items xsi:type="am:Group" name="CallSequence_2_1_2" ordered="true">
<items xsi:type="am:RunnableCall" runnable="Runnable_Transition_1?type=Runnable"/>
</items>
<condition>
<entries xsi:type="am:ModeValueCondition" label="messageToT2?type=ModeLabel" value="MessageToT2_1" relation="EQUAL"/>
</condition>
</entries>
</items>
<condition>
<entries xsi:type="am:ModeValueCondition" label="stateT2?type=ModeLabel" value="StateT2_1" relation="EQUAL"/>
</condition>
</entries>
<entries name="">
<items xsi:type="am:Group" name="CallSequence_State_0" ordered="true">
<items xsi:type="am:RunnableCall" runnable="Runnable_State_0?type=Runnable"/>
</items>
<items xsi:type="am:ModeSwitch">
<entries name="">
<items xsi:type="am:Group" name="CallSequence_2_0_0" ordered="true">
<items xsi:type="am:RunnableCall" runnable="Runnable_2_Overflow?type=Runnable"/>
</items>
<condition>
<entries xsi:type="am:ModeValueCondition" label="messageToT2?type=ModeLabel" value="MessageToT2_0" relation="EQUAL"/>
</condition>
</entries>
<entries name="">
<items xsi:type="am:Group" name="CallSequence_2_0_1" ordered="true">
<items xsi:type="am:RunnableCall" runnable="Runnable_Transition_2?type=Runnable"/>
</items>
<condition>
<entries xsi:type="am:ModeValueCondition" label="messageToT2?type=ModeLabel" value="MessageToT2_1" relation="EQUAL"/>
</condition>
</entries>
</items>
<condition>
<entries xsi:type="am:ModeValueCondition" label="stateT2?type=ModeLabel" value="StateT2_0" relation="EQUAL"/>
</condition>
</entries>
<entries name="">
<items xsi:type="am:Group" name="CallSequence_State_2" ordered="true">
<items xsi:type="am:RunnableCall" runnable="Runnable_State_2?type=Runnable"/>
</items>
<items xsi:type="am:ModeSwitch">
<entries name="">
<items xsi:type="am:Group" name="CallSequence_2_2_1" ordered="true">
<items xsi:type="am:RunnableCall" runnable="Runnable_Transition_1?type=Runnable"/>
</items>
<condition>
<entries xsi:type="am:ModeValueCondition" label="messageToT2?type=ModeLabel" value="MessageToT2_0" relation="EQUAL"/>
</condition>
</entries>
<entries name="">
<items xsi:type="am:Group" name="CallSequence_2_2_2" ordered="true">
<items xsi:type="am:RunnableCall" runnable="Runnable_2_Overflow?type=Runnable"/>
</items>
<condition>
<entries xsi:type="am:ModeValueCondition" label="messageToT2?type=ModeLabel" value="MessageToT2_1" relation="EQUAL"/>
</condition>
</entries>
</items>
<condition>
<entries xsi:type="am:ModeValueCondition" label="stateT2?type=ModeLabel" value="StateT2_2" relation="EQUAL"/>
</condition>
</entries>
</items>
</callGraph>
</tasks>
<runnables name="Runnable_1_1" callback="false" service="false">
<callGraph>
<items xsi:type="am:ModeLabelAccess" data="messageToT2?type=ModeLabel" access="set" value="MessageToT2_1" step="1"/>
</callGraph>
</runnables>
<runnables name="Runnable_State_0" callback="false" service="false">
<callGraph>
<items xsi:type="am:Ticks">
<default xsi:type="am:DiscreteValueUniformDistribution" lowerBound="59" upperBound="60"/>
</items>
</callGraph>
</runnables>
<runnables name="Runnable_State_1" callback="false" service="false">
<callGraph>
<items xsi:type="am:Ticks">
<default xsi:type="am:DiscreteValueUniformDistribution" lowerBound="59400" upperBound="60000"/>
</items>
</callGraph>
</runnables>
<runnables name="Runnable_State_2" callback="false" service="false">
<callGraph>
<items xsi:type="am:Ticks">
<default xsi:type="am:DiscreteValueUniformDistribution" lowerBound="29700000" upperBound="30000000"/>
</items>
</callGraph>
</runnables>
<runnables name="Runnable_1" callback="false" service="false">
<callGraph>
<items xsi:type="am:Ticks">
<default xsi:type="am:DiscreteValueUniformDistribution" lowerBound="5940000" upperBound="6000000"/>
</items>
</callGraph>
</runnables>
<runnables name="Runnable_1_0" callback="false" service="false">
<callGraph>
<items xsi:type="am:ModeLabelAccess" data="messageToT2?type=ModeLabel" access="set" value="MessageToT2_0" step="1"/>
</callGraph>
</runnables>
<runnables name="Runnable_Transition_0" callback="false" service="false">
<callGraph>
<items xsi:type="am:ModeLabelAccess" data="stateT2?type=ModeLabel" access="set" value="StateT2_0" step="1"/>
</callGraph>
</runnables>
<runnables name="Runnable_Transition_1" callback="false" service="false">
<callGraph>
<items xsi:type="am:ModeLabelAccess" data="stateT2?type=ModeLabel" access="set" value="StateT2_1" step="1"/>
</callGraph>
</runnables>
<runnables name="Runnable_Transition_2" callback="false" service="false">
<callGraph>
<items xsi:type="am:ModeLabelAccess" data="stateT2?type=ModeLabel" access="set" value="StateT2_2" step="1"/>
</callGraph>
</runnables>
<runnables name="Runnable_1_State0" callback="false" service="false">
<callGraph>
<items xsi:type="am:ModeLabelAccess" data="stateT1?type=ModeLabel" access="set" value="StateT1_0" step="1"/>
<items xsi:type="am:ModeLabelAccess" data="messageToT1?type=ModeLabel" access="set" value="MessageToT1_0" step="1"/>
</callGraph>
</runnables>
<runnables name="Runnable_1_State1" callback="false" service="false">
<callGraph>
<items xsi:type="am:ModeLabelAccess" data="stateT1?type=ModeLabel" access="set" value="StateT1_1" step="1"/>
<items xsi:type="am:ModeLabelAccess" data="messageToT1?type=ModeLabel" access="set" value="MessageToT1_0" step="1"/>
</callGraph>
</runnables>
<runnables name="Runnable_2_Overflow" callback="false" service="false">
<callGraph>
<items xsi:type="am:ModeLabelAccess" data="messageToT1?type=ModeLabel" access="set" value="MessageToT1_1" step="1"/>
</callGraph>
</runnables>
<modes xsi:type="am:EnumMode" name="MessageToT1">
<literals name="MessageToT1_0">
<customProperties key="enumValue">
<value xsi:type="am:LongObject" value="0"/>
</customProperties>
</literals>
<literals name="MessageToT1_1">
<customProperties key="enumValue">
<value xsi:type="am:LongObject" value="1"/>
</customProperties>
</literals>
</modes>
<modes xsi:type="am:EnumMode" name="MessageToT2">
<literals name="MessageToT2_0">
<customProperties key="enumValue">
<value xsi:type="am:LongObject" value="0"/>
</customProperties>
</literals>
<literals name="MessageToT2_1">
<customProperties key="enumValue">
<value xsi:type="am:LongObject" value="1"/>
</customProperties>
</literals>
</modes>
<modes xsi:type="am:EnumMode" name="StateT1">
<literals name="StateT1_0">
<customProperties key="enumValue">
<value xsi:type="am:LongObject" value="0"/>
</customProperties>
</literals>
<literals name="StateT1_1">
<customProperties key="enumValue">
<value xsi:type="am:LongObject" value="1"/>
</customProperties>
</literals>
</modes>
<modes xsi:type="am:EnumMode" name="StateT2">
<literals name="StateT2_0">
<customProperties key="enumValue">
<value xsi:type="am:LongObject" value="0"/>
</customProperties>
</literals>
<literals name="StateT2_1">
<customProperties key="enumValue">
<value xsi:type="am:LongObject" value="1"/>
</customProperties>
</literals>
<literals name="StateT2_2">
<customProperties key="enumValue">
<value xsi:type="am:LongObject" value="2"/>
</customProperties>
</literals>
</modes>
<modeLabels name="messageToT1" mode="MessageToT1?type=EnumMode" initialValue="MessageToT1_0">
<size value="1" unit="bit"/>
</modeLabels>
<modeLabels name="messageToT2" mode="MessageToT2?type=EnumMode" initialValue="MessageToT2_0">
<size value="1" unit="bit"/>
</modeLabels>
<modeLabels name="stateT1" mode="StateT1?type=EnumMode" initialValue="StateT1_1">
<size value="1" unit="bit"/>
</modeLabels>
<modeLabels name="stateT2" mode="StateT2?type=EnumMode" initialValue="StateT2_0">
<size value="8" unit="bit"/>
</modeLabels>
</swModel>
<hwModel>
<definitions xsi:type="am:ProcessingUnitDefinition" name="DefaultCore" puType="CPU" features="Instructions/IPC_1.0?type=HwFeature"/>
<definitions xsi:type="am:MemoryDefinition" name="DefaultMemory"/>
<featureCategories name="Instructions" featureType="performance">
<features name="IPC_1.0" value="1.0"/>
</featureCategories>
<structures name="System" structureType="System">
<structures name="Ecu_1" structureType="ECU">
<structures name="Processor_1" structureType="Microcontroller">
<modules xsi:type="am:Memory" name="Memory_1" frequencyDomain="Frequency_1?type=FrequencyDomain" definition="DefaultMemory?type=MemoryDefinition"/>
<modules xsi:type="am:ProcessingUnit" name="Core_1" frequencyDomain="Frequency_1?type=FrequencyDomain" definition="DefaultCore?type=ProcessingUnitDefinition">
<ports name="port" bitWidth="32" priority="0" portType="initiator"/>
</modules>
</structures>
</structures>
</structures>
<domains xsi:type="am:FrequencyDomain" name="Frequency_1" clockGating="false">
<defaultValue value="600.0" unit="MHz"/>
</domains>
</hwModel>
<osModel>
<operatingSystems name="Generic_OS">
<taskSchedulers name="Scheduler_1">
<schedulingAlgorithm xsi:type="am:OSEK"/>
</taskSchedulers>
<osDataConsistency mode="noProtection"/>
</operatingSystems>
</osModel>
<stimuliModel>
<stimuli xsi:type="am:PeriodicStimulus" name="Stimulus_Task_1">
<offset value="0" unit="ms"/>
<recurrence value="300" unit="ms"/>
</stimuli>
<stimuli xsi:type="am:PeriodicStimulus" name="Stimulus_Task_2">
<offset value="15" unit="ms"/>
<recurrence value="250" unit="ms"/>
</stimuli>
</stimuliModel>
<eventModel>
<events xsi:type="am:ProcessEvent" name="Event_Task_1" entity="Task_1?type=Task"/>
<events xsi:type="am:ProcessEvent" name="Event_Task_2" entity="Task_2?type=Task"/>
<events xsi:type="am:RunnableEvent" name="Event_Runnable_1" entity="Runnable_1?type=Runnable"/>
<events xsi:type="am:RunnableEvent" name="Event_Runnable_1_0" entity="Runnable_1_0?type=Runnable"/>
<events xsi:type="am:RunnableEvent" name="Event_Runnable_1_1" entity="Runnable_1_1?type=Runnable"/>
<events xsi:type="am:RunnableEvent" name="Event_Runnable_1_State0" entity="Runnable_1_State0?type=Runnable"/>
<events xsi:type="am:RunnableEvent" name="Event_Runnable_1_State1" entity="Runnable_1_State1?type=Runnable"/>
<events xsi:type="am:RunnableEvent" name="Event_Runnable_2_Overflow" entity="Runnable_2_Overflow?type=Runnable"/>
<events xsi:type="am:RunnableEvent" name="Event_Runnable_State_0" entity="Runnable_State_0?type=Runnable"/>
<events xsi:type="am:RunnableEvent" name="Event_Runnable_State_1" entity="Runnable_State_1?type=Runnable"/>
<events xsi:type="am:RunnableEvent" name="Event_Runnable_State_2" entity="Runnable_State_2?type=Runnable"/>
<events xsi:type="am:RunnableEvent" name="Event_Runnable_Transition_0" entity="Runnable_Transition_0?type=Runnable"/>
<events xsi:type="am:RunnableEvent" name="Event_Runnable_Transition_1" entity="Runnable_Transition_1?type=Runnable"/>
<events xsi:type="am:RunnableEvent" name="Event_Runnable_Transition_2" entity="Runnable_Transition_2?type=Runnable"/>
<events xsi:type="am:StimulusEvent" name="Event_Stimulus_Task_1" entity="Stimulus_Task_1?type=PeriodicStimulus"/>
<events xsi:type="am:StimulusEvent" name="Event_Stimulus_Task_2" entity="Stimulus_Task_2?type=PeriodicStimulus"/>
</eventModel>
<constraintsModel/>
<mappingModel addressMappingType="offset">
<schedulerAllocation scheduler="Scheduler_1?type=TaskScheduler" responsibility="Core_1?type=ProcessingUnit"/>
<taskAllocation task="Task_1?type=Task" scheduler="Scheduler_1?type=TaskScheduler"/>
<taskAllocation task="Task_2?type=Task" scheduler="Scheduler_1?type=TaskScheduler"/>
<memoryMapping abstractElement="stateT2?type=ModeLabel" memory="Memory_1?type=Memory" memoryPositionAddress="0xb"/>
<memoryMapping abstractElement="stateT1?type=ModeLabel" memory="Memory_1?type=Memory" memoryPositionAddress="0xa"/>
<memoryMapping abstractElement="messageToT1?type=ModeLabel" memory="Memory_1?type=Memory" memoryPositionAddress="0x8"/>
<memoryMapping abstractElement="messageToT2?type=ModeLabel" memory="Memory_1?type=Memory" memoryPositionAddress="0x9"/>
</mappingModel>
<componentsModel/>
</am:Amalthea>