summaryrefslogtreecommitdiffstats
path: root/examples/uml/duse-mt/src/app/SADuSE.xmi
blob: 731e2195eff68d56c0741b10172680a39d26d540 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
<?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>