summaryrefslogtreecommitdiffstats
path: root/examples/uml
diff options
context:
space:
mode:
authorSandro S. Andrade <sandroandrade@kde.org>2013-11-20 23:10:29 -0300
committerSandro S. Andrade <sandroandrade@kde.org>2013-11-21 03:07:57 +0100
commit9b1ea6e1915cc24282798ac1ae142d90efe6bb7c (patch)
tree20fa2f5273e08bad14e37c02424a28d503d88ebd /examples/uml
parent8e5a36d72286d134e33ad9496507b74b1503178a (diff)
Provide improved version of DuSE metamodel
Change-Id: Icbc1807e61475a4ca1536b2230d79d7b98ddcd52 Reviewed-by: Sandro S. Andrade <sandroandrade@kde.org>
Diffstat (limited to 'examples/uml')
-rw-r--r--examples/uml/duse-mt/src/app/SADuSE.xmi36
-rw-r--r--examples/uml/duse-mt/src/app/SADuse.xmi72
2 files changed, 72 insertions, 36 deletions
diff --git a/examples/uml/duse-mt/src/app/SADuSE.xmi b/examples/uml/duse-mt/src/app/SADuSE.xmi
deleted file mode 100644
index 731e2195..00000000
--- a/examples/uml/duse-mt/src/app/SADuSE.xmi
+++ /dev/null
@@ -1,36 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<xmi:XMI xmlns:xmi="http://www.omg.org/spec/XMI/20110701" xmlns:duse="http://liveblue.wordpress.com/Duse">
- <duse:DesignSpace name="SADuSE" xmi:id="SADuSE">
- <qualityMetric xmi:type="duse:QualityMetric" name="Control Robustness" xmi:id="SADuSE-Control Robustness" expression="(1/input[0].ownedElements.length)*120"/>
- <qualityMetric xmi:type="duse:QualityMetric" name="Average Maximum Overshoot" xmi:id="SADuSE-Average Maximum Overshoot" expression="(1/input[0].ownedTypes.length)*120"/>
- <qualityMetric xmi:type="duse:QualityMetric" name="Average Settling Time" xmi:id="SADuSE-Average Settling Time" expression="var ot = input[0].ownedTypes.length; var sum = 0; for (var j = 0; j &lt; ot; ++j) sum = sum+input[0].ownedTypes[j].ownedAttributes.length; var t = sum/(ot+1); t/sum*120"/>
- <qualityMetric xmi:type="duse:QualityMetric" name="Control Overhead" xmi:id="SADuSE-Control Overhead" expression="input[0].ownedAttributes"/>
- <designDimension xmi:type="duse:DesignDimension" name="Control Law" instanceSelectionRule="var inputLength = input.length; var selected = new Array(); for (var i = 0; i &lt; inputLength; ++i) { if (input[i] instanceof QSADuseProfileProcessComponent) selected.push(input[i].base_Component); } selected;" xmi:id="SADuSE-Control Law">
- <variationPoint xmi:type="duse:VariationPoint" name="Proportional" xmi:id="SADuSE-Control Law-Proportional"/>
- <variationPoint xmi:type="duse:VariationPoint" name="Proportional-Integral" xmi:id="SADuSE-Control Law-Proportional-Integral"/>
- <variationPoint xmi:type="duse:VariationPoint" name="Dynamic State Feedback" xmi:id="SADuSE-Control Law-Dynamic State Feedback"/>
- <variationPoint xmi:type="duse:VariationPoint" name="Static State Feedback" xmi:id="SADuSE-Control Law-Static State Feedback"/>
- <variationPoint xmi:type="duse:VariationPoint" name="Proportional-Integral-Derivative" xmi:id="SADuSE-Control Law-Proportional-Integral-Derivative"/>
- <variationPoint xmi:type="duse:VariationPoint" name="Precompensated Static State Feedback" xmi:id="SADuSE-Control Law-Precompensated Static State Feedback"/>
- </designDimension>
- <designDimension xmi:type="duse:DesignDimension" name="Tuning Approach" instanceSelectionRule="var inputLength = input.length; var selected = new Array(); for (var i = 0; i &lt; inputLength; ++i) { if (input[i] instanceof QSADuseProfileProcessComponent) selected.push(input[i].base_Component); } selected;" xmi:id="SADuSE-Tuning Approach">
- <variationPoint xmi:type="duse:VariationPoint" name="Cohen-Coon" xmi:id="SADuSE-Tuning Approach-Cohen-Coon"/>
- <variationPoint xmi:type="duse:VariationPoint" name="CHR-20OS-DR" xmi:id="SADuSE-Tuning Approach-CHR-20OS-DR"/>
- <variationPoint xmi:type="duse:VariationPoint" name="Ziegler-Nichols" xmi:id="SADuSE-Tuning Approach-Ziegler-Nichols"/>
- <variationPoint xmi:type="duse:VariationPoint" name="CHR-20OS-RT" xmi:id="SADuSE-Tuning Approach-CHR-20OS-RT"/>
- <variationPoint xmi:type="duse:VariationPoint" name="CHR-0OS-DR" xmi:id="SADuSE-Tuning Approach-CHR-0OS-DR"/>
- <variationPoint xmi:type="duse:VariationPoint" name="CHR-0OS-RT" xmi:id="SADuSE-Tuning Approach-CHR-0OS-RT"/>
- <variationPoint xmi:type="duse:VariationPoint" name="Linear Quadratic Regulator" xmi:id="SADuSE-Tuning Approach-Linear Quadratic Regulator"/>
- </designDimension>
- <designDimension xmi:type="duse:DesignDimension" name="Control Adaptation" instanceSelectionRule="var inputLength = input.length; var selected = new Array(); for (var i = 0; i &lt; inputLength; ++i) { if (input[i] instanceof QSADuseProfileProcessComponent) selected.push(input[i].base_Component); } selected;" xmi:id="SADuSE-Control Adaptation">
- <variationPoint xmi:type="duse:VariationPoint" name="Gain Scheduling" xmi:id="SADuSE-Control Adaptation-Gain Scheduling"/>
- <variationPoint xmi:type="duse:VariationPoint" name="Model Identification Adaptive Control (MIAC)" xmi:id="SADuSE-Control Adaptation-Model Identification Adaptive Control (MIAC)"/>
- <variationPoint xmi:type="duse:VariationPoint" name="Fixed Gain (no adaptation)" xmi:id="SADuSE-Control Adaptation-Fixed Gain (no adaptation)"/>
- </designDimension>
- <designDimension xmi:type="duse:DesignDimension" name="MAPE Deployment" instanceSelectionRule="var inputLength = input.length; var selected = new Array(); for (var i = 0; i &lt; inputLength; ++i) { if (input[i] instanceof QSADuseProfileProcessComponent) selected.push(input[i].base_Component); } selected;" xmi:id="SADuSE-MAPE Deployment">
- <variationPoint xmi:type="duse:VariationPoint" name="Local Control + Shared Reference" xmi:id="SADuSE-MAPE Deployment-Local Control + Shared Reference"/>
- <variationPoint xmi:type="duse:VariationPoint" name="Local Control + Shared Error" xmi:id="SADuSE-MAPE Deployment-Local Control + Shared Error"/>
- <variationPoint xmi:type="duse:VariationPoint" name="Global Control" xmi:id="SADuSE-MAPE Deployment-Global Control"/>
- </designDimension>
- </duse:DesignSpace>
-</xmi:XMI>
diff --git a/examples/uml/duse-mt/src/app/SADuse.xmi b/examples/uml/duse-mt/src/app/SADuse.xmi
new file mode 100644
index 00000000..57e99bc8
--- /dev/null
+++ b/examples/uml/duse-mt/src/app/SADuse.xmi
@@ -0,0 +1,72 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmlns:xmi="http://www.omg.org/spec/XMI/20110701" xmlns:duse="http://liveblue.wordpress.com/Duse" xmlns:uml="http://www.omg.org/spec/UML/20110701">
+ <duse:DesignSpace name="SADuse" xmi:id="SADuse">
+ <qualityMetric xmi:type="duse:QualityMetric" name="Control Robustness" xmi:id="SADuse-ControlRobustness">
+ <expression xmi:type="uml:OpaqueExpression" xmi:id="SADuse-ControlRobustness-Expression">
+ <language>JavaScript</language>
+ <body>(1/input[0].ownedElements.length)*120</body>
+ </expression>
+ </qualityMetric>
+ <qualityMetric xmi:type="duse:QualityMetric" name="Average Maximum Overshoot" xmi:id="SADuse-AverageMaximumOvershoot">
+ <expression xmi:type="uml:OpaqueExpression" xmi:id="SADuse-AverageMaximumOvershoot-Expression">
+ <language>JavaScript</language>
+ <body>(1/input[0].ownedTypes.length)*120</body>
+ </expression>
+ </qualityMetric>
+ <qualityMetric xmi:type="duse:QualityMetric" name="Average Settling Time" xmi:id="SADuse-AverageSettlingTime">
+ <expression xmi:type="uml:OpaqueExpression" xmi:id="SADuse-AverageSettlingTime-Expression">
+ <language>JavaScript</language>
+ <body>var ot = input[0].ownedTypes.length; var sum = 0; for (var j = 0; j &lt; ot; ++j) sum = sum+input[0].ownedTypes[j].ownedAttributes.length; var t = sum/(ot+1); t/sum*120</body>
+ </expression>
+ </qualityMetric>
+ <qualityMetric xmi:type="duse:QualityMetric" name="Control Overhead" xmi:id="SADuse-ControlOverhead" expression="input[0].ownedAttributes">
+ <expression xmi:type="uml:OpaqueExpression" xmi:id="SADuse-ControlOverhead-Expression">
+ <language>JavaScript</language>
+ <body>input[0].ownedAttributes</body>
+ </expression>
+ </qualityMetric>
+ <designDimension xmi:type="duse:DesignDimension" name="Control Law" xmi:id="SADuse-ControlLaw">
+ <instanceSelectionRule xmi:type="uml:OpaqueExpression" xmi:id="SADuse-ControlLaw-InstanceSelectionRule">
+ <language>JavaScript</language>
+ <body>var inputLength = input.length; var selected = new Array(); for (var i = 0; i &lt; inputLength; ++i) { if (input[i] instanceof QSADuseProfileProcessComponent) selected.push(input[i].base_Component); } selected;</body>
+ </instanceSelectionRule>
+ <variationPoint xmi:type="duse:VariationPoint" name="Proportional" xmi:id="SADuse-ControlLaw-Proportional"/>
+ <variationPoint xmi:type="duse:VariationPoint" name="Proportional-Integral" xmi:id="SADuse-ControlLaw-Proportional-Integral"/>
+ <variationPoint xmi:type="duse:VariationPoint" name="Dynamic State Feedback" xmi:id="SADuse-ControlLaw-Dynamic State Feedback"/>
+ <variationPoint xmi:type="duse:VariationPoint" name="Static State Feedback" xmi:id="SADuse-ControlLaw-Static State Feedback"/>
+ <variationPoint xmi:type="duse:VariationPoint" name="Proportional-Integral-Derivative" xmi:id="SADuse-ControlLaw-Proportional-Integral-Derivative"/>
+ <variationPoint xmi:type="duse:VariationPoint" name="Precompensated Static State Feedback" xmi:id="SADuse-ControlLaw-Precompensated Static State Feedback"/>
+ </designDimension>
+ <designDimension xmi:type="duse:DesignDimension" name="Tuning Approach" xmi:id="SADuse-TunningApproach">
+ <instanceSelectionRule xmi:type="uml:OpaqueExpression" xmi:id="SADuse-TunningApproach-InstanceSelectionRule">
+ <language>JavaScript</language>
+ <body>var inputLength = input.length; var selected = new Array(); for (var i = 0; i &lt; inputLength; ++i) { if (input[i] instanceof QSADuseProfileProcessComponent) selected.push(input[i].base_Component); } selected;</body>
+ </instanceSelectionRule>
+ <variationPoint xmi:type="duse:VariationPoint" name="Cohen-Coon" xmi:id="SADuse-TunningApproach-Cohen-Coon"/>
+ <variationPoint xmi:type="duse:VariationPoint" name="CHR-20OS-DR" xmi:id="SADuse-TunningApproach-CHR-20OS-DR"/>
+ <variationPoint xmi:type="duse:VariationPoint" name="Ziegler-Nichols" xmi:id="SADuse-TunningApproach-Ziegler-Nichols"/>
+ <variationPoint xmi:type="duse:VariationPoint" name="CHR-20OS-RT" xmi:id="SADuse-TunningApproach-CHR-20OS-RT"/>
+ <variationPoint xmi:type="duse:VariationPoint" name="CHR-0OS-DR" xmi:id="SADuse-TunningApproach-CHR-0OS-DR"/>
+ <variationPoint xmi:type="duse:VariationPoint" name="CHR-0OS-RT" xmi:id="SADuse-TunningApproach-CHR-0OS-RT"/>
+ <variationPoint xmi:type="duse:VariationPoint" name="Linear Quadratic Regulator" xmi:id="SADuse-TunningApproach-Linear Quadratic Regulator"/>
+ </designDimension>
+ <designDimension xmi:type="duse:DesignDimension" name="Control Adaptation" xmi:id="SADuse-ControlAdaptation">
+ <instanceSelectionRule xmi:type="uml:OpaqueExpression" xmi:id="SADuse-ControlAdaptation-InstanceSelectionRule">
+ <language>JavaScript</language>
+ <body>var inputLength = input.length; var selected = new Array(); for (var i = 0; i &lt; inputLength; ++i) { if (input[i] instanceof QSADuseProfileProcessComponent) selected.push(input[i].base_Component); } selected;</body>
+ </instanceSelectionRule>
+ <variationPoint xmi:type="duse:VariationPoint" name="Gain Scheduling" xmi:id="SADuse-ControlAdaptation-Gain Scheduling"/>
+ <variationPoint xmi:type="duse:VariationPoint" name="Model Identification Adaptive Control (MIAC)" xmi:id="SADuse-ControlAdaptation-Model Identification Adaptive Control (MIAC)"/>
+ <variationPoint xmi:type="duse:VariationPoint" name="Fixed Gain (no adaptation)" xmi:id="SADuse-ControlAdaptation-Fixed Gain (no adaptation)"/>
+ </designDimension>
+ <designDimension xmi:type="duse:DesignDimension" name="MAPE Deployment" xmi:id="SADuse-MAPEDeployment">
+ <instanceSelectionRule xmi:type="uml:OpaqueExpression" xmi:id="SADuse-MAPEDeployment-InstanceSelectionRule">
+ <language>JavaScript</language>
+ <body>var inputLength = input.length; var selected = new Array(); for (var i = 0; i &lt; inputLength; ++i) { if (input[i] instanceof QSADuseProfileProcessComponent) selected.push(input[i].base_Component); } selected;</body>
+ </instanceSelectionRule>
+ <variationPoint xmi:type="duse:VariationPoint" name="Local Control + Shared Reference" xmi:id="SADuse-MAPEDeployment-Local Control + Shared Reference"/>
+ <variationPoint xmi:type="duse:VariationPoint" name="Local Control + Shared Error" xmi:id="SADuse-MAPEDeployment-Local Control + Shared Error"/>
+ <variationPoint xmi:type="duse:VariationPoint" name="Global Control" xmi:id="SADuse-MAPEDeployment-Global Control"/>
+ </designDimension>
+ </duse:DesignSpace>
+</xmi:XMI>