瀏覽代碼

some experiments

Claudio Gomes 6 年之前
父節點
當前提交
bb3b356a2e

+ 5 - 1
HintCO/HintCO.product

@@ -3,6 +3,7 @@
 
 <product name="HintCO" uid="HintCO" id="ua.ansymo.HintCO.product" application="ua.ansymo.hintco" version="0.0.1" useFeatures="false" includeLaunchers="true">
 
+
    <configIni use="default">
    </configIni>
 
@@ -15,15 +16,18 @@
 
    <windowImages/>
 
-   <launcher name="hintco">
+
+   <launcher>
       <win useIco="false">
          <bmp/>
       </win>
    </launcher>
 
+
    <vm>
    </vm>
 
+
    <plugins>
       <plugin id="be.uantwerpen.cosys.ContractLang"/>
       <plugin id="com.google.guava"/>

+ 0 - 137
HintCO/examples/case_study_double_loop.xmi

@@ -1,137 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<hintco:Candidates
-    xmi:version="2.0"
-    xmlns:xmi="http://www.omg.org/XMI"
-    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xmlns:hintco="ua.ansymo.hintco">
-  <candidates
-      identifier="Original"
-      stopTime="10.0"
-      stepSize="1.0E-5"
-      outputStepSize="0.01">
-    <cosimunits
- xsi:type="hintco:CosimUnitInstance"
-        identifier="Scenario"
-        declaration="//@csuDeclarations.0">
-      <ports
-          xsi:type="hintco:OutputPortInstance"
-          identifier="psuvolt"
-          valueTo="//@candidates.0/@cosimunits.2/@ports.1"
-          />
-      <ports
-          xsi:type="hintco:OutputPortInstance"
-          identifier="ref"
-          valueTo="//@candidates.0/@cosimunits.1/@ports.2"
-          />
-    </cosimunits>
-    <cosimunits
- xsi:type="hintco:CosimUnitInstance"
-        identifier="DLoopController_FixedEuler_1Em6"
-        declaration="//@csuDeclarations.1">
-      <ports
-          xsi:type="hintco:InputPortInstance"
-          identifier="VEL_FB@expseu_"
-
-          valueFrom="//@candidates.0/@cosimunits.2/@ports.4"/>
-      <ports
-          xsi:type="hintco:InputPortInstance"
-          identifier="POS_FB@expseu_"
-
-          valueFrom="//@candidates.0/@cosimunits.3/@ports.1"/>
-      <ports
-          xsi:type="hintco:InputPortInstance"
-          identifier="REFERENCE@expseu_"
-
-          valueFrom="//@candidates.0/@cosimunits.0/@ports.1"/>
-      <ports
-          xsi:type="hintco:OutputPortInstance"
-          identifier="OUTPUT@expseu_"
-          valueTo="//@candidates.0/@cosimunits.2/@ports.0"
-          />
-    </cosimunits>
-    <cosimunits
- xsi:type="hintco:CosimUnitInstance"
-        identifier="EMAPlantNoLoad_FixedEuler_1Em6"
-        declaration="//@csuDeclarations.2">
-      <ports
-          xsi:type="hintco:InputPortInstance"
-          identifier="torque_input@expseu_"
-
-          valueFrom="//@candidates.0/@cosimunits.1/@ports.3"/>
-      <ports
-          xsi:type="hintco:InputPortInstance"
-          identifier="psu_vol_input_v@expseu_"
-
-          valueFrom="//@candidates.0/@cosimunits.0/@ports.0"/>
-      <ports
-          xsi:type="hintco:InputPortInstance"
-          identifier="V_IN@expseu_"
-
-          valueFrom="//@candidates.0/@cosimunits.3/@ports.2"/>
-      <ports
-          xsi:type="hintco:InputPortInstance"
-          identifier="X_IN@expseu_"
-
-          valueFrom="//@candidates.0/@cosimunits.3/@ports.3"/>
-      <ports
-          xsi:type="hintco:OutputPortInstance"
-          identifier="ang_vel_out_rpm@expseu_"
-          valueTo="//@candidates.0/@cosimunits.1/@ports.0"
-          />
-      <ports
-          xsi:type="hintco:OutputPortInstance"
-          identifier="F_OUT@expseu_"
-          valueTo="//@candidates.0/@cosimunits.3/@ports.0"
-          />
-    </cosimunits>
-    <cosimunits
- xsi:type="hintco:CosimUnitInstance"
-        identifier="LoadNSensor_FixedEuler_1Em6"
-        declaration="//@csuDeclarations.3">
-      <ports
-          xsi:type="hintco:InputPortInstance"
-          identifier="F_INPUT@expseu_"
-
-          valueFrom="//@candidates.0/@cosimunits.2/@ports.5"/>
-      <ports
-          xsi:type="hintco:OutputPortInstance"
-          identifier="X_AFTER_LOAD@expseu_"
-          valueTo="//@candidates.0/@cosimunits.1/@ports.1"
-          />
-      <ports
-          xsi:type="hintco:OutputPortInstance"
-          identifier="V_OUTPUT@expseu_"
-          valueTo="//@candidates.0/@cosimunits.2/@ports.2"
-          />
-      <ports
-          xsi:type="hintco:OutputPortInstance"
-          identifier="X_OUTPUT@expseu_"
-          valueTo="//@candidates.0/@cosimunits.2/@ports.3"
-          />
-    </cosimunits>
-  </candidates>
-  <csuDeclarations
-      identifier="Scenario"
-      path="resources/Scenario.fmu"
-      guid="{a174734c-d15f-4ef0-838d-06526230b19e}">
-
-  </csuDeclarations>
-  <csuDeclarations
-      identifier="DLoopController_FixedEuler_1Em6"
-      path="resources/DLoopController_FixedEuler_1Em6.fmu"
-      guid="2761528305">
-
-  </csuDeclarations>
-  <csuDeclarations
-      identifier="EMAPlantNoLoad_FixedEuler_1Em6"
-      path="resources/EMAPlantNoLoad_FixedEuler_1Em6.fmu"
-      guid="698567049">
-
-  </csuDeclarations>
-  <csuDeclarations
-      identifier="LoadNSensor_FixedEuler_1Em6"
-      path="resources/LoadNSensor_FixedEuler_1Em6.fmu"
-      guid="2810456241">
-
-  </csuDeclarations>
-</hintco:Candidates>

