| <?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> |