Updated and corrected scheduler examples
diff --git a/examples/app4mc.example.scheduler/hierarchical/hierarchicalExample.amxmi b/examples/app4mc.example.scheduler/hierarchical/hierarchicalExample.amxmi
index 79fa044..fe488c2 100644
--- a/examples/app4mc.example.scheduler/hierarchical/hierarchicalExample.amxmi
+++ b/examples/app4mc.example.scheduler/hierarchical/hierarchicalExample.amxmi
@@ -1,51 +1,51 @@
<?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/1.1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+<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/1.1.0">
<swModel>
- <tasks name="TaskA1" multipleTaskActivationLimit="0"/>
- <tasks name="TaskB1" multipleTaskActivationLimit="0"/>
- <tasks name="TaskC1" multipleTaskActivationLimit="0"/>
- <tasks name="TaskD1" multipleTaskActivationLimit="0"/>
- <tasks name="TaskA2" multipleTaskActivationLimit="0"/>
- <tasks name="TaskB2" multipleTaskActivationLimit="0"/>
- <tasks name="TaskC2" multipleTaskActivationLimit="0"/>
- <tasks name="TaskD2" multipleTaskActivationLimit="0"/>
+ <tasks xmi:id="TaskA1?type=Task" name="TaskA1" multipleTaskActivationLimit="0"/>
+ <tasks xmi:id="TaskB1?type=Task" name="TaskB1" multipleTaskActivationLimit="0"/>
+ <tasks xmi:id="TaskC1?type=Task" name="TaskC1" multipleTaskActivationLimit="0"/>
+ <tasks xmi:id="TaskD1?type=Task" name="TaskD1" multipleTaskActivationLimit="0"/>
+ <tasks xmi:id="TaskA2?type=Task" name="TaskA2" multipleTaskActivationLimit="0"/>
+ <tasks xmi:id="TaskB2?type=Task" name="TaskB2" multipleTaskActivationLimit="0"/>
+ <tasks xmi:id="TaskC2?type=Task" name="TaskC2" multipleTaskActivationLimit="0"/>
+ <tasks xmi:id="TaskD2?type=Task" name="TaskD2" multipleTaskActivationLimit="0"/>
</swModel>
<hwModel>
- <definitions xsi:type="am:ProcessingUnitDefinition" name="Core_Definition" puType="CPU"/>
- <structures name="System" structureType="System">
- <structures name="ECU" structureType="ECU">
- <modules xsi:type="am:ProcessingUnit" name="CoreA" frequencyDomain="Main_Freq_Domain?type=FrequencyDomain" definition="Core_Definition?type=ProcessingUnitDefinition"/>
- <modules xsi:type="am:ProcessingUnit" name="CoreB" frequencyDomain="Main_Freq_Domain?type=FrequencyDomain" definition="Core_Definition?type=ProcessingUnitDefinition"/>
+ <definitions xsi:type="am:ProcessingUnitDefinition" xmi:id="Core_Definition?type=ProcessingUnitDefinition" name="Core_Definition" puType="CPU"/>
+ <structures xmi:id="System?type=HwStructure" name="System" structureType="System">
+ <structures xmi:id="ECU?type=HwStructure" name="ECU" structureType="ECU">
+ <modules xsi:type="am:ProcessingUnit" xmi:id="CoreA?type=ProcessingUnit" name="CoreA" frequencyDomain="Main_Freq_Domain?type=FrequencyDomain" definition="Core_Definition?type=ProcessingUnitDefinition"/>
+ <modules xsi:type="am:ProcessingUnit" xmi:id="CoreB?type=ProcessingUnit" name="CoreB" frequencyDomain="Main_Freq_Domain?type=FrequencyDomain" definition="Core_Definition?type=ProcessingUnitDefinition"/>
</structures>
</structures>
- <domains xsi:type="am:FrequencyDomain" name="Main_Freq_Domain" clockGating="false">
+ <domains xsi:type="am:FrequencyDomain" xmi:id="Main_Freq_Domain?type=FrequencyDomain" name="Main_Freq_Domain" clockGating="false">
<defaultValue value="200.0" unit="MHz"/>
</domains>
</hwModel>
<osModel>
<operatingSystems name="">
- <taskSchedulers name="Priority Based Round Robin">
+ <taskSchedulers xmi:id="Priority+Based+Round+Robin?type=TaskScheduler" name="Priority Based Round Robin">
<schedulingAlgorithm xsi:type="am:PriorityBasedRoundRobin"/>
</taskSchedulers>
- <taskSchedulers name="OSEKA">
+ <taskSchedulers xmi:id="OSEKA?type=TaskScheduler" name="OSEKA">
<schedulingAlgorithm xsi:type="am:OSEK"/>
<parentAssociation parent="Priority+Based+Round+Robin?type=TaskScheduler">
<schedulingParameters priority="20"/>
</parentAssociation>
</taskSchedulers>
- <taskSchedulers name="OSEKB">
+ <taskSchedulers xmi:id="OSEKB?type=TaskScheduler" name="OSEKB">
<schedulingAlgorithm xsi:type="am:OSEK"/>
<parentAssociation parent="Priority+Based+Round+Robin?type=TaskScheduler">
<schedulingParameters priority="15"/>
</parentAssociation>
</taskSchedulers>
- <taskSchedulers name="OSEKC">
+ <taskSchedulers xmi:id="OSEKC?type=TaskScheduler" name="OSEKC">
<schedulingAlgorithm xsi:type="am:OSEK"/>
- <parentAssociation>
+ <parentAssociation parent="Priority+Based+Round+Robin?type=TaskScheduler">
<schedulingParameters priority="5"/>
</parentAssociation>
</taskSchedulers>
- <taskSchedulers name="OSEKD">
+ <taskSchedulers xmi:id="OSEKD?type=TaskScheduler" name="OSEKD">
<schedulingAlgorithm xsi:type="am:OSEK"/>
<parentAssociation parent="Priority+Based+Round+Robin?type=TaskScheduler">
<schedulingParameters priority="10"/>
diff --git a/examples/app4mc.example.scheduler/partitioned_fpp/partitioned_fpp.amxmi b/examples/app4mc.example.scheduler/partitioned_fpp/partitioned_fpp.amxmi
index f5687c0..2ca7414 100644
--- a/examples/app4mc.example.scheduler/partitioned_fpp/partitioned_fpp.amxmi
+++ b/examples/app4mc.example.scheduler/partitioned_fpp/partitioned_fpp.amxmi
@@ -1,33 +1,33 @@
<?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/1.1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+<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/1.1.0">
<swModel>
- <tasks name="TaskA1" multipleTaskActivationLimit="0"/>
- <tasks name="TaskB1" multipleTaskActivationLimit="0"/>
- <tasks name="TaskC1" multipleTaskActivationLimit="0"/>
- <tasks name="TaskD1" multipleTaskActivationLimit="0"/>
- <tasks name="TaskA2" multipleTaskActivationLimit="0"/>
- <tasks name="TaskB2" multipleTaskActivationLimit="0"/>
- <tasks name="TaskC2" multipleTaskActivationLimit="0"/>
- <tasks name="TaskD2" multipleTaskActivationLimit="0"/>
+ <tasks xmi:id="TaskA1?type=Task" name="TaskA1" multipleTaskActivationLimit="0"/>
+ <tasks xmi:id="TaskB1?type=Task" name="TaskB1" multipleTaskActivationLimit="0"/>
+ <tasks xmi:id="TaskC1?type=Task" name="TaskC1" multipleTaskActivationLimit="0"/>
+ <tasks xmi:id="TaskD1?type=Task" name="TaskD1" multipleTaskActivationLimit="0"/>
+ <tasks xmi:id="TaskA2?type=Task" name="TaskA2" multipleTaskActivationLimit="0"/>
+ <tasks xmi:id="TaskB2?type=Task" name="TaskB2" multipleTaskActivationLimit="0"/>
+ <tasks xmi:id="TaskC2?type=Task" name="TaskC2" multipleTaskActivationLimit="0"/>
+ <tasks xmi:id="TaskD2?type=Task" name="TaskD2" multipleTaskActivationLimit="0"/>
</swModel>
<hwModel>
- <definitions xsi:type="am:ProcessingUnitDefinition" name="Core_Definition" puType="CPU"/>
- <structures name="System" structureType="System">
- <structures name="ECU" structureType="ECU">
- <modules xsi:type="am:ProcessingUnit" name="CoreA" frequencyDomain="Main_Freq_Domain?type=FrequencyDomain" definition="Core_Definition?type=ProcessingUnitDefinition"/>
- <modules xsi:type="am:ProcessingUnit" name="CoreB" frequencyDomain="Main_Freq_Domain?type=FrequencyDomain" definition="Core_Definition?type=ProcessingUnitDefinition"/>
+ <definitions xsi:type="am:ProcessingUnitDefinition" xmi:id="Core_Definition?type=ProcessingUnitDefinition" name="Core_Definition" puType="CPU"/>
+ <structures xmi:id="System?type=HwStructure" name="System" structureType="System">
+ <structures xmi:id="ECU?type=HwStructure" name="ECU" structureType="ECU">
+ <modules xsi:type="am:ProcessingUnit" xmi:id="CoreA?type=ProcessingUnit" name="CoreA" frequencyDomain="Main_Freq_Domain?type=FrequencyDomain" definition="Core_Definition?type=ProcessingUnitDefinition"/>
+ <modules xsi:type="am:ProcessingUnit" xmi:id="CoreB?type=ProcessingUnit" name="CoreB" frequencyDomain="Main_Freq_Domain?type=FrequencyDomain" definition="Core_Definition?type=ProcessingUnitDefinition"/>
</structures>
</structures>
- <domains xsi:type="am:FrequencyDomain" name="Main_Freq_Domain" clockGating="false">
+ <domains xsi:type="am:FrequencyDomain" xmi:id="Main_Freq_Domain?type=FrequencyDomain" name="Main_Freq_Domain" clockGating="false">
<defaultValue value="200.0" unit="MHz"/>
</domains>
</hwModel>
<osModel>
<operatingSystems name="">
- <taskSchedulers name="Partitioned_FPP">
+ <taskSchedulers xmi:id="Partitioned_FPP?type=TaskScheduler" name="Partitioned_FPP">
<schedulingAlgorithm xsi:type="am:UserSpecificSchedulingAlgorithm"/>
</taskSchedulers>
- <taskSchedulers name="GroupA">
+ <taskSchedulers xmi:id="GroupA?type=TaskScheduler" name="GroupA">
<schedulingAlgorithm xsi:type="am:Grouping"/>
<parentAssociation parent="Partitioned_FPP?type=TaskScheduler">
<schedulingParameters>
@@ -36,7 +36,7 @@
</schedulingParameters>
</parentAssociation>
</taskSchedulers>
- <taskSchedulers name="GroupB">
+ <taskSchedulers xmi:id="GroupB?type=TaskScheduler" name="GroupB">
<schedulingAlgorithm xsi:type="am:Grouping"/>
<parentAssociation parent="Partitioned_FPP?type=TaskScheduler">
<schedulingParameters>
@@ -45,16 +45,16 @@
</schedulingParameters>
</parentAssociation>
</taskSchedulers>
- <taskSchedulers name="GroupC">
+ <taskSchedulers xmi:id="GroupC?type=TaskScheduler" name="GroupC">
<schedulingAlgorithm xsi:type="am:Grouping"/>
- <parentAssociation>
+ <parentAssociation parent="Partitioned_FPP?type=TaskScheduler">
<schedulingParameters>
<maxBudget value="5" unit="ms"/>
<replenishment value="20" unit="ms"/>
</schedulingParameters>
</parentAssociation>
</taskSchedulers>
- <taskSchedulers name="GroupD">
+ <taskSchedulers xmi:id="GroupD?type=TaskScheduler" name="GroupD">
<schedulingAlgorithm xsi:type="am:Grouping"/>
<parentAssociation parent="Partitioned_FPP?type=TaskScheduler">
<schedulingParameters>