+ 0 - 170
HintCO/examples/case_study_double_loop_better.xmi

@@ -1,170 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<hintco:Candidates
-    xmi:version="2.0"
-    xmlns:xmi="http://www.omg.org/XMI"
-    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xmlns:hintco="ua.ansymo.hintco">
-  <candidates
-      identifier="Original"
-      stopTime="5.0"
-      stepSize="1.0E-5"
-      outputStepSize="0.001">
-    <cosimunits
- xsi:type="hintco:CosimUnitInstance"
-        identifier="Scenario"
-        declaration="//@csuDeclarations.0">
-      <ports
-          xsi:type="hintco:OutputPortInstance"
-          identifier="psuvolt"
-          valueTo="//@candidates.0/@cosimunits.2/@ports.1"
-          />
-      <ports
-          xsi:type="hintco:OutputPortInstance"
-          identifier="ref"
-          valueTo="//@candidates.0/@cosimunits.1/@ports.2"
-          />
-    </cosimunits>
-    <cosimunits
- xsi:type="hintco:CosimUnitInstance"
-        identifier="DLoopController_FixedEuler_1Em6"
-        declaration="//@csuDeclarations.1">
-      <ports
-          xsi:type="hintco:InputPortInstance"
-          identifier="VEL_FB@expseu_"
-
-          valueFrom="//@candidates.0/@cosimunits.2/@ports.4">
-        <adaptation
-            xsi:type="hintco:ExtrapolationAdaptation"/>
-      </ports>
-      <ports
-          xsi:type="hintco:InputPortInstance"
-          identifier="POS_FB@expseu_"
-
-          valueFrom="//@candidates.0/@cosimunits.3/@ports.1">
-        <adaptation
-            xsi:type="hintco:ExtrapolationAdaptation"/>
-      </ports>
-      <ports
-          xsi:type="hintco:InputPortInstance"
-          identifier="REFERENCE@expseu_"
-
-          valueFrom="//@candidates.0/@cosimunits.0/@ports.1">
-        <adaptation
-            xsi:type="hintco:InterpolationAdaptation"/>
-      </ports>
-      <ports
-          xsi:type="hintco:OutputPortInstance"
-          identifier="OUTPUT@expseu_"
-          valueTo="//@candidates.0/@cosimunits.2/@ports.0"
-          />
-    </cosimunits>
-    <cosimunits
- xsi:type="hintco:CosimUnitInstance"
-        identifier="EMAPlantNoLoad_FixedEuler_1Em6"
-        declaration="//@csuDeclarations.2">
-      <adaptation
-          xsi:type="hintco:MultiRateAdaptation"
-          rate="10"/>
-      <ports
-          xsi:type="hintco:InputPortInstance"
-          identifier="torque_input@expseu_"
-
-          valueFrom="//@candidates.0/@cosimunits.1/@ports.3">
-        <adaptation
-            xsi:type="hintco:ExtrapolationAdaptation"/>
-      </ports>
-      <ports
-          xsi:type="hintco:InputPortInstance"
-          identifier="psu_vol_input_v@expseu_"
-
-          valueFrom="//@candidates.0/@cosimunits.0/@ports.0">
-        <adaptation
-            xsi:type="hintco:InterpolationAdaptation"/>
-      </ports>
-      <ports
-          xsi:type="hintco:InputPortInstance"
-          identifier="V_IN@expseu_"
-
-          valueFrom="//@candidates.0/@cosimunits.3/@ports.2">
-        <adaptation
-            xsi:type="hintco:ExtrapolationAdaptation"
-            order="1"/>
-      </ports>
-      <ports
-          xsi:type="hintco:InputPortInstance"
-          identifier="X_IN@expseu_"
-
-          valueFrom="//@candidates.0/@cosimunits.3/@ports.3">
-        <adaptation
-            xsi:type="hintco:ExtrapolationAdaptation"
-            order="1"/>
-      </ports>
-      <ports
-          xsi:type="hintco:OutputPortInstance"
-          identifier="ang_vel_out_rpm@expseu_"
-          valueTo="//@candidates.0/@cosimunits.1/@ports.0"
-          />
-      <ports
-          xsi:type="hintco:OutputPortInstance"
-          identifier="F_OUT@expseu_"
-          valueTo="//@candidates.0/@cosimunits.3/@ports.0"
-          />
-    </cosimunits>
-    <cosimunits
- xsi:type="hintco:CosimUnitInstance"
-        identifier="LoadNSensor_FixedEuler_1Em6"
-        declaration="//@csuDeclarations.3">
-      <adaptation
-          xsi:type="hintco:MultiRateAdaptation"
-          rate="10"/>
-      <ports
-          xsi:type="hintco:InputPortInstance"
-          identifier="F_INPUT@expseu_"
-
-          valueFrom="//@candidates.0/@cosimunits.2/@ports.5">
-        <adaptation
-            xsi:type="hintco:InterpolationAdaptation"
-            order="1"/>
-      </ports>
-      <ports
-          xsi:type="hintco:OutputPortInstance"
-          identifier="X_AFTER_LOAD@expseu_"
-          valueTo="//@candidates.0/@cosimunits.1/@ports.1"
-          />
-      <ports
-          xsi:type="hintco:OutputPortInstance"
-          identifier="V_OUTPUT@expseu_"
-          valueTo="//@candidates.0/@cosimunits.2/@ports.2"
-          />
-      <ports
-          xsi:type="hintco:OutputPortInstance"
-          identifier="X_OUTPUT@expseu_"
-          valueTo="//@candidates.0/@cosimunits.2/@ports.3"
-          />
-    </cosimunits>
-  </candidates>
-  <csuDeclarations
-      identifier="Scenario"
-      path="resources/Scenario.fmu"
-      guid="{a174734c-d15f-4ef0-838d-06526230b19e}">
-
-  </csuDeclarations>
-  <csuDeclarations
-      identifier="DLoopController_FixedEuler_1Em6"
-      path="resources/DLoopController_FixedEuler_1Em6.fmu"
-      guid="2761528305">
-
-  </csuDeclarations>
-  <csuDeclarations
-      identifier="EMAPlantNoLoad_FixedEuler_1Em6"
-      path="resources/EMAPlantNoLoad_FixedEuler_1Em6.fmu"
-      guid="698567049">
-
-  </csuDeclarations>
-  <csuDeclarations
-      identifier="LoadNSensor_FixedEuler_1Em6"
-      path="resources/LoadNSensor_FixedEuler_1Em6.fmu"
-      guid="2810456241">
-
-  </csuDeclarations>
-</hintco:Candidates>

+ 0 - 51
HintCO/examples/case_study_double_loop_pbond.hintco

@@ -1,51 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<hintco:Candidates xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:hintco="ua.ansymo.hintco">
-  <candidates identifier="Original" stopTime="0.5" stepSize="1.0E-5" outputStepSize="0.001">
-    <cosimunits xsi:type="hintco:CosimUnitInstance" identifier="Scenario" declaration="//@csuDeclarations.0">
-      <ports xsi:type="hintco:OutputPortInstance" identifier="psuvolt" valueTo="//@candidates.0/@cosimunits.2/@ports.1"/>
-      <ports xsi:type="hintco:OutputPortInstance" identifier="ref" valueTo="//@candidates.0/@cosimunits.1/@ports.2"/>
-    </cosimunits>
-    <cosimunits xsi:type="hintco:CosimUnitInstance" identifier="DLoopController_FixedEuler_1Em6" declaration="//@csuDeclarations.1">
-      <ports xsi:type="hintco:InputPortInstance" identifier="VEL_FB@expseu_" valueFrom="//@candidates.0/@cosimunits.2/@ports.4">
-        <adaptation xsi:type="hintco:ExtrapolationAdaptation"/>
-      </ports>
-      <ports xsi:type="hintco:InputPortInstance" identifier="POS_FB@expseu_" valueFrom="//@candidates.0/@cosimunits.3/@ports.1">
-        <adaptation xsi:type="hintco:ExtrapolationAdaptation"/>
-      </ports>
-      <ports xsi:type="hintco:InputPortInstance" identifier="REFERENCE@expseu_" valueFrom="//@candidates.0/@cosimunits.0/@ports.1">
-        <adaptation xsi:type="hintco:ExtrapolationAdaptation"/>
-      </ports>
-      <ports xsi:type="hintco:OutputPortInstance" identifier="OUTPUT@expseu_" valueTo="//@candidates.0/@cosimunits.2/@ports.0"/>
-    </cosimunits>
-    <cosimunits xsi:type="hintco:CosimUnitInstance" identifier="EMAPlantNoLoad_FixedEuler_1Em6" declaration="//@csuDeclarations.2">
-      <adaptation xsi:type="hintco:PowerBondAdaptation" effort="//@candidates.0/@cosimunits.2/@ports.5" flow="//@candidates.0/@cosimunits.2/@ports.2"/>
-      <ports xsi:type="hintco:InputPortInstance" identifier="torque_input@expseu_" valueFrom="//@candidates.0/@cosimunits.1/@ports.3">
-        <adaptation xsi:type="hintco:ExtrapolationAdaptation"/>
-      </ports>
-      <ports xsi:type="hintco:InputPortInstance" identifier="psu_vol_input_v@expseu_" valueFrom="//@candidates.0/@cosimunits.0/@ports.0">
-        <adaptation xsi:type="hintco:ExtrapolationAdaptation"/>
-      </ports>
-      <ports xsi:type="hintco:InputPortInstance" identifier="V_IN@expseu_" valueFrom="//@candidates.0/@cosimunits.3/@ports.2">
-        <adaptation xsi:type="hintco:ExtrapolationAdaptation"/>
-      </ports>
-      <ports xsi:type="hintco:InputPortInstance" identifier="X_IN@expseu_" valueFrom="//@candidates.0/@cosimunits.3/@ports.3">
-        <adaptation xsi:type="hintco:ExtrapolationAdaptation"/>
-      </ports>
-      <ports xsi:type="hintco:OutputPortInstance" identifier="ang_vel_out_rpm@expseu_" valueTo="//@candidates.0/@cosimunits.1/@ports.0"/>
-      <ports xsi:type="hintco:OutputPortInstance" identifier="F_OUT@expseu_" valueTo="//@candidates.0/@cosimunits.3/@ports.0"/>
-    </cosimunits>
-    <cosimunits xsi:type="hintco:CosimUnitInstance" identifier="LoadNSensor_FixedEuler_1Em6" declaration="//@csuDeclarations.3">
-      <adaptation xsi:type="hintco:PowerBondAdaptation" effort="//@candidates.0/@cosimunits.3/@ports.0" flow="//@candidates.0/@cosimunits.3/@ports.2"/>
-      <ports xsi:type="hintco:InputPortInstance" identifier="F_INPUT@expseu_" valueFrom="//@candidates.0/@cosimunits.2/@ports.5">
-        <adaptation xsi:type="hintco:InterpolationAdaptation"/>
-      </ports>
-      <ports xsi:type="hintco:OutputPortInstance" identifier="X_AFTER_LOAD@expseu_" valueTo="//@candidates.0/@cosimunits.1/@ports.1"/>
-      <ports xsi:type="hintco:OutputPortInstance" identifier="V_OUTPUT@expseu_" valueTo="//@candidates.0/@cosimunits.2/@ports.2"/>
-      <ports xsi:type="hintco:OutputPortInstance" identifier="X_OUTPUT@expseu_" valueTo="//@candidates.0/@cosimunits.2/@ports.3"/>
-    </cosimunits>
-  </candidates>
-  <csuDeclarations identifier="Scenario" path="resources/Scenario.fmu" guid="{a174734c-d15f-4ef0-838d-06526230b19e}"/>
-  <csuDeclarations identifier="DLoopController_FixedEuler_1Em6" path="resources/DLoopController_FixedEuler_1Em6.fmu" guid="2761528305"/>
-  <csuDeclarations identifier="EMAPlantNoLoad_FixedEuler_1Em6" path="resources/EMAPlantNoLoad_FixedEuler_1Em6.fmu" guid="698567049"/>
-  <csuDeclarations identifier="LoadNSensor_FixedEuler_1Em6" path="resources/LoadNSensor_FixedEuler_1Em6.fmu" guid="2810456241"/>
-</hintco:Candidates>

+ 0 - 137
HintCO/examples/case_study_double_loop_proactive.xmi

@@ -1,137 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<hintco:Candidates
-    xmi:version="2.0"
-    xmlns:xmi="http://www.omg.org/XMI"
-    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xmlns:hintco="ua.ansymo.hintco">
-  <candidates
-      identifier="Original"
-      stopTime="10.0"
-      stepSize="1.0E-5"
-      outputStepSize="0.01">
-    <cosimunits
- xsi:type="hintco:CosimUnitInstance"
-        identifier="Scenario"
-        declaration="//@csuDeclarations.0">
-      <ports
-          xsi:type="hintco:OutputPortInstance"
-          identifier="psuvolt"
-          valueTo="//@candidates.0/@cosimunits.2/@ports.1"
-          />
-      <ports
-          xsi:type="hintco:OutputPortInstance"
-          identifier="ref"
-          valueTo="//@candidates.0/@cosimunits.1/@ports.2"
-          />
-    </cosimunits>
-    <cosimunits
- xsi:type="hintco:CosimUnitInstance"
-        identifier="CtrlProactive"
-        declaration="//@csuDeclarations.1">
-      <ports
-          xsi:type="hintco:InputPortInstance"
-          identifier="v"
-
-          valueFrom="//@candidates.0/@cosimunits.2/@ports.4"/>
-      <ports
-          xsi:type="hintco:InputPortInstance"
-          identifier="x"
-
-          valueFrom="//@candidates.0/@cosimunits.3/@ports.1"/>
-      <ports
-          xsi:type="hintco:InputPortInstance"
-          identifier="ref"
-
-          valueFrom="//@candidates.0/@cosimunits.0/@ports.1"/>
-      <ports
-          xsi:type="hintco:OutputPortInstance"
-          identifier="o"
-          valueTo="//@candidates.0/@cosimunits.2/@ports.0"
-          />
-    </cosimunits>
-    <cosimunits
- xsi:type="hintco:CosimUnitInstance"
-        identifier="EMAPlantNoLoad_FixedEuler_1Em6"
-        declaration="//@csuDeclarations.2">
-      <ports
-          xsi:type="hintco:InputPortInstance"
-          identifier="torque_input@expseu_"
-
-          valueFrom="//@candidates.0/@cosimunits.1/@ports.3"/>
-      <ports
-          xsi:type="hintco:InputPortInstance"
-          identifier="psu_vol_input_v@expseu_"
-
-          valueFrom="//@candidates.0/@cosimunits.0/@ports.0"/>
-      <ports
-          xsi:type="hintco:InputPortInstance"
-          identifier="V_IN@expseu_"
-
-          valueFrom="//@candidates.0/@cosimunits.3/@ports.2"/>
-      <ports
-          xsi:type="hintco:InputPortInstance"
-          identifier="X_IN@expseu_"
-
-          valueFrom="//@candidates.0/@cosimunits.3/@ports.3"/>
-      <ports
-          xsi:type="hintco:OutputPortInstance"
-          identifier="ang_vel_out_rpm@expseu_"
-          valueTo="//@candidates.0/@cosimunits.1/@ports.0"
-          />
-      <ports
-          xsi:type="hintco:OutputPortInstance"
-          identifier="F_OUT@expseu_"
-          valueTo="//@candidates.0/@cosimunits.3/@ports.0"
-          />
-    </cosimunits>
-    <cosimunits
- xsi:type="hintco:CosimUnitInstance"
-        identifier="LoadNSensor_FixedEuler_1Em6"
-        declaration="//@csuDeclarations.3">
-      <ports
-          xsi:type="hintco:InputPortInstance"
-          identifier="F_INPUT@expseu_"
-
-          valueFrom="//@candidates.0/@cosimunits.2/@ports.5"/>
-      <ports
-          xsi:type="hintco:OutputPortInstance"
-          identifier="X_AFTER_LOAD@expseu_"
-          valueTo="//@candidates.0/@cosimunits.1/@ports.1"
-          />
-      <ports
-          xsi:type="hintco:OutputPortInstance"
-          identifier="V_OUTPUT@expseu_"
-          valueTo="//@candidates.0/@cosimunits.2/@ports.2"
-          />
-      <ports
-          xsi:type="hintco:OutputPortInstance"
-          identifier="X_OUTPUT@expseu_"
-          valueTo="//@candidates.0/@cosimunits.2/@ports.3"
-          />
-    </cosimunits>
-  </candidates>
-  <csuDeclarations
-      identifier="Scenario"
-      path="resources/Scenario.fmu"
-      guid="{a174734c-d15f-4ef0-838d-06526230b19e}">
-
-  </csuDeclarations>
-  <csuDeclarations
-      identifier="CtrlProactive"
-      path="resources/CtrlProactive.fmu"
-      guid="2761528305">
-
-  </csuDeclarations>
-  <csuDeclarations
-      identifier="EMAPlantNoLoad_FixedEuler_1Em6"
-      path="resources/EMAPlantNoLoad_FixedEuler_1Em6.fmu"
-      guid="698567049">
-
-  </csuDeclarations>
-  <csuDeclarations
-      identifier="LoadNSensor_FixedEuler_1Em6"
-      path="resources/LoadNSensor_FixedEuler_1Em6.fmu"
-      guid="2810456241">
-
-  </csuDeclarations>
-</hintco:Candidates>

+ 2 - 2
HintCO/instances/case_study_double_loop_approx.xmi

@@ -6,9 +6,9 @@
     xmlns:hintco="ua.ansymo.hintco">
   <candidates
       identifier="Original"
-      stopTime="2.0"
+      stopTime="5.0"
       stepSize="1.0E-5"
-      outputStepSize="0.001">
+      outputStepSize="0.01">
     <cosimunits
         xsi:type="hintco:CosimUnitInstance"
         identifier="Scenario"

+ 22 - 49
HintCO/examples/case_study_double_loop_better_proactive.xmi

@@ -6,34 +6,29 @@
     xmlns:hintco="ua.ansymo.hintco">
   <candidates
       identifier="Original"
-      stopTime="10.0"
+      stopTime="5.0"
       stepSize="1.0E-5"
-      outputStepSize="0.001">
-    <cosimunits
- xsi:type="hintco:CosimUnitInstance"
- xsi:type="hintco:CosimUnitInstance"
+      outputStepSize="0.01">
+    <cosimunits
+        xsi:type="hintco:CosimUnitInstance"
         identifier="Scenario"
         declaration="//@csuDeclarations.0">
       <ports
           xsi:type="hintco:OutputPortInstance"
           identifier="psuvolt"
-          valueTo="//@candidates.0/@cosimunits.2/@ports.1"
-          />
+          valueTo="//@candidates.0/@cosimunits.2/@ports.1"/>
       <ports
           xsi:type="hintco:OutputPortInstance"
           identifier="ref"
-          valueTo="//@candidates.0/@cosimunits.1/@ports.2"
-          />
+          valueTo="//@candidates.0/@cosimunits.1/@ports.2"/>
     </cosimunits>
-    <cosimunits
- xsi:type="hintco:CosimUnitInstance"
- xsi:type="hintco:CosimUnitInstance"
+    <cosimunits
+        xsi:type="hintco:CosimUnitInstance"
         identifier="CtrlProactive"
         declaration="//@csuDeclarations.1">
       <ports
           xsi:type="hintco:InputPortInstance"
           identifier="v"
-
           valueFrom="//@candidates.0/@cosimunits.2/@ports.4">
         <adaptation
             xsi:type="hintco:ExtrapolationAdaptation"/>
@@ -41,7 +36,6 @@
       <ports
           xsi:type="hintco:InputPortInstance"
           identifier="x"
-
           valueFrom="//@candidates.0/@cosimunits.3/@ports.1">
         <adaptation
             xsi:type="hintco:ExtrapolationAdaptation"/>
@@ -49,7 +43,6 @@
       <ports
           xsi:type="hintco:InputPortInstance"
           identifier="ref"
-
           valueFrom="//@candidates.0/@cosimunits.0/@ports.1">
         <adaptation
             xsi:type="hintco:ExtrapolationAdaptation"/>
@@ -57,12 +50,10 @@
       <ports
           xsi:type="hintco:OutputPortInstance"
           identifier="o"
-          valueTo="//@candidates.0/@cosimunits.2/@ports.0"
-          />
+          valueTo="//@candidates.0/@cosimunits.2/@ports.0"/>
     </cosimunits>
-    <cosimunits
- xsi:type="hintco:CosimUnitInstance"
- xsi:type="hintco:CosimUnitInstance"
+    <cosimunits
+        xsi:type="hintco:CosimUnitInstance"
         identifier="EMAPlantNoLoad_FixedEuler_1Em6"
         declaration="//@csuDeclarations.2">
       <adaptation
@@ -71,7 +62,6 @@
       <ports
           xsi:type="hintco:InputPortInstance"
           identifier="torque_input@expseu_"
-
           valueFrom="//@candidates.0/@cosimunits.1/@ports.3">
         <adaptation
             xsi:type="hintco:InterpolationAdaptation"/>
@@ -79,7 +69,6 @@
       <ports
           xsi:type="hintco:InputPortInstance"
           identifier="psu_vol_input_v@expseu_"
-
           valueFrom="//@candidates.0/@cosimunits.0/@ports.0">
         <adaptation
             xsi:type="hintco:InterpolationAdaptation"/>
@@ -87,7 +76,6 @@
       <ports
           xsi:type="hintco:InputPortInstance"
           identifier="V_IN@expseu_"
-
           valueFrom="//@candidates.0/@cosimunits.3/@ports.2">
         <adaptation
             xsi:type="hintco:ExtrapolationAdaptation"
@@ -96,7 +84,6 @@
       <ports
           xsi:type="hintco:InputPortInstance"
           identifier="X_IN@expseu_"
-
           valueFrom="//@candidates.0/@cosimunits.3/@ports.3">
         <adaptation
             xsi:type="hintco:ExtrapolationAdaptation"
@@ -105,17 +92,14 @@
       <ports
           xsi:type="hintco:OutputPortInstance"
           identifier="ang_vel_out_rpm@expseu_"
-          valueTo="//@candidates.0/@cosimunits.1/@ports.0"
-          />
+          valueTo="//@candidates.0/@cosimunits.1/@ports.0"/>
       <ports
           xsi:type="hintco:OutputPortInstance"
           identifier="F_OUT@expseu_"
-          valueTo="//@candidates.0/@cosimunits.3/@ports.0"
-          />
+          valueTo="//@candidates.0/@cosimunits.3/@ports.0"/>
     </cosimunits>
-    <cosimunits
- xsi:type="hintco:CosimUnitInstance"
- xsi:type="hintco:CosimUnitInstance"
+    <cosimunits
+        xsi:type="hintco:CosimUnitInstance"
         identifier="LoadNSensor_FixedEuler_1Em6"
         declaration="//@csuDeclarations.3">
       <adaptation
@@ -124,7 +108,6 @@
       <ports
           xsi:type="hintco:InputPortInstance"
           identifier="F_INPUT@expseu_"
-
           valueFrom="//@candidates.0/@cosimunits.2/@ports.5">
         <adaptation
             xsi:type="hintco:InterpolationAdaptation"
@@ -133,41 +116,31 @@
       <ports
           xsi:type="hintco:OutputPortInstance"
           identifier="X_AFTER_LOAD@expseu_"
-          valueTo="//@candidates.0/@cosimunits.1/@ports.1"
-          />
+          valueTo="//@candidates.0/@cosimunits.1/@ports.1"/>
       <ports
           xsi:type="hintco:OutputPortInstance"
           identifier="V_OUTPUT@expseu_"
-          valueTo="//@candidates.0/@cosimunits.2/@ports.2"
-          />
+          valueTo="//@candidates.0/@cosimunits.2/@ports.2"/>
       <ports
           xsi:type="hintco:OutputPortInstance"
           identifier="X_OUTPUT@expseu_"
-          valueTo="//@candidates.0/@cosimunits.2/@ports.3"
-          />
+          valueTo="//@candidates.0/@cosimunits.2/@ports.3"/>
     </cosimunits>
   </candidates>
   <csuDeclarations
       identifier="Scenario"
       path="resources/Scenario.fmu"
-      guid="{a174734c-d15f-4ef0-838d-06526230b19e}">
-  </csuDeclarations>
+      guid="{a174734c-d15f-4ef0-838d-06526230b19e}"/>
   <csuDeclarations
       identifier="CtrlProactive"
       path="resources/CtrlProactive.fmu"
-      guid="bb836d9b-cd39-4ccb-8899-9d1c47c7d561">
-
-  </csuDeclarations>
+      guid="bb836d9b-cd39-4ccb-8899-9d1c47c7d561"/>
   <csuDeclarations
       identifier="EMAPlantNoLoad_FixedEuler_1Em6"
       path="resources/EMAPlantNoLoad_FixedEuler_1Em6.fmu"
-      guid="698567049">
-
-  </csuDeclarations>
+      guid="698567049"/>
   <csuDeclarations
       identifier="LoadNSensor_FixedEuler_1Em6"
       path="resources/LoadNSensor_FixedEuler_1Em6.fmu"
-      guid="2810456241">
-    
-  </csuDeclarations>
+      guid="2810456241"/>
 </hintco:Candidates>

+ 1 - 1
HintCO/instances/case_study_double_loop_default.hintco

@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="ASCII"?>
 <hintco:Candidates xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:hintco="ua.ansymo.hintco">
-  <candidates identifier="Original" stopTime="2.0" stepSize="1.0E-5" outputStepSize="0.001">
+  <candidates identifier="Original" stopTime="5.0" stepSize="1.0E-5" outputStepSize="0.01">
     <cosimunits xsi:type="hintco:CosimUnitInstance" identifier="Scenario" declaration="//@csuDeclarations.0">
       <ports xsi:type="hintco:OutputPortInstance" identifier="psuvolt" valueTo="//@candidates.0/@cosimunits.2/@ports.1"/>
       <ports xsi:type="hintco:OutputPortInstance" identifier="ref" valueTo="//@candidates.0/@cosimunits.1/@ports.2"/>

+ 56 - 0
HintCO/instances/case_study_double_loop_hier.hintco

@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="ASCII"?>
+<hintco:Candidates xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:hintco="ua.ansymo.hintco">
+  <candidates identifier="Original" stopTime="5.0" stepSize="1.0E-5" outputStepSize="0.01">
+    <cosimunits xsi:type="hintco:CosimUnitInstance" identifier="Scenario" declaration="//@csuDeclarations.0">
+      <ports xsi:type="hintco:OutputPortInstance" identifier="psuvolt" valueTo="//@candidates.0/@cosimunits.2/@ports.0"/>
+      <ports xsi:type="hintco:OutputPortInstance" identifier="ref" valueTo="//@candidates.0/@cosimunits.1/@ports.2"/>
+    </cosimunits>
+    <cosimunits xsi:type="hintco:CosimUnitInstance" identifier="DLoopController_FixedEuler_1Em6" declaration="//@csuDeclarations.1">
+      <ports xsi:type="hintco:InputPortInstance" identifier="VEL_FB@expseu_" valueFrom="//@candidates.0/@cosimunits.2/@ports.3">
+        <adaptation xsi:type="hintco:ExtrapolationAdaptation"/>
+      </ports>
+      <ports xsi:type="hintco:InputPortInstance" identifier="POS_FB@expseu_" valueFrom="//@candidates.0/@cosimunits.2/@ports.2">
+        <adaptation xsi:type="hintco:ExtrapolationAdaptation"/>
+      </ports>
+      <ports xsi:type="hintco:InputPortInstance" identifier="REFERENCE@expseu_" valueFrom="//@candidates.0/@cosimunits.0/@ports.1">
+        <adaptation xsi:type="hintco:ExtrapolationAdaptation"/>
+      </ports>
+      <ports xsi:type="hintco:OutputPortInstance" identifier="OUTPUT@expseu_" valueTo="//@candidates.0/@cosimunits.2/@ports.1"/>
+    </cosimunits>
+    <cosimunits xsi:type="hintco:HierarchicalCosimUnit" identifier="plant">
+      <cosimunits xsi:type="hintco:CosimUnitInstance" identifier="EMAPlantNoLoad_FixedEuler_1Em6" declaration="//@csuDeclarations.2">
+        <ports xsi:type="hintco:InputPortInstance" identifier="torque_input@expseu_" valueFrom="//@candidates.0/@cosimunits.2/@ports.1">
+          <adaptation xsi:type="hintco:ExtrapolationAdaptation"/>
+        </ports>
+        <ports xsi:type="hintco:InputPortInstance" identifier="psu_vol_input_v@expseu_" valueFrom="//@candidates.0/@cosimunits.2/@ports.0">
+          <adaptation xsi:type="hintco:ExtrapolationAdaptation"/>
+        </ports>
+        <ports xsi:type="hintco:InputPortInstance" identifier="V_IN@expseu_" valueFrom="//@candidates.0/@cosimunits.2/@cosimunits.1/@ports.2">
+          <adaptation xsi:type="hintco:ExtrapolationAdaptation"/>
+        </ports>
+        <ports xsi:type="hintco:InputPortInstance" identifier="X_IN@expseu_" valueFrom="//@candidates.0/@cosimunits.2/@cosimunits.1/@ports.3">
+          <adaptation xsi:type="hintco:ExtrapolationAdaptation"/>
+        </ports>
+        <ports xsi:type="hintco:OutputPortInstance" identifier="ang_vel_out_rpm@expseu_" valueTo="//@candidates.0/@cosimunits.2/@ports.3"/>
+        <ports xsi:type="hintco:OutputPortInstance" identifier="F_OUT@expseu_" valueTo="//@candidates.0/@cosimunits.2/@cosimunits.1/@ports.0"/>
+      </cosimunits>
+      <cosimunits xsi:type="hintco:CosimUnitInstance" identifier="LoadNSensor_FixedEuler_1Em6" declaration="//@csuDeclarations.3">
+        <ports xsi:type="hintco:InputPortInstance" identifier="F_INPUT@expseu_" valueFrom="//@candidates.0/@cosimunits.2/@cosimunits.0/@ports.5">
+          <adaptation xsi:type="hintco:InterpolationAdaptation"/>
+        </ports>
+        <ports xsi:type="hintco:OutputPortInstance" identifier="X_AFTER_LOAD@expseu_" valueTo="//@candidates.0/@cosimunits.2/@ports.2"/>
+        <ports xsi:type="hintco:OutputPortInstance" identifier="V_OUTPUT@expseu_" valueTo="//@candidates.0/@cosimunits.2/@cosimunits.0/@ports.2"/>
+        <ports xsi:type="hintco:OutputPortInstance" identifier="X_OUTPUT@expseu_" valueTo="//@candidates.0/@cosimunits.2/@cosimunits.0/@ports.3"/>
+      </cosimunits>
+      <adaptation xsi:type="hintco:MultiRateAdaptation" rate="100"/>
+      <ports xsi:type="hintco:HierarchicalUnitPort" identifier="psu" valueFrom="//@candidates.0/@cosimunits.0/@ports.0" valueTo="//@candidates.0/@cosimunits.2/@cosimunits.0/@ports.1"/>
+      <ports xsi:type="hintco:HierarchicalUnitPort" identifier="ctrl_in" valueFrom="//@candidates.0/@cosimunits.1/@ports.3" valueTo="//@candidates.0/@cosimunits.2/@cosimunits.0/@ports.0"/>
+      <ports xsi:type="hintco:HierarchicalUnitPort" identifier="x" valueFrom="//@candidates.0/@cosimunits.2/@cosimunits.1/@ports.1" valueTo="//@candidates.0/@cosimunits.1/@ports.1"/>
+      <ports xsi:type="hintco:HierarchicalUnitPort" identifier="w" valueFrom="//@candidates.0/@cosimunits.2/@cosimunits.0/@ports.4" valueTo="//@candidates.0/@cosimunits.1/@ports.0"/>
+    </cosimunits>
+  </candidates>
+  <csuDeclarations identifier="Scenario" path="resources/Scenario.fmu" guid="{a174734c-d15f-4ef0-838d-06526230b19e}"/>
+  <csuDeclarations identifier="DLoopController_FixedEuler_1Em6" path="resources/DLoopController_FixedEuler_1Em6.fmu" guid="2761528305"/>
+  <csuDeclarations identifier="EMAPlantNoLoad_FixedEuler_1Em6" path="resources/EMAPlantNoLoad_FixedEuler_1Em6.fmu" guid="698567049"/>
+  <csuDeclarations identifier="LoadNSensor_FixedEuler_1Em6" path="resources/LoadNSensor_FixedEuler_1Em6.fmu" guid="2810456241"/>
+</hintco:Candidates>

+ 1 - 1
HintCO/instances/case_study_double_loop_pbond_hier.hintco

@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="ASCII"?>
 <hintco:Candidates xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:hintco="ua.ansymo.hintco">
-  <candidates identifier="Original" stopTime="2.0" stepSize="1.0E-5" outputStepSize="0.001">
+  <candidates identifier="Original" stopTime="5.0" stepSize="1.0E-5" outputStepSize="0.01">
     <cosimunits xsi:type="hintco:CosimUnitInstance" identifier="Scenario" declaration="//@csuDeclarations.0">
       <ports xsi:type="hintco:OutputPortInstance" identifier="psuvolt" valueTo="//@candidates.0/@cosimunits.2/@ports.0"/>
       <ports xsi:type="hintco:OutputPortInstance" identifier="ref" valueTo="//@candidates.0/@cosimunits.1/@ports.2"/>

+ 58 - 0
HintCO/instances/case_study_double_loop_pbond_hier_proactive.hintco

@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="ASCII"?>
+<hintco:Candidates xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:hintco="ua.ansymo.hintco">
+  <candidates identifier="Original" stopTime="5.0" stepSize="1.0E-5" outputStepSize="0.01">
+    <cosimunits xsi:type="hintco:CosimUnitInstance" identifier="Scenario" declaration="//@csuDeclarations.0">
+      <ports xsi:type="hintco:OutputPortInstance" identifier="psuvolt" valueTo="//@candidates.0/@cosimunits.2/@ports.0"/>
+      <ports xsi:type="hintco:OutputPortInstance" identifier="ref" valueTo="//@candidates.0/@cosimunits.1/@ports.2"/>
+    </cosimunits>
+    <cosimunits xsi:type="hintco:CosimUnitInstance" identifier="CtrlProactive" declaration="//@csuDeclarations.1">
+      <ports xsi:type="hintco:InputPortInstance" identifier="v" valueFrom="//@candidates.0/@cosimunits.2/@ports.3">
+        <adaptation xsi:type="hintco:ExtrapolationAdaptation"/>
+      </ports>
+      <ports xsi:type="hintco:InputPortInstance" identifier="x" valueFrom="//@candidates.0/@cosimunits.2/@ports.2">
+        <adaptation xsi:type="hintco:ExtrapolationAdaptation"/>
+      </ports>
+      <ports xsi:type="hintco:InputPortInstance" identifier="ref" valueFrom="//@candidates.0/@cosimunits.0/@ports.1">
+        <adaptation xsi:type="hintco:ExtrapolationAdaptation"/>
+      </ports>
+      <ports xsi:type="hintco:OutputPortInstance" identifier="o" valueTo="//@candidates.0/@cosimunits.2/@ports.1"/>
+    </cosimunits>
+    <cosimunits xsi:type="hintco:HierarchicalCosimUnit" identifier="plant">
+      <cosimunits xsi:type="hintco:CosimUnitInstance" identifier="EMAPlantNoLoad_FixedEuler_1Em6" declaration="//@csuDeclarations.2">
+        <adaptation xsi:type="hintco:PowerBondAdaptation" effort="//@candidates.0/@cosimunits.2/@cosimunits.0/@ports.5" flow="//@candidates.0/@cosimunits.2/@cosimunits.0/@ports.2"/>
+        <ports xsi:type="hintco:InputPortInstance" identifier="torque_input@expseu_" valueFrom="//@candidates.0/@cosimunits.2/@ports.1">
+          <adaptation xsi:type="hintco:InterpolationAdaptation"/>
+        </ports>
+        <ports xsi:type="hintco:InputPortInstance" identifier="psu_vol_input_v@expseu_" valueFrom="//@candidates.0/@cosimunits.2/@ports.0">
+          <adaptation xsi:type="hintco:ExtrapolationAdaptation"/>
+        </ports>
+        <ports xsi:type="hintco:InputPortInstance" identifier="V_IN@expseu_" valueFrom="//@candidates.0/@cosimunits.2/@cosimunits.1/@ports.2">
+          <adaptation xsi:type="hintco:ExtrapolationAdaptation"/>
+        </ports>
+        <ports xsi:type="hintco:InputPortInstance" identifier="X_IN@expseu_" valueFrom="//@candidates.0/@cosimunits.2/@cosimunits.1/@ports.3">
+          <adaptation xsi:type="hintco:ExtrapolationAdaptation"/>
+        </ports>
+        <ports xsi:type="hintco:OutputPortInstance" identifier="ang_vel_out_rpm@expseu_" valueTo="//@candidates.0/@cosimunits.2/@ports.3"/>
+        <ports xsi:type="hintco:OutputPortInstance" identifier="F_OUT@expseu_" valueTo="//@candidates.0/@cosimunits.2/@cosimunits.1/@ports.0"/>
+      </cosimunits>
+      <cosimunits xsi:type="hintco:CosimUnitInstance" identifier="LoadNSensor_FixedEuler_1Em6" declaration="//@csuDeclarations.3">
+        <adaptation xsi:type="hintco:PowerBondAdaptation" effort="//@candidates.0/@cosimunits.2/@cosimunits.1/@ports.0" flow="//@candidates.0/@cosimunits.2/@cosimunits.1/@ports.2"/>
+        <ports xsi:type="hintco:InputPortInstance" identifier="F_INPUT@expseu_" valueFrom="//@candidates.0/@cosimunits.2/@cosimunits.0/@ports.5">
+          <adaptation xsi:type="hintco:InterpolationAdaptation"/>
+        </ports>
+        <ports xsi:type="hintco:OutputPortInstance" identifier="X_AFTER_LOAD@expseu_" valueTo="//@candidates.0/@cosimunits.2/@ports.2"/>
+        <ports xsi:type="hintco:OutputPortInstance" identifier="V_OUTPUT@expseu_" valueTo="//@candidates.0/@cosimunits.2/@cosimunits.0/@ports.2"/>
+        <ports xsi:type="hintco:OutputPortInstance" identifier="X_OUTPUT@expseu_" valueTo="//@candidates.0/@cosimunits.2/@cosimunits.0/@ports.3"/>
+      </cosimunits>
+      <adaptation xsi:type="hintco:MultiRateAdaptation" rate="10"/>
+      <ports xsi:type="hintco:HierarchicalUnitPort" identifier="psu" valueFrom="//@candidates.0/@cosimunits.0/@ports.0" valueTo="//@candidates.0/@cosimunits.2/@cosimunits.0/@ports.1"/>
+      <ports xsi:type="hintco:HierarchicalUnitPort" identifier="ctrl_in" valueFrom="//@candidates.0/@cosimunits.1/@ports.3" valueTo="//@candidates.0/@cosimunits.2/@cosimunits.0/@ports.0"/>
+      <ports xsi:type="hintco:HierarchicalUnitPort" identifier="x" valueFrom="//@candidates.0/@cosimunits.2/@cosimunits.1/@ports.1" valueTo="//@candidates.0/@cosimunits.1/@ports.1"/>
+      <ports xsi:type="hintco:HierarchicalUnitPort" identifier="w" valueFrom="//@candidates.0/@cosimunits.2/@cosimunits.0/@ports.4" valueTo="//@candidates.0/@cosimunits.1/@ports.0"/>
+    </cosimunits>
+  </candidates>
+  <csuDeclarations identifier="Scenario" path="resources/Scenario.fmu" guid="{a174734c-d15f-4ef0-838d-06526230b19e}"/>
+  <csuDeclarations identifier="CtrlProactive" path="resources/CtrlProactive.fmu" guid="bb836d9b-cd39-4ccb-8899-9d1c47c7d561"/>
+  <csuDeclarations identifier="EMAPlantNoLoad_FixedEuler_1Em6" path="resources/EMAPlantNoLoad_FixedEuler_1Em6.fmu" guid="698567049"/>
+  <csuDeclarations identifier="LoadNSensor_FixedEuler_1Em6" path="resources/LoadNSensor_FixedEuler_1Em6.fmu" guid="2810456241"/>
+</hintco:Candidates>