Bladeren bron

major refactor: split language from engine

Claudio Gomes 6 jaren geleden
bovenliggende
commit
91dfe7fefd
100 gewijzigde bestanden met toevoegingen van 408 en 1304 verwijderingen
  1. 4 6
      .gitignore
  2. 0 17
      .project
  3. 0 10
      HintCO.edit/build.properties
  4. BIN
      HintCO.edit/icons/full/ctool16/CreateCandidateScenario_cosimunits_RootCandidateScenario.gif
  5. BIN
      HintCO.edit/icons/full/ctool16/CreateCandidateScenario_cosimunits_UnitInstance.gif
  6. BIN
      HintCO.edit/icons/full/ctool16/CreateCandidates_candidates_CandidateScenario.gif
  7. BIN
      HintCO.edit/icons/full/ctool16/CreateCandidates_candidates_RootCandidateScenario.gif
  8. BIN
      HintCO.edit/icons/full/ctool16/CreateCandidates_csuDeclarations_CosimUnitDeclaration.gif
  9. BIN
      HintCO.edit/icons/full/ctool16/CreateCandidates_csuDeclarations_HierarchicalCosimUnitDeclaration.gif
  10. BIN
      HintCO.edit/icons/full/ctool16/CreateCandidates_nodes_VariantDiagram.gif
  11. BIN
      HintCO.edit/icons/full/ctool16/CreateCosimUnitDeclaration_ports_InputPortDeclaration.gif
  12. BIN
      HintCO.edit/icons/full/ctool16/CreateCosimUnitDeclaration_ports_OutputPortDeclaration.gif
  13. BIN
      HintCO.edit/icons/full/ctool16/CreateCosimUnitInstance_adaptation_CombineAdaptation.gif
  14. BIN
      HintCO.edit/icons/full/ctool16/CreateCosimUnitInstance_adaptation_MultiRateAdaptation.gif
  15. BIN
      HintCO.edit/icons/full/ctool16/CreateCosimUnitInstance_adaptation_PowerBondAdaptation.gif
  16. BIN
      HintCO.edit/icons/full/ctool16/CreateCosimUnitInstance_adaptation_XorUnitAdaptation.gif
  17. BIN
      HintCO.edit/icons/full/ctool16/CreateCosimUnitInstance_ports_InputPortInstance.gif
  18. BIN
      HintCO.edit/icons/full/ctool16/CreateCosimUnitInstance_ports_OutputPortInstance.gif
  19. BIN
      HintCO.edit/icons/full/ctool16/CreateHierarchicalCosimUnitDeclaration_children_CosimUnitInstance.gif
  20. BIN
      HintCO.edit/icons/full/ctool16/CreateHierarchicalUnitInstance_cosimunits_CosimUnitInstance.gif
  21. BIN
      HintCO.edit/icons/full/ctool16/CreateHierarchicalUnitInstance_cosimunits_HierarchicalUnitInstance.gif
  22. BIN
      HintCO.edit/icons/full/obj16/CandidateScenario.gif
  23. BIN
      HintCO.edit/icons/full/obj16/Candidates.gif
  24. BIN
      HintCO.edit/icons/full/obj16/HierarchicalCosimUnitDeclaration.gif
  25. BIN
      HintCO.edit/icons/full/obj16/HierarchicalUnitInstance.gif
  26. BIN
      HintCO.edit/icons/full/obj16/InputPortDeclaration.gif
  27. BIN
      HintCO.edit/icons/full/obj16/UnitInstance.gif
  28. 0 10
      HintCO.editor/build.properties
  29. 0 13
      HintCO/.settings/org.eclipse.xtend.core.Xtend.prefs
  30. 0 10
      HintCO/instances/storage_test.xmi
  31. 0 169
      HintCO/model/Candidates.genmodel
  32. 0 349
      HintCO/model/Candidates.xcore
  33. 0 283
      HintCO/model/hintco.ecore
  34. 0 4
      HintCO/plugin.properties
  35. 0 201
      HintCO/pom.xml
  36. 0 53
      HintCO/src-gen/ua/ansymo/hintco/.gitignore
  37. 0 0
      HintCO/src-gen/ua/ansymo/hintco/impl/.gitignore
  38. 0 6
      HintCO/src-gen/ua/ansymo/hintco/test/.gitignore
  39. 0 0
      HintCO/src-gen/ua/ansymo/hintco/util/.gitignore
  40. 2 4
      HintCO/.classpath
  41. 0 0
      HintCOEngine/.gitignore
  42. 1 1
      HintCO/.project
  43. 0 1
      HintCO/.settings/org.eclipse.core.resources.prefs
  44. 0 0
      HintCOEngine/.settings/org.eclipse.jdt.core.prefs
  45. 4 0
      HintCOEngine/.settings/org.eclipse.xtend.core.Xtend.prefs
  46. 0 0
      HintCOEngine/HintCO.product
  47. 8 8
      HintCO/META-INF/MANIFEST.MF
  48. 1 4
      HintCO/build.properties
  49. 0 0
      HintCOEngine/examples/analytical_solution/DLoopController_FixedEuler_1Em6.csv
  50. 0 0
      HintCOEngine/examples/analytical_solution/EMAPlantNoLoad_FixedEuler_1Em6.csv
  51. 0 0
      HintCOEngine/examples/analytical_solution/LoadNSensor_FixedEuler_1Em6.csv
  52. 0 0
      HintCOEngine/examples/case_study_contract.contractlang
  53. 0 0
      HintCOEngine/examples/case_study_contract.xmi
  54. 0 0
      HintCOEngine/examples/case_study_contract_proactive.contractlang
  55. 0 0
      HintCOEngine/examples/case_study_contract_proactive.xmi
  56. 2 6
      HintCO/examples/case_study_double_loop_approx_cpint.xmi
  57. 2 6
      HintCO/examples/case_study_double_loop_approx_order.xmi
  58. 2 2
      HintCO/examples/case_study_double_loop_hier_cpInt.hintco
  59. 2 2
      HintCO/examples/case_study_double_loop_hier_order.hintco
  60. 2 2
      HintCO/examples/case_study_double_loop_pbond_hier_cpInter.hintco
  61. 2 6
      HintCO/examples/watertanks.xmi
  62. 0 0
      HintCOEngine/examples/watertanks_ctrl.contractlang
  63. 0 0
      HintCOEngine/examples/watertanks_ctrl.xmi
  64. 7 0
      HintCOEngine/instances/My.hintco
  65. 2 2
      HintCO/instances/add_constraints_test.hintco
  66. 0 0
      HintCOEngine/instances/case_study_contract.contractlang
  67. 0 0
      HintCOEngine/instances/case_study_contract.xmi
  68. 2 6
      HintCO/instances/case_study_double_loop.xmi
  69. 2 6
      HintCO/instances/case_study_double_loop_approx.xmi
  70. 2 6
      HintCO/instances/case_study_double_loop_better_proactive.xmi
  71. 2 2
      HintCO/instances/case_study_double_loop_default.hintco
  72. 2 2
      HintCO/instances/case_study_double_loop_hier.hintco
  73. 2 2
      HintCO/instances/case_study_double_loop_pbond.hintco
  74. 2 2
      HintCO/instances/case_study_double_loop_pbond_hier.hintco
  75. 2 2
      HintCO/instances/case_study_double_loop_pbond_hier_proactive.hintco
  76. 2 2
      HintCO/instances/complex_order_hierarchical_test.hintco
  77. 3 7
      HintCO/instances/complex_order_test.xmi
  78. 2 6
      HintCO/instances/create_default_candidate_space_test.xmi
  79. 2 6
      HintCO/instances/duplicate_unit_test.xmi
  80. 49 0
      HintCOEngine/instances/elevator_load_scenario.hintco
  81. 2 6
      HintCO/instances/execute_cosim_test.xmi
  82. 2 6
      HintCO/instances/execute_cosim_test_watertanks.xmi
  83. 2 6
      HintCO/instances/execute_deephier_cosim_test_watertanks.xmi
  84. 2 6
      HintCO/instances/execute_hier_cosim_test_watertanks.xmi
  85. 2 6
      HintCO/instances/extrapolation_test.xmi
  86. 2 6
      HintCO/instances/generate_variant_diagram_test.xmi
  87. 2 6
      HintCO/instances/generate_variants_extrapolation_test.xmi
  88. 2 2
      HintCO/instances/generate_variants_hier_test.hintco
  89. 2 6
      HintCO/instances/generate_variants_infeasible_implication_test.xmi
  90. 2 6
      HintCO/instances/generate_variants_infeasible_interpolation_test.xmi
  91. 2 6
      HintCO/instances/generate_variants_interpolation_test.xmi
  92. 2 6
      HintCO/instances/generate_variants_test.xmi
  93. 38 0
      HintCOEngine/instances/generated/add_constraints_test.hintco
  94. 77 0
      HintCOEngine/instances/generated/create_default_candidate_space_test.xmi
  95. 53 0
      HintCOEngine/instances/generated/default_scenario_test.xmi
  96. 51 0
      HintCOEngine/instances/generated/generate_variant_diagram_test.xmi
  97. 46 0
      HintCOEngine/instances/generated/generate_variants_infeasible_interpolation_test.xmi
  98. 2 6
      HintCO/instances/interpolation_test.xmi
  99. 2 6
      HintCO/instances/model_test.xmi
  100. 0 0
      HintCO/instances/simple_order_test.xmi

+ 4 - 6
.gitignore

@@ -1,10 +1,8 @@
 # ---> Java
 *.class
 
-/HintCO/bin/
-/HintCO/xtend-gen/
-/HintCO/instances/generated
-/HintCO/results-gen/
-
-/HintCO/output/
+/HintCOEngine/bin/
+/HintCOEngine/output/
+/HintCOEngine/results-gen/
+/HintCOEngine/src-gen/
 /be.uantwerpen.cosys.ContractLang/target

+ 0 - 17
.project

@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>HintCOProject</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.m2e.core.maven2Builder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.m2e.core.maven2Nature</nature>
-	</natures>
-</projectDescription>

+ 0 - 10
HintCO.edit/build.properties

@@ -1,10 +0,0 @@
-#
-
-bin.includes = HintCO.edit.jar,\
-               icons/,\
-               META-INF/,\
-               plugin.xml,\
-               plugin.properties
-jars.compile.order = HintCO.edit.jar
-source.HintCO.edit.jar = src/
-output.HintCO.edit.jar = bin/

BIN
HintCO.edit/icons/full/ctool16/CreateCandidateScenario_cosimunits_RootCandidateScenario.gif


BIN
HintCO.edit/icons/full/ctool16/CreateCandidateScenario_cosimunits_UnitInstance.gif


BIN
HintCO.edit/icons/full/ctool16/CreateCandidates_candidates_CandidateScenario.gif


BIN
HintCO.edit/icons/full/ctool16/CreateCandidates_candidates_RootCandidateScenario.gif


BIN
HintCO.edit/icons/full/ctool16/CreateCandidates_csuDeclarations_CosimUnitDeclaration.gif


BIN
HintCO.edit/icons/full/ctool16/CreateCandidates_csuDeclarations_HierarchicalCosimUnitDeclaration.gif


BIN
HintCO.edit/icons/full/ctool16/CreateCandidates_nodes_VariantDiagram.gif


BIN
HintCO.edit/icons/full/ctool16/CreateCosimUnitDeclaration_ports_InputPortDeclaration.gif


BIN
HintCO.edit/icons/full/ctool16/CreateCosimUnitDeclaration_ports_OutputPortDeclaration.gif


BIN
HintCO.edit/icons/full/ctool16/CreateCosimUnitInstance_adaptation_CombineAdaptation.gif


BIN
HintCO.edit/icons/full/ctool16/CreateCosimUnitInstance_adaptation_MultiRateAdaptation.gif


BIN
HintCO.edit/icons/full/ctool16/CreateCosimUnitInstance_adaptation_PowerBondAdaptation.gif


BIN
HintCO.edit/icons/full/ctool16/CreateCosimUnitInstance_adaptation_XorUnitAdaptation.gif


BIN
HintCO.edit/icons/full/ctool16/CreateCosimUnitInstance_ports_InputPortInstance.gif


BIN
HintCO.edit/icons/full/ctool16/CreateCosimUnitInstance_ports_OutputPortInstance.gif


BIN
HintCO.edit/icons/full/ctool16/CreateHierarchicalCosimUnitDeclaration_children_CosimUnitInstance.gif


BIN
HintCO.edit/icons/full/ctool16/CreateHierarchicalUnitInstance_cosimunits_CosimUnitInstance.gif


BIN
HintCO.edit/icons/full/ctool16/CreateHierarchicalUnitInstance_cosimunits_HierarchicalUnitInstance.gif


BIN
HintCO.edit/icons/full/obj16/CandidateScenario.gif


BIN
HintCO.edit/icons/full/obj16/Candidates.gif


BIN
HintCO.edit/icons/full/obj16/HierarchicalCosimUnitDeclaration.gif


BIN
HintCO.edit/icons/full/obj16/HierarchicalUnitInstance.gif


BIN
HintCO.edit/icons/full/obj16/InputPortDeclaration.gif


BIN
HintCO.edit/icons/full/obj16/UnitInstance.gif


+ 0 - 10
HintCO.editor/build.properties

@@ -1,10 +0,0 @@
-#
-
-bin.includes = HintCO.editor.jar,\
-               icons/,\
-               META-INF/,\
-               plugin.xml,\
-               plugin.properties
-jars.compile.order = HintCO.editor.jar
-source.HintCO.editor.jar = src/
-output.HintCO.editor.jar = bin

+ 0 - 13
HintCO/.settings/org.eclipse.xtend.core.Xtend.prefs

@@ -1,13 +0,0 @@
-BuilderConfiguration.is_project_specific=true
-eclipse.preferences.version=1
-org.eclipse.xtend.core.Xtend.useProjectSettings=true
-outlet.DEFAULT_OUTPUT.cleanDirectory=true
-outlet.DEFAULT_OUTPUT.directory=target/xtend-gen
-outlet.DEFAULT_OUTPUT.hideLocalSyntheticVariables=true
-outlet.DEFAULT_OUTPUT.installDslAsPrimarySource=false
-outlet.DEFAULT_OUTPUT.sourceFolder.lib.directory=target/xtend-gen
-outlet.DEFAULT_OUTPUT.sourceFolder.src-gen.directory=target/xtend-gen
-outlet.DEFAULT_OUTPUT.sourceFolder.src-gen.ignore=true
-outlet.DEFAULT_OUTPUT.sourceFolder.src.directory=target/xtend-gen
-outlet.DEFAULT_OUTPUT.sourceFolder.test.directory=target/test-xtend-gen
-outlet.DEFAULT_OUTPUT.userOutputPerSourceFolder=true

+ 0 - 10
HintCO/instances/storage_test.xmi

@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<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"
-    xsi:schemaLocation="ua.ansymo.hintco ../model/Candidates.xcore#/EPackage">
-  <candidates
-      identifier="c1"/>
-</hintco:Candidates>

File diff suppressed because it is too large
+ 0 - 169
HintCO/model/Candidates.genmodel


+ 0 - 349
HintCO/model/Candidates.xcore

@@ -1,349 +0,0 @@
-package ua.ansymo.hintco
-
-import org.eclipse.emf.common.util.BasicEList
-
-type Int wraps int
-
-abstract class IDed {
-	String identifier
-}
-
-class Candidates {
-	contains RootCandidateScenario[] candidates
-	contains CosimUnitDeclaration[] csuDeclarations
-	refers VariantDiagram root
-	contains VariantDiagram[] nodes
-}
-
-class VariantDiagram extends IDed {
-	refers VariantDiagram[] children
-	refers Alternative alternative
-	derived String name get {
-		val prefix = identifier+"_"
-		if (alternative !== null){
-			if (alternative instanceof RootCandidateScenario){
-				prefix + "sce " + (alternative as RootCandidateScenario).name
-			} else if (alternative instanceof XorPortAdaptation) {
-				prefix + "xor " + (alternative as XorPortAdaptation).name
-			} else if (alternative instanceof XorUnitAdaptation) {
-				prefix + "xor " + (alternative as XorUnitAdaptation).name
-			} else if (alternative instanceof ExtrapolationAdaptation) {
-				prefix + "extra " + (alternative as ExtrapolationAdaptation).name
-			} else if (alternative instanceof InterpolationAdaptation) {
-				prefix + "intra " + (alternative as InterpolationAdaptation).name
-			} else {
-				prefix + "implement"
-			}
-		}
-		else {
-			prefix + "root"
-		}
-	}
-}
-
-abstract class PrecendenceNode {
-	refers PrecendenceNode[] precedes opposite succeeds
-	refers PrecendenceNode[] succeeds opposite precedes
-	refers PrecendenceNode before opposite after
-	refers PrecendenceNode after opposite before
-}
-
-class RootCandidateScenario extends IDed, Alternative, Scenario {
-	derived String name get {
-		identifier + "(w=" + weight + ")"
-	}
-	double stopTime
-	double stepSize
-	double outputStepSize
-}
-
-abstract class Scenario extends IDed {
-	contains UnitInstance[] cosimunits opposite scenario
-}
-
-class HierarchicalCosimUnit extends Scenario,UnitInstance {
-	op boolean valid() {
-		ports.forall[p | p instanceof HierarchicalUnitPort]
-	}
-}
-
-class CosimUnitDeclaration extends IDed {
-	String path
-	String guid
-}
-
-abstract class UnitInstance extends IDed,PrecendenceNode{
-	refers Scenario scenario opposite cosimunits
-	contains UnitAdaptation adaptation opposite unit
-	contains PortInstance[] ports opposite unit
-	
-	op UnitAdaptation[] selectedAdaptations() {
-		if (adaptation === null){
-			return new BasicEList(#[])
-		}
-		if (adaptation.selected){
-			if (adaptation instanceof DecompositionUnitAdaptation){
-				return (adaptation as DecompositionUnitAdaptation).selectedAdaptations()
-			}
-			return new BasicEList(#[adaptation])
-		}
-		
-		return new BasicEList(#[])
-	}
-	
-	op OutputPortInstance[] getOutputPorts(){
-		ports.filter(OutputPortInstance).filter[!it.isInput].toEList
-	}
-	op InputPortInstance[] getInputPorts(){
-		ports.filter(InputPortInstance).filter[it.isInput].toEList
-	}
-	
-	op String toString(){
-		identifier
-	}
-}
-
-class CosimUnitInstance extends UnitInstance {
-	refers CosimUnitDeclaration[1] declaration
-}
-
-abstract class PortInstance extends PrecendenceNode,IDed {
-	refers UnitInstance unit opposite ports
-	contains PortAdaptation adaptation opposite port
-	
-	op PortAdaptation[] selectedAdaptations() {
-		if (adaptation === null){
-			return new BasicEList(#[])
-		}
-		if (adaptation.selected){
-			if (adaptation instanceof DecompositionPortAdaptation){
-				return (adaptation as DecompositionPortAdaptation).selectedAdaptations()
-			}
-			return new BasicEList(#[adaptation])
-		}
-		
-		return new BasicEList(#[])
-	}
-	
-	op boolean isInput() {
-		false
-	}
-	
-	op boolean getsValueFrom(PortInstance p){
-		return false
-	}
-	
-	op String toString(){
-		unit.toString()+"."+identifier
-	}
-}
-
-class HierarchicalUnitPort extends InputPortInstance,OutputPortInstance{
-	op boolean isInput() {
-		// A port is an input if it gets its value from an external port.
-		val auxIsInput = ! unit.eAllContents.filter(OutputPortInstance).exists[p | p == valueFrom]
-		val auxAltIsInput = altIsInput()
-		if ((auxIsInput && !auxAltIsInput) || (!auxIsInput && auxAltIsInput)){
-			throw new RuntimeException("Something wrong with the implementation of isInput")
-		}
-		auxIsInput
-	}
-	op boolean altIsInput() {
-		// A port is an input if it is connected to internal input ports or internal unit ports that are inputs themselves.
-		valueTo.forall[trgP | 
-			if (trgP.unit === unit){
-				false // We don't tolerate feedtrough connections on hierarchical units.
-			} else {
-				val internal = unit.eAllContents.filter(InputPortInstance).exists[ip | ip===trgP]
-				if (! internal ){
-					false
-				} else if (trgP instanceof HierarchicalUnitPort){
-					trgP.altIsInput
-				} else {
-					true					
-				}
-			}
-		]
-	}
-}
-
-class InputPortInstance extends PortInstance {
-	refers OutputPortInstance valueFrom opposite valueTo
-	// Recursively ignore HierarchicalUnitPort and get the OutputPortInstance that generates this value
-	op OutputPortInstance getRealValueFrom() {
-		if (valueFrom instanceof HierarchicalUnitPort){
-			(valueFrom as HierarchicalUnitPort).realValueFrom
-		} else {
-			valueFrom
-		}
-	}
-	op boolean getsValueFrom(PortInstance p){
-		if (valueFrom === p){
-			return true
-		} else if (valueFrom instanceof InputPortInstance){
-			return (valueFrom as InputPortInstance).getsValueFrom(p)
-		} else {
-			return false
-		}
-	}
-	
-	op boolean isInput() {
-		true
-	}
-}
-
-class OutputPortInstance extends PortInstance {
-	refers InputPortInstance[] valueTo opposite valueFrom
-	op boolean isInput() {
-		false
-	}
-}
-
-abstract class Alternative
-{
-	int weight
-	boolean selected
-	refers Alternative[] implies
-}
-
-abstract class Adaptation extends Alternative
-{
-	
-}
-
-abstract class PortAdaptation extends Adaptation
-{
-	refers PortInstance port opposite adaptation
-	refers DecompositionPortAdaptation parent opposite children
-	op PortInstance adapted() {
-		if (port !== null){
-			return port
-		}
-		if (parent === null){
-			return null
-		}
-		return parent.adapted()
-	}
-}
-
-abstract class DecompositionPortAdaptation extends PortAdaptation {
-	contains PortAdaptation[] children opposite parent
-	derived String name get {
-		"(w=" + weight + ")"
-	}
-	op PortAdaptation[] selectedAdaptations() {
-		val res = new BasicEList(children.size)
-		for (c : children.filter[a | a.selected]){
-			if (c instanceof DecompositionPortAdaptation){
-				res.addAll(c.selectedAdaptations())
-			} else {
-				res.add(c)
-			}
-		}
-		return res
-	}
-	
-}
-
-abstract class UnitAdaptation extends Adaptation {
-	refers UnitInstance unit opposite adaptation
-	refers DecompositionUnitAdaptation parent opposite children
-	op UnitInstance adapted() {
-		if (unit !== null){
-			return unit
-		}
-		if (parent === null){
-			return null
-		}
-		return parent.adapted()
-	}
-}
-
-abstract class DecompositionUnitAdaptation extends UnitAdaptation {
-	contains UnitAdaptation[] children opposite parent
-	derived String name get {
-		"(w=" + weight + ")"
-	}
-	op UnitAdaptation[] selectedAdaptations() {
-		val res = new BasicEList(children.size)
-		for (c : children.filter[a | a.selected]){
-			if (c instanceof DecompositionUnitAdaptation){
-				res.addAll(c.selectedAdaptations())
-			} else {
-				res.add(c)
-			}
-		}
-		return res
-	}
-	
-}
-
-class XorUnitAdaptation extends DecompositionUnitAdaptation {
-	
-}
-
-class XorPortAdaptation extends DecompositionPortAdaptation {
-	
-}
-
-class CombineAdaptation extends DecompositionUnitAdaptation {
-	
-}
-
-abstract class ApproximationAdaptation extends PortAdaptation {
-	int order
-}
-
-class MultiRateAdaptation extends UnitAdaptation {
-	int rate
-	derived String name get {
-		rate + "(w=" + weight + ")"
-	}
-}
-
-class PowerBondAdaptation extends UnitAdaptation {
-	refers PortInstance effort
-	refers PortInstance flow
-	refers OutputPortInstance pOut
-	refers InputPortInstance pIn
-	op PowerBondAdaptation getDual() {
-		var PowerBondAdaptation res = null
-		if (effort instanceof InputPortInstance && flow instanceof OutputPortInstance){
-			res = unit.scenario.cosimunits
-			.flatMap[u | u.eAllContents.filter(PowerBondAdaptation).toIterable]
-			.filter[a | a.effort instanceof OutputPortInstance && a.flow instanceof InputPortInstance]
-			.findFirst[a | (a.effort as OutputPortInstance).valueTo.contains(effort) && (a.flow as InputPortInstance).valueFrom === flow]
-		} else if (effort instanceof OutputPortInstance && flow instanceof InputPortInstance) {
-			res = unit.scenario.cosimunits
-			.flatMap[u | u.eAllContents.filter(PowerBondAdaptation).toIterable]
-			.filter[a | a.effort instanceof InputPortInstance && a.flow instanceof OutputPortInstance]
-			.findFirst[a | (a.effort as InputPortInstance).valueFrom === effort && (a.flow as OutputPortInstance).valueTo.contains(flow)]
-		} else {
-			throw new RuntimeException("Invalid effort and flow in power bond adaptation")
-		}
-		if (res===null){
-			throw new RuntimeException("Power bond adaptation has no dual")
-		}
-		res
-	}
-	derived String name get {
-		if (effort!==null && flow !== null){
-			"PBond_" + effort.identifier + "_" + flow.identifier + "(w=" + weight + ")"
-		} else {
-			"PBond(w=" + weight + ")"
-		}
-	}
-}
-
-class ExtrapolationAdaptation extends ApproximationAdaptation {
-	derived String name get {
-		order + "(w=" + weight + ")"
-	}
-}
-
-class InterpolationAdaptation extends ApproximationAdaptation {
-	derived String name get {
-		order + "(w=" + weight + ")"
-	}
-}
-

File diff suppressed because it is too large
+ 0 - 283
HintCO/model/hintco.ecore


+ 0 - 4
HintCO/plugin.properties

@@ -1,4 +0,0 @@
-#
-
-pluginName = HintCO
-providerName = www.example.org

+ 0 - 201
HintCO/pom.xml

@@ -1,201 +0,0 @@
-<project xmlns="http://maven.apache.org/POM/4.0.0"
-	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-	<modelVersion>4.0.0</modelVersion>
-	<groupId>HintCO</groupId>
-	<artifactId>HintCO</artifactId>
-	<version>0.0.1-0</version>
-	<name>HintCO</name>
-
-	<parent>
-		<relativePath>../pom.xml</relativePath>
-		<groupId>HintCOProject</groupId>
-		<artifactId>HintCOProject</artifactId>
-		<version>1.0.0-0</version>
-	</parent>
-
-	<properties>
-		<xtext-version>2.16.0</xtext-version>
-	</properties>
-
-	<dependencies>
-		<!-- https://mvnrepository.com/artifact/com.opencsv/opencsv -->
-		<dependency>
-			<groupId>com.opencsv</groupId>
-			<artifactId>opencsv</artifactId>
-			<version>4.4</version>
-		</dependency>
-		<!-- https://mvnrepository.com/artifact/commons-cli/commons-cli -->
-		<dependency>
-			<groupId>commons-cli</groupId>
-			<artifactId>commons-cli</artifactId>
-			<version>1.4</version>
-		</dependency>
-
-		<!-- https://mvnrepository.com/artifact/org.into-cps.fmi/fmi2 -->
-		<dependency>
-			<groupId>org.into-cps.fmi</groupId>
-			<artifactId>fmi2</artifactId>
-			<version>1.0.2</version>
-		</dependency>
-		<!-- https://mvnrepository.com/artifact/org.into-cps.fmi/jnifmuapi -->
-		<dependency>
-			<groupId>org.into-cps.fmi</groupId>
-			<artifactId>jnifmuapi</artifactId>
-			<version>1.0.2</version>
-		</dependency>
-
-		<!-- https://mvnrepository.com/artifact/org.eclipse.text/org.eclipse.text -->
-		<dependency>
-			<groupId>org.eclipse.text</groupId>
-			<artifactId>org.eclipse.text</artifactId>
-			<version>3.5.101</version>
-		</dependency>
-		<dependency>
-			<groupId>org.eclipse.xtext</groupId>
-			<artifactId>org.eclipse.xtext.ecore</artifactId>
-			<version>${xtext-version}</version>
-		</dependency>
-		<dependency>
-			<groupId>org.eclipse.xtext</groupId>
-			<artifactId>org.eclipse.xtext.generator</artifactId>
-			<version>${xtext-version}</version>
-		</dependency>
-		<dependency>
-			<groupId>org.eclipse.xtext</groupId>
-			<artifactId>org.eclipse.xtext.builder.standalone</artifactId>
-			<version>${xtext-version}</version>
-		</dependency>
-		<dependency>
-			<groupId>junit</groupId>
-			<artifactId>junit</artifactId>
-			<version>4.12</version>
-		</dependency>
-		<dependency>
-			<groupId>org.eclipse</groupId>
-			<artifactId>equinox-app</artifactId>
-			<version>3.5.2</version>
-		</dependency>
-		<dependency>
-			<groupId>org.eclipse.xtend</groupId>
-			<artifactId>org.eclipse.xtend.lib</artifactId>
-			<version>2.16.0</version>
-		</dependency>
-
-		<!-- https://mvnrepository.com/artifact/org.eclipse.xtext/org.eclipse.xtext.xbase.lib -->
-		<dependency>
-			<groupId>org.eclipse.xtext</groupId>
-			<artifactId>org.eclipse.xtext.xbase.lib</artifactId>
-			<version>2.16.0</version>
-		</dependency>
-		<dependency>
-			<groupId>org.apache.maven.plugins</groupId>
-			<artifactId>maven-surefire-plugin</artifactId>
-			<version>2.22.1</version>
-			<type>maven-plugin</type>
-		</dependency>
-
-		<dependency>
-			<groupId>be.uantwerpen.cosys</groupId>
-			<artifactId>be.uantwerpen.cosys.ContractLang</artifactId>
-			<version>0.0.1-0</version>
-		</dependency>
-
-	</dependencies>
-
-
-	<build>
-		<sourceDirectory>src</sourceDirectory>
-		<testSourceDirectory>test</testSourceDirectory>
-		<plugins>
-			<plugin>
-				<groupId>org.codehaus.mojo</groupId>
-				<artifactId>build-helper-maven-plugin</artifactId>
-				<version>1.9.1</version>
-				<executions>
-					<execution>
-						<id>add-source</id>
-						<phase>generate-sources</phase>
-						<goals>
-							<goal>add-source</goal>
-						</goals>
-						<configuration>
-							<sources>
-								<source>${project.basedir}/src-gen</source>
-								<source>${project.basedir}/lib/nativebinaries</source>
-							</sources>
-						</configuration>
-					</execution>
-				</executions>
-			</plugin>
-			<plugin>
-				<groupId>org.apache.maven.plugins</groupId>
-				<artifactId>maven-surefire-plugin</artifactId>
-				<version>2.22.1</version>
-				<configuration>
-					<useSystemClassLoader>false</useSystemClassLoader>
-				</configuration>
-			</plugin>
-			<plugin>
-				<groupId>org.apache.maven.plugins</groupId>
-				<artifactId>maven-dependency-plugin</artifactId>
-				<executions>
-					<execution>
-						<id>copy-dependencies</id>
-						<phase>prepare-package</phase>
-						<goals>
-							<goal>copy-dependencies</goal>
-						</goals>
-						<configuration>
-							<outputDirectory>${project.build.directory}/lib</outputDirectory>
-							<overWriteReleases>false</overWriteReleases>
-							<overWriteSnapshots>false</overWriteSnapshots>
-							<overWriteIfNewer>true</overWriteIfNewer>
-						</configuration>
-					</execution>
-				</executions>
-			</plugin>
-			<plugin>
-				<groupId>org.eclipse.xtend</groupId>
-				<artifactId>xtend-maven-plugin</artifactId>
-				<version>2.16.0</version>
-				<executions>
-					<execution>
-						<goals>
-							<goal>compile</goal>
-							<goal>xtend-install-debug-info</goal>
-							<goal>testCompile</goal>
-							<goal>xtend-test-install-debug-info</goal>
-						</goals>
-					</execution>
-				</executions>
-				<configuration>
-					<outputDirectory>${project.build.directory}/xtend-gen</outputDirectory>
-					<testOutputDirectory>${project.build.directory}/test-xtend-gen</testOutputDirectory>
-					<overWrite>true</overWrite>
-				</configuration>
-			</plugin>
-			<plugin>
-				<groupId>org.apache.maven.plugins</groupId>
-				<artifactId>maven-assembly-plugin</artifactId>
-				<executions>
-					<execution>
-						<phase>package</phase>
-						<goals>
-							<goal>single</goal>
-						</goals>
-						<configuration>
-							<archive>
-								<manifestFile>${project.basedir}/META-INF/MANIFEST.MF</manifestFile>
-							</archive>
-							<descriptorRefs>
-								<descriptorRef>jar-with-dependencies</descriptorRef>
-							</descriptorRefs>
-						</configuration>
-					</execution>
-				</executions>
-			</plugin>
-
-		</plugins>
-	</build>
-</project>

+ 0 - 53
HintCO/src-gen/ua/ansymo/hintco/.gitignore

@@ -1,53 +0,0 @@
-/.AdaptedFMU.java._trace
-/.ApproximationAdaptedPort.java._trace
-/.CandidateSpaceGenerator.java._trace
-/.CandidatesGenerator.java._trace
-/.ConstraintChecker.java._trace
-/.ConstraintsStack.java._trace
-/.CosimRunner.java._trace
-/.ExtrapolationAdaptedPort.java._trace
-/.Fmu.java._trace
-/.IAdaptedInputPort.java._trace
-/.IConstraintChecker.java._trace
-/.ICosimRunner.java._trace
-/.IOutputProcessor.java._trace
-/.IVariantProcessor.java._trace
-/.IVariantValidator.java._trace
-/.InterpolationAdaptedPort.java._trace
-/.Main.java._trace
-/.MarkedAlternative.java._trace
-/.ModelStorage.java._trace
-/.OutputProcessor.java._trace
-/.Runner.java._trace
-/.VariantProcessor.java._trace
-/.VariantValidator.java._trace
-/Adaptation.java
-/Alternative.java
-/ApproximationAdaptation.java
-/Candidates.java
-/CombineAdaptation.java
-/CosimUnitDeclaration.java
-/CosimUnitInstance.java
-/DecompositionPortAdaptation.java
-/DecompositionUnitAdaptation.java
-/ExtrapolationAdaptation.java
-/HierarchicalCosimUnit.java
-/HierarchicalUnitPort.java
-/HintcoFactory.java
-/HintcoPackage.java
-/IDed.java
-/InputPortInstance.java
-/InterpolationAdaptation.java
-/MultiRateAdaptation.java
-/OutputPortInstance.java
-/PortAdaptation.java
-/PortInstance.java
-/PowerBondAdaptation.java
-/PrecendenceNode.java
-/RootCandidateScenario.java
-/Scenario.java
-/UnitAdaptation.java
-/UnitInstance.java
-/VariantDiagram.java
-/XorPortAdaptation.java
-/XorUnitAdaptation.java

+ 0 - 0
HintCO/src-gen/ua/ansymo/hintco/impl/.gitignore


+ 0 - 6
HintCO/src-gen/ua/ansymo/hintco/test/.gitignore

@@ -1,6 +0,0 @@
-/.CandidateSpaceGeneratorTest.java._trace
-/.CandidatesGeneratorTest.java._trace
-/.CosimRunnerTest.java._trace
-/.ExampleTest.java._trace
-/.ModelQuery.java._trace
-/.ModelTest.java._trace

+ 0 - 0
HintCO/src-gen/ua/ansymo/hintco/util/.gitignore


+ 2 - 4
HintCO/.classpath

@@ -1,11 +1,9 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <classpath>
-	<classpathentry kind="src" path="src-gen"/>
 	<classpathentry kind="src" path="lib/nativebinaries"/>
 	<classpathentry kind="src" path="src"/>
+	<classpathentry kind="src" path="src-gen"/>
 	<classpathentry kind="src" path="test"/>
-	<classpathentry kind="src" output="target/test-classes" path="target/test-xtend-gen"/>
-	<classpathentry kind="src" path="target/xtend-gen"/>
 	<classpathentry kind="lib" path="lib/opencsv-4.3.2.jar" sourcepath="lib/opencsv-source.zip"/>
 	<classpathentry kind="lib" path="lib/commons-lang3-3.8.1.jar" sourcepath="lib/commons-cli-1.4-sources.jar"/>
 	<classpathentry kind="lib" path="lib/commons-beanutils-1.9.3.jar" sourcepath="lib/commons-beanutils-1.9.3-sources.jar"/>
@@ -22,5 +20,5 @@
 	<classpathentry kind="lib" path="lib/slf4j-simple.jar" sourcepath="lib/slf4j-simple-sources.jar"/>
 	<classpathentry kind="lib" path="lib/commons-compress-1.18.jar" sourcepath="lib/commons-compress-1.18-sources.jar"/>
 	<classpathentry kind="lib" path="lib/commons-io-2.6.jar" sourcepath="lib/commons-io-2.6-sources.jar"/>
-	<classpathentry kind="output" path="target/classes"/>
+	<classpathentry kind="output" path="bin"/>
 </classpath>

HintCO/.gitignore → HintCOEngine/.gitignore


+ 1 - 1
HintCO/.project

@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <projectDescription>
-	<name>HintCO</name>
+	<name>HintCOEngine</name>
 	<comment></comment>
 	<projects>
 	</projects>

+ 0 - 1
HintCO/.settings/org.eclipse.core.resources.prefs

@@ -2,5 +2,4 @@ eclipse.preferences.version=1
 encoding/<project>=UTF-8
 encoding/lib=UTF-8
 encoding/src=UTF-8
-encoding/src-gen=UTF-8
 encoding/test=UTF-8

HintCO/.settings/org.eclipse.jdt.core.prefs → HintCOEngine/.settings/org.eclipse.jdt.core.prefs


+ 4 - 0
HintCOEngine/.settings/org.eclipse.xtend.core.Xtend.prefs

@@ -0,0 +1,4 @@
+eclipse.preferences.version=1
+outlet.DEFAULT_OUTPUT.sourceFolder.lib.directory=target/xtend-gen
+outlet.DEFAULT_OUTPUT.sourceFolder.src-gen.directory=target/xtend-gen
+outlet.DEFAULT_OUTPUT.sourceFolder.src-gen.ignore=true

HintCO/HintCO.product → HintCOEngine/HintCO.product


+ 8 - 8
HintCO/META-INF/MANIFEST.MF

@@ -21,14 +21,14 @@ Automatic-Module-Name: ua.ansymo.HintCO
 Main-Class: ua.ansymo.hintco.Main
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Export-Package: org.intocps.fmi,
- ua.ansymo.hintco,
- ua.ansymo.hintco.impl,
- ua.ansymo.hintco.util
-Require-Bundle: org.eclipse.core.runtime;bundle-version="3.14.0",
- org.eclipse.emf.ecore;visibility:=reexport,
+ ua.ansymo.hintco
+Bundle-ActivationPolicy: lazy
+Require-Bundle: HintConfiguration;bundle-version="0.0.1",
+ be.uantwerpen.cosys.ContractLang;bundle-version="1.0.0",
+ com.google.guava,
  org.eclipse.xtext.xbase.lib,
- org.eclipse.emf.ecore.xcore.lib,
+ org.eclipse.xtend.lib,
+ org.eclipse.xtend.lib.macro,
  org.junit;bundle-version="4.12.0",
  org.eclipse.emf.ecore.xmi;bundle-version="2.14.0",
- be.uantwerpen.cosys.ContractLang;bundle-version="1.0.0"
-Bundle-ActivationPolicy: lazy
+ org.eclipse.core.runtime;bundle-version="3.14.0"

+ 1 - 4
HintCO/build.properties

@@ -1,9 +1,7 @@
 source.. = src/,\
            test/,\
            src-gen/,\
-           lib/nativebinaries/,\
-           target/xtend-gen/,\
-           target/test-xtend-gen/
+           lib/nativebinaries/
 bin.includes = META-INF/,\
                .,\
                plugin.xml,\
@@ -22,7 +20,6 @@ bin.includes = META-INF/,\
                lib/opencsv-4.3.2.jar,\
                lib/slf4j-api.jar,\
                lib/slf4j-simple.jar,\
-               target/,\
                lib/nativebinaries/,\
                examples/,\
                scripts/

HintCO/examples/analytical_solution/DLoopController_FixedEuler_1Em6.csv → HintCOEngine/examples/analytical_solution/DLoopController_FixedEuler_1Em6.csv


HintCO/examples/analytical_solution/EMAPlantNoLoad_FixedEuler_1Em6.csv → HintCOEngine/examples/analytical_solution/EMAPlantNoLoad_FixedEuler_1Em6.csv


HintCO/examples/analytical_solution/LoadNSensor_FixedEuler_1Em6.csv → HintCOEngine/examples/analytical_solution/LoadNSensor_FixedEuler_1Em6.csv


HintCO/examples/case_study_contract.contractlang → HintCOEngine/examples/case_study_contract.contractlang


HintCO/examples/case_study_contract.xmi → HintCOEngine/examples/case_study_contract.xmi


HintCO/examples/case_study_contract_proactive.contractlang → HintCOEngine/examples/case_study_contract_proactive.contractlang


HintCO/examples/case_study_contract_proactive.xmi → HintCOEngine/examples/case_study_contract_proactive.xmi


+ 2 - 6
HintCO/examples/case_study_double_loop_approx_cpint.xmi

@@ -1,9 +1,5 @@
 <?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">
+<hintco:HintConfiguration xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:hintco="ua.ansymo.hintco">
   <candidates
       identifier="Original"
       stopTime="5.0"
@@ -145,4 +141,4 @@
       identifier="LoadNSensor_FixedEuler_1Em6"
       path="resources/LoadNSensor_FixedEuler_1Em6.fmu"
       guid="2810456241"/>
-</hintco:Candidates>
+</hintco:HintConfiguration>

+ 2 - 6
HintCO/examples/case_study_double_loop_approx_order.xmi

@@ -1,9 +1,5 @@
 <?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">
+<hintco:HintConfiguration xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:hintco="ua.ansymo.hintco">
   <candidates
       identifier="Original"
       stopTime="1.02"
@@ -165,4 +161,4 @@
       identifier="LoadNSensor_FixedEuler_1Em6"
       path="resources/LoadNSensor_FixedEuler_1Em6.fmu"
       guid="2810456241"/>
-</hintco:Candidates>
+</hintco:HintConfiguration>

+ 2 - 2
HintCO/examples/case_study_double_loop_hier_cpInt.hintco

@@ -1,5 +1,5 @@
 <?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">
+<hintco:HintConfiguration xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" 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"/>
@@ -53,4 +53,4 @@
   <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>
+</hintco:HintConfiguration>

+ 2 - 2
HintCO/examples/case_study_double_loop_hier_order.hintco

@@ -1,5 +1,5 @@
 <?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">
+<hintco:HintConfiguration xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" 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" precedes="//@candidates.0/@cosimunits.0/@ports.1" succeeds="//@candidates.0/@cosimunits.0/@ports.0" declaration="//@csuDeclarations.0">
       <ports xsi:type="hintco:OutputPortInstance" precedes="//@candidates.0/@cosimunits.0" identifier="psuvolt" valueTo="//@candidates.0/@cosimunits.2/@ports.0"/>
@@ -53,4 +53,4 @@
   <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>
+</hintco:HintConfiguration>

+ 2 - 2
HintCO/examples/case_study_double_loop_pbond_hier_cpInter.hintco

@@ -1,5 +1,5 @@
 <?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">
+<hintco:HintConfiguration xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" 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"/>
@@ -55,4 +55,4 @@
   <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>
+</hintco:HintConfiguration>

+ 2 - 6
HintCO/examples/watertanks.xmi

@@ -1,9 +1,5 @@
 <?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">
+<hintco:HintConfiguration xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:hintco="ua.ansymo.hintco">
   <candidates
       identifier="Original"
       stopTime="100.0"
@@ -85,4 +81,4 @@
       guid="{25941611-1350-4ca2-8fe8-85d9193c14fd}">
 
   </csuDeclarations>
-</hintco:Candidates>
+</hintco:HintConfiguration>

HintCO/examples/watertanks_ctrl.contractlang → HintCOEngine/examples/watertanks_ctrl.contractlang


HintCO/examples/watertanks_ctrl.xmi → HintCOEngine/examples/watertanks_ctrl.xmi


+ 7 - 0
HintCOEngine/instances/My.hintco

@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<hintco:HintConfiguration 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>
+    <cosimunits xsi:type="hintco:HierarchicalCosimUnit"/>
+  </candidates>
+  <csuDeclarations/>
+</hintco:HintConfiguration>

+ 2 - 2
HintCO/instances/add_constraints_test.hintco

@@ -1,5 +1,5 @@
 <?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">
+<hintco:HintConfiguration xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:hintco="ua.ansymo.hintco">
   <candidates identifier="R" stopTime="2.0" stepSize="0.001" outputStepSize="0.001">
     <cosimunits xsi:type="hintco:CosimUnitInstance" identifier="A">
       <ports xsi:type="hintco:OutputPortInstance" identifier="Aop" valueTo="//@candidates.0/@cosimunits.1/@ports.0"/>
@@ -31,4 +31,4 @@
       </ports>
     </cosimunits>
   </candidates>
-</hintco:Candidates>
+</hintco:HintConfiguration>

HintCO/instances/case_study_contract.contractlang → HintCOEngine/instances/case_study_contract.contractlang


HintCO/instances/case_study_contract.xmi → HintCOEngine/instances/case_study_contract.xmi


+ 2 - 6
HintCO/instances/case_study_double_loop.xmi

@@ -1,9 +1,5 @@
 <?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">
+<hintco:HintConfiguration xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:hintco="ua.ansymo.hintco">
   <candidates
       identifier="Original"
       stopTime="2.0"
@@ -110,4 +106,4 @@
       identifier="LoadNSensor_FixedEuler_1Em6"
       path="resources/LoadNSensor_FixedEuler_1Em6.fmu"
       guid="2810456241"/>
-</hintco:Candidates>
+</hintco:HintConfiguration>

+ 2 - 6
HintCO/instances/case_study_double_loop_approx.xmi

@@ -1,9 +1,5 @@
 <?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">
+<hintco:HintConfiguration xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:hintco="ua.ansymo.hintco">
   <candidates
       identifier="Original"
       stopTime="0.1"
@@ -143,4 +139,4 @@
       identifier="LoadNSensor_FixedEuler_1Em6"
       path="resources/LoadNSensor_FixedEuler_1Em6.fmu"
       guid="2810456241"/>
-</hintco:Candidates>
+</hintco:HintConfiguration>

+ 2 - 6
HintCO/instances/case_study_double_loop_better_proactive.xmi

@@ -1,9 +1,5 @@
 <?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">
+<hintco:HintConfiguration xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:hintco="ua.ansymo.hintco">
   <candidates
       identifier="Original"
       stopTime="2.0"
@@ -143,4 +139,4 @@
       identifier="LoadNSensor_FixedEuler_1Em6"
       path="resources/LoadNSensor_FixedEuler_1Em6.fmu"
       guid="2810456241"/>
-</hintco:Candidates>
+</hintco:HintConfiguration>

+ 2 - 2
HintCO/instances/case_study_double_loop_default.hintco

@@ -1,5 +1,5 @@
 <?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">
+<hintco:HintConfiguration xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:hintco="ua.ansymo.hintco">
   <candidates identifier="Original" stopTime="0.1" 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"/>
@@ -46,4 +46,4 @@
   <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>
+</hintco:HintConfiguration>

+ 2 - 2
HintCO/instances/case_study_double_loop_hier.hintco

@@ -1,5 +1,5 @@
 <?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">
+<hintco:HintConfiguration xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:hintco="ua.ansymo.hintco">
   <candidates identifier="Original" stopTime="0.1" 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"/>
@@ -53,4 +53,4 @@
   <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>
+</hintco:HintConfiguration>

+ 2 - 2
HintCO/instances/case_study_double_loop_pbond.hintco

@@ -1,5 +1,5 @@
 <?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">
+<hintco:HintConfiguration xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:hintco="ua.ansymo.hintco">
   <candidates identifier="Original" stopTime="0.1" 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"/>
@@ -48,4 +48,4 @@
   <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>
+</hintco:HintConfiguration>

+ 2 - 2
HintCO/instances/case_study_double_loop_pbond_hier.hintco

@@ -1,5 +1,5 @@
 <?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">
+<hintco:HintConfiguration xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:hintco="ua.ansymo.hintco">
   <candidates identifier="Original" stopTime="0.1" 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"/>
@@ -55,4 +55,4 @@
   <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>
+</hintco:HintConfiguration>

+ 2 - 2
HintCO/instances/case_study_double_loop_pbond_hier_proactive.hintco

@@ -1,5 +1,5 @@
 <?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">
+<hintco:HintConfiguration xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:hintco="ua.ansymo.hintco">
   <candidates identifier="Original" stopTime="2.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"/>
@@ -55,4 +55,4 @@
   <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>
+</hintco:HintConfiguration>

+ 2 - 2
HintCO/instances/complex_order_hierarchical_test.hintco

@@ -1,5 +1,5 @@
 <?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">
+<hintco:HintConfiguration xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:hintco="ua.ansymo.hintco">
   <candidates identifier="R" stopTime="2.0" stepSize="0.001" outputStepSize="0.001">
     <cosimunits xsi:type="hintco:CosimUnitInstance" identifier="A">
       <ports xsi:type="hintco:OutputPortInstance" identifier="Aop" valueTo="//@candidates.0/@cosimunits.1/@ports.0"/>
@@ -35,4 +35,4 @@
       </ports>
     </cosimunits>
   </candidates>
-</hintco:Candidates>
+</hintco:HintConfiguration>

+ 3 - 7
HintCO/instances/complex_order_test.xmi

@@ -1,9 +1,5 @@
 <?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">
+<hintco:HintConfiguration xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:hintco="ua.ansymo.hintco">
   <candidates
       identifier="Original">
     <cosimunits
@@ -139,8 +135,8 @@
   <csuDeclarations
       identifier="LoadNSensor_FixedEuler_1Em6">
 
-    
+
 
 
   </csuDeclarations>
-</hintco:Candidates>
+</hintco:HintConfiguration>

+ 2 - 6
HintCO/instances/create_default_candidate_space_test.xmi

@@ -1,9 +1,5 @@
 <?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">
+<hintco:HintConfiguration xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:hintco="ua.ansymo.hintco">
   <candidates
       identifier="Original">
     <cosimunits
@@ -123,4 +119,4 @@
       identifier="LoadNSensor_FixedEuler_1Em6">
 
   </csuDeclarations>
-</hintco:Candidates>
+</hintco:HintConfiguration>

+ 2 - 6
HintCO/instances/duplicate_unit_test.xmi

@@ -1,9 +1,5 @@
 <?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">
+<hintco:HintConfiguration xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:hintco="ua.ansymo.hintco">
   <candidates
       identifier="Original"
       stopTime="10.0"
@@ -42,4 +38,4 @@
       guid="{dcd729ec-423a-4a0d-8030-4c42a840abba}">
 
   </csuDeclarations>
-</hintco:Candidates>
+</hintco:HintConfiguration>

+ 49 - 0
HintCOEngine/instances/elevator_load_scenario.hintco

@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="ASCII"?>
+<hintco:HintConfiguration xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:hintco="ua.ansymo.hintco">
+  <candidates identifier="Original" stopTime="10.0" stepSize="0.001" outputStepSize="0.01">
+    <cosimunits xsi:type="hintco:CosimUnitInstance" identifier="load" declaration="//@csuDeclarations.0">
+      <ports xsi:type="hintco:OutputPortInstance" identifier="T_load@expseu_" valueTo="//@candidates.0/@cosimunits.1/@ports.2"/>
+    </cosimunits>
+    <cosimunits xsi:type="hintco:CosimUnitInstance" identifier="elevator" declaration="//@csuDeclarations.1">
+      <ports xsi:type="hintco:OutputPortInstance" identifier="x_shaft@expseu_" valueTo="//@candidates.0/@cosimunits.2/@ports.5"/>
+      <ports xsi:type="hintco:OutputPortInstance" identifier="v_shaft@expseu_" valueTo="//@candidates.0/@cosimunits.2/@ports.6"/>
+      <ports xsi:type="hintco:InputPortInstance" identifier="T_load@expseu_" valueFrom="//@candidates.0/@cosimunits.0/@ports.0"/>
+      <ports xsi:type="hintco:InputPortInstance" identifier="F_shaft@expseu_" valueFrom="//@candidates.0/@cosimunits.2/@ports.2"/>
+    </cosimunits>
+    <cosimunits xsi:type="hintco:CosimUnitInstance" identifier="trans" declaration="//@csuDeclarations.2">
+      <ports xsi:type="hintco:OutputPortInstance" identifier="x_measure@expseu_" valueTo="//@candidates.0/@cosimunits.3/@ports.1"/>
+      <ports xsi:type="hintco:OutputPortInstance" identifier="omega_measure@expseu_" valueTo="//@candidates.0/@cosimunits.3/@ports.2"/>
+      <ports xsi:type="hintco:OutputPortInstance" identifier="F_shaft@expseu_" valueTo="//@candidates.0/@cosimunits.1/@ports.3"/>
+      <ports xsi:type="hintco:OutputPortInstance" identifier="omega_shaft@expseu_" valueTo="//@candidates.0/@cosimunits.4/@ports.3"/>
+      <ports xsi:type="hintco:InputPortInstance" identifier="T_shaft@expseu_" valueFrom="//@candidates.0/@cosimunits.4/@ports.2"/>
+      <ports xsi:type="hintco:InputPortInstance" identifier="X_shaft@expseu_" valueFrom="//@candidates.0/@cosimunits.1/@ports.0"/>
+      <ports xsi:type="hintco:InputPortInstance" identifier="V_shaft@expseu_" valueFrom="//@candidates.0/@cosimunits.1/@ports.1"/>
+    </cosimunits>
+    <cosimunits xsi:type="hintco:CosimUnitInstance" identifier="ctrl" declaration="//@csuDeclarations.3">
+      <ports xsi:type="hintco:OutputPortInstance" identifier="T_cmd@expseu_" valueTo="//@candidates.0/@cosimunits.4/@ports.4 //@candidates.0/@cosimunits.4/@ports.6"/>
+      <ports xsi:type="hintco:InputPortInstance" identifier="Speed@expseu_" valueFrom="//@candidates.0/@cosimunits.2/@ports.0"/>
+      <ports xsi:type="hintco:InputPortInstance" identifier="Position@expseu_" valueFrom="//@candidates.0/@cosimunits.2/@ports.1"/>
+    </cosimunits>
+    <cosimunits xsi:type="hintco:CosimUnitInstance" identifier="motor" declaration="//@csuDeclarations.4">
+      <ports xsi:type="hintco:OutputPortInstance" identifier="I_low@expseu_" valueTo="//@candidates.0/@cosimunits.5/@ports.2"/>
+      <ports xsi:type="hintco:OutputPortInstance" identifier="I_high@expseu_" valueTo="//@candidates.0/@cosimunits.5/@ports.3"/>
+      <ports xsi:type="hintco:OutputPortInstance" identifier="T_shaft@expseu_" valueTo="//@candidates.0/@cosimunits.2/@ports.4"/>
+      <ports xsi:type="hintco:InputPortInstance" identifier="Omega_shaft@expseu_" valueFrom="//@candidates.0/@cosimunits.2/@ports.3"/>
+      <ports xsi:type="hintco:InputPortInstance" identifier="Tcmd@expseu_" valueFrom="//@candidates.0/@cosimunits.3/@ports.0"/>
+      <ports xsi:type="hintco:InputPortInstance" identifier="U_high@expseu_" valueFrom="//@candidates.0/@cosimunits.5/@ports.1"/>
+      <ports xsi:type="hintco:InputPortInstance" identifier="Tcmd@expseu_" valueFrom="//@candidates.0/@cosimunits.3/@ports.0"/>
+    </cosimunits>
+    <cosimunits xsi:type="hintco:CosimUnitInstance" identifier="psu" declaration="//@csuDeclarations.5">
+      <ports xsi:type="hintco:OutputPortInstance" identifier="U_low@expseu_"/>
+      <ports xsi:type="hintco:OutputPortInstance" identifier="U_high@expseu_" valueTo="//@candidates.0/@cosimunits.4/@ports.5"/>
+      <ports xsi:type="hintco:InputPortInstance" identifier="I_low@expseu_" valueFrom="//@candidates.0/@cosimunits.4/@ports.0"/>
+      <ports xsi:type="hintco:InputPortInstance" identifier="I_high@expseu_" valueFrom="//@candidates.0/@cosimunits.4/@ports.1"/>
+    </cosimunits>
+  </candidates>
+  <csuDeclarations identifier="load_FMU" path="resources/elevator/load_FMU.fmu" guid="{25941611-1350-4ca6-8fe8-85d9193c14fd}"/>
+  <csuDeclarations identifier="Elevator_FMU" path="resources/elevator/Elevator_FMU.fmu" guid="{25941611-1350-4ca5-8fe8-85d9193c14fd}"/>
+  <csuDeclarations identifier="Transmission_FMU" path="resources/elevator/Transmission_FMU.fmu" guid="{25941611-1350-4ca3-8fe8-85d9193c14fd}"/>
+  <csuDeclarations identifier="Controller_FMU" path="resources/elevator/Controller_FMU.fmu" guid="{25941611-1350-4ca4-8fe8-85d9193c14fd}"/>
+  <csuDeclarations identifier="Motor_FMU" path="resources/elevator/Motor_FMU.fmu" guid="{25941611-1350-4ca7-8fe8-85d9193c14fd}"/>
+  <csuDeclarations identifier="PSU_FMU" path="resources/elevator/PSU_FMU.fmu" guid="{25941611-1350-4ca8-8fe8-85d9193c14fd}"/>
+</hintco:HintConfiguration>

+ 2 - 6
HintCO/instances/execute_cosim_test.xmi

@@ -1,9 +1,5 @@
 <?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">
+<hintco:HintConfiguration xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:hintco="ua.ansymo.hintco">
   <candidates
       identifier="Original"
       stopTime="0.1"
@@ -231,4 +227,4 @@
       guid="2810456241">
 
   </csuDeclarations>
-</hintco:Candidates>
+</hintco:HintConfiguration>

+ 2 - 6
HintCO/instances/execute_cosim_test_watertanks.xmi

@@ -1,9 +1,5 @@
 <?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">
+<hintco:HintConfiguration xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:hintco="ua.ansymo.hintco">
   <candidates
       identifier="Original"
       stopTime="10.0"
@@ -70,4 +66,4 @@
       identifier="threewatertank2"
       path="resources/threewatertank2.fmu"
       guid="{25941611-1350-4ca2-8fe8-85d9193c14fd}"/>
-</hintco:Candidates>
+</hintco:HintConfiguration>

+ 2 - 6
HintCO/instances/execute_deephier_cosim_test_watertanks.xmi

@@ -1,9 +1,5 @@
 <?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">
+<hintco:HintConfiguration xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:hintco="ua.ansymo.hintco">
   <candidates
       identifier="Original"
       stopTime="10.0"
@@ -107,4 +103,4 @@
       identifier="threewatertank2"
       path="resources/threewatertank2.fmu"
       guid="{25941611-1350-4ca2-8fe8-85d9193c14fd}"/>
-</hintco:Candidates>
+</hintco:HintConfiguration>

+ 2 - 6
HintCO/instances/execute_hier_cosim_test_watertanks.xmi

@@ -1,9 +1,5 @@
 <?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">
+<hintco:HintConfiguration xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:hintco="ua.ansymo.hintco">
   <candidates
       identifier="Original"
       stopTime="10.0"
@@ -79,4 +75,4 @@
       identifier="threewatertank2"
       path="resources/threewatertank2.fmu"
       guid="{25941611-1350-4ca2-8fe8-85d9193c14fd}"/>
-</hintco:Candidates>
+</hintco:HintConfiguration>

+ 2 - 6
HintCO/instances/extrapolation_test.xmi

@@ -1,9 +1,5 @@
 <?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">
+<hintco:HintConfiguration xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:hintco="ua.ansymo.hintco">
   <candidates
       identifier="Scenario"
       stopTime="10.0"
@@ -49,4 +45,4 @@
       guid="2761528305">
 
   </csuDeclarations>
-</hintco:Candidates>
+</hintco:HintConfiguration>

+ 2 - 6
HintCO/instances/generate_variant_diagram_test.xmi

@@ -1,9 +1,5 @@
 <?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">
+<hintco:HintConfiguration xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:hintco="ua.ansymo.hintco">
   <candidates
       identifier="Original">
     <cosimunits
@@ -135,4 +131,4 @@
       identifier="LoadNSensor_FixedEuler_1Em6">
 
   </csuDeclarations>
-</hintco:Candidates>
+</hintco:HintConfiguration>

+ 2 - 6
HintCO/instances/generate_variants_extrapolation_test.xmi

@@ -1,9 +1,5 @@
 <?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">
+<hintco:HintConfiguration xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:hintco="ua.ansymo.hintco">
   <candidates
       identifier="Original">
     <cosimunits
@@ -127,4 +123,4 @@
       identifier="LoadNSensor_FixedEuler_1Em6">
 
   </csuDeclarations>
-</hintco:Candidates>
+</hintco:HintConfiguration>

+ 2 - 2
HintCO/instances/generate_variants_hier_test.hintco

@@ -1,5 +1,5 @@
 <?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">
+<hintco:HintConfiguration xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:hintco="ua.ansymo.hintco">
   <candidates identifier="Original" stopTime="2.0" stepSize="0.001" 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.0"/>
@@ -46,4 +46,4 @@
   <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>
+</hintco:HintConfiguration>

+ 2 - 6
HintCO/instances/generate_variants_infeasible_implication_test.xmi

@@ -1,9 +1,5 @@
 <?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">
+<hintco:HintConfiguration xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:hintco="ua.ansymo.hintco">
   <candidates
       identifier="Original">
     <cosimunits
@@ -138,4 +134,4 @@
       identifier="LoadNSensor_FixedEuler_1Em6">
 
   </csuDeclarations>
-</hintco:Candidates>
+</hintco:HintConfiguration>

+ 2 - 6
HintCO/instances/generate_variants_infeasible_interpolation_test.xmi

@@ -1,9 +1,5 @@
 <?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">
+<hintco:HintConfiguration xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:hintco="ua.ansymo.hintco">
   <candidates
       identifier="Original">
     <cosimunits
@@ -135,4 +131,4 @@
       identifier="LoadNSensor_FixedEuler_1Em6">
 
   </csuDeclarations>
-</hintco:Candidates>
+</hintco:HintConfiguration>

+ 2 - 6
HintCO/instances/generate_variants_interpolation_test.xmi

@@ -1,9 +1,5 @@
 <?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">
+<hintco:HintConfiguration xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:hintco="ua.ansymo.hintco">
   <candidates
       identifier="Original">
     <cosimunits
@@ -126,4 +122,4 @@
       identifier="LoadNSensor_FixedEuler_1Em6">
 
   </csuDeclarations>
-</hintco:Candidates>
+</hintco:HintConfiguration>

+ 2 - 6
HintCO/instances/generate_variants_test.xmi

@@ -1,9 +1,5 @@
 <?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">
+<hintco:HintConfiguration xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:hintco="ua.ansymo.hintco">
   <candidates
       identifier="Original">
     <cosimunits
@@ -135,4 +131,4 @@
       identifier="LoadNSensor_FixedEuler_1Em6">
 
   </csuDeclarations>
-</hintco:Candidates>
+</hintco:HintConfiguration>

+ 38 - 0
HintCOEngine/instances/generated/add_constraints_test.hintco

@@ -0,0 +1,38 @@
+<?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" root="//@nodes.0">
+  <candidates identifier="R" selected="true" stopTime="2.0" stepSize="0.001" outputStepSize="0.001">
+    <cosimunits xsi:type="hintco:CosimUnitInstance" identifier="A" succeeds="//@candidates.0/@cosimunits.1/@cosimunits.0/@cosimunits.0/@ports.0 //@candidates.0/@cosimunits.1">
+      <ports xsi:type="hintco:OutputPortInstance" precedes="//@candidates.0/@cosimunits.1/@ports.0 //@candidates.0/@cosimunits.1/@cosimunits.0/@cosimunits.0/@ports.0 //@candidates.0/@cosimunits.1" identifier="Aop" valueTo="//@candidates.0/@cosimunits.1/@ports.0"/>
+    </cosimunits>
+    <cosimunits xsi:type="hintco:HierarchicalCosimUnit" identifier="B" precedes="//@candidates.0/@cosimunits.1 //@candidates.0/@cosimunits.2/@ports.0 //@candidates.0/@cosimunits.2 //@candidates.0/@cosimunits.0 //@candidates.0/@cosimunits.1/@ports.1" succeeds="//@candidates.0/@cosimunits.1/@ports.0 //@candidates.0/@cosimunits.1 //@candidates.0/@cosimunits.0/@ports.0">
+      <ports xsi:type="hintco:HierarchicalUnitPort" precedes="//@candidates.0/@cosimunits.1/@cosimunits.0/@ports.0 //@candidates.0/@cosimunits.1" succeeds="//@candidates.0/@cosimunits.0/@ports.0" identifier="Bip" valueFrom="//@candidates.0/@cosimunits.0/@ports.0" valueTo="//@candidates.0/@cosimunits.1/@cosimunits.0/@ports.0"/>
+      <ports xsi:type="hintco:HierarchicalUnitPort" precedes="//@candidates.0/@cosimunits.2/@ports.0 //@candidates.0/@cosimunits.2" succeeds="//@candidates.0/@cosimunits.1/@cosimunits.1/@ports.0 //@candidates.0/@cosimunits.1" identifier="Bop" valueFrom="//@candidates.0/@cosimunits.1/@cosimunits.1/@ports.0" valueTo="//@candidates.0/@cosimunits.2/@ports.0"/>
+      <cosimunits xsi:type="hintco:HierarchicalCosimUnit" identifier="B2" succeeds="//@candidates.0/@cosimunits.1/@cosimunits.0/@ports.0 //@candidates.0/@cosimunits.1/@cosimunits.0/@ports.1">
+        <ports xsi:type="hintco:HierarchicalUnitPort" precedes="//@candidates.0/@cosimunits.1/@cosimunits.0/@cosimunits.0/@ports.0 //@candidates.0/@cosimunits.1/@cosimunits.0" succeeds="//@candidates.0/@cosimunits.1/@ports.0" identifier="B2ip1" valueFrom="//@candidates.0/@cosimunits.1/@ports.0" valueTo="//@candidates.0/@cosimunits.1/@cosimunits.0/@cosimunits.0/@ports.0"/>
+        <ports xsi:type="hintco:HierarchicalUnitPort" precedes="//@candidates.0/@cosimunits.1/@cosimunits.0/@cosimunits.0/@ports.1 //@candidates.0/@cosimunits.1/@cosimunits.0" succeeds="//@candidates.0/@cosimunits.1/@cosimunits.1/@ports.1" identifier="B2ip2" valueFrom="//@candidates.0/@cosimunits.1/@cosimunits.1/@ports.1" valueTo="//@candidates.0/@cosimunits.1/@cosimunits.0/@cosimunits.0/@ports.1"/>
+        <ports xsi:type="hintco:HierarchicalUnitPort" precedes="//@candidates.0/@cosimunits.1/@cosimunits.1/@ports.2" succeeds="//@candidates.0/@cosimunits.1/@cosimunits.0/@cosimunits.0/@ports.2" identifier="B2op" valueFrom="//@candidates.0/@cosimunits.1/@cosimunits.0/@cosimunits.0/@ports.2" valueTo="//@candidates.0/@cosimunits.1/@cosimunits.1/@ports.2"/>
+        <cosimunits xsi:type="hintco:CosimUnitInstance" identifier="B21" succeeds="//@candidates.0/@cosimunits.1/@cosimunits.0/@cosimunits.0/@ports.0 //@candidates.0/@cosimunits.1/@cosimunits.0/@cosimunits.0/@ports.1">
+          <ports xsi:type="hintco:InputPortInstance" precedes="//@candidates.0/@cosimunits.1/@cosimunits.0/@cosimunits.0 //@candidates.0/@cosimunits.0" succeeds="//@candidates.0/@cosimunits.1/@cosimunits.0/@ports.0 //@candidates.0/@cosimunits.0/@ports.0" identifier="B21ip1" valueFrom="//@candidates.0/@cosimunits.1/@cosimunits.0/@ports.0">
+            <adaptation xsi:type="hintco:ExtrapolationAdaptation" selected="true"/>
+          </ports>
+          <ports xsi:type="hintco:InputPortInstance" precedes="//@candidates.0/@cosimunits.1/@cosimunits.0/@cosimunits.0" succeeds="//@candidates.0/@cosimunits.1/@cosimunits.0/@ports.1" identifier="B21ip2" valueFrom="//@candidates.0/@cosimunits.1/@cosimunits.0/@ports.1"/>
+          <ports xsi:type="hintco:OutputPortInstance" precedes="//@candidates.0/@cosimunits.1/@cosimunits.0/@ports.2" identifier="B21op" valueTo="//@candidates.0/@cosimunits.1/@cosimunits.0/@ports.2"/>
+        </cosimunits>
+      </cosimunits>
+      <cosimunits xsi:type="hintco:CosimUnitInstance" identifier="B1" precedes="//@candidates.0/@cosimunits.1/@cosimunits.1/@ports.0" succeeds="//@candidates.0/@cosimunits.1/@cosimunits.1/@ports.2">
+        <ports xsi:type="hintco:OutputPortInstance" precedes="//@candidates.0/@cosimunits.1/@ports.1 //@candidates.0/@cosimunits.2/@ports.0 //@candidates.0/@cosimunits.2" succeeds="//@candidates.0/@cosimunits.1/@cosimunits.1" identifier="B1op1" valueTo="//@candidates.0/@cosimunits.1/@ports.1"/>
+        <ports xsi:type="hintco:OutputPortInstance" precedes="//@candidates.0/@cosimunits.1/@cosimunits.0/@ports.1" identifier="B1op2" valueTo="//@candidates.0/@cosimunits.1/@cosimunits.0/@ports.1"/>
+        <ports xsi:type="hintco:InputPortInstance" precedes="//@candidates.0/@cosimunits.1/@cosimunits.1" succeeds="//@candidates.0/@cosimunits.1/@cosimunits.0/@ports.2" identifier="B1ip" valueFrom="//@candidates.0/@cosimunits.1/@cosimunits.0/@ports.2"/>
+      </cosimunits>
+    </cosimunits>
+    <cosimunits xsi:type="hintco:CosimUnitInstance" identifier="C" succeeds="//@candidates.0/@cosimunits.2/@ports.0 //@candidates.0/@cosimunits.1/@ports.1 //@candidates.0/@cosimunits.1/@cosimunits.1/@ports.0 //@candidates.0/@cosimunits.1">
+      <ports xsi:type="hintco:InputPortInstance" precedes="//@candidates.0/@cosimunits.2" succeeds="//@candidates.0/@cosimunits.1/@ports.1 //@candidates.0/@cosimunits.1/@cosimunits.1/@ports.0 //@candidates.0/@cosimunits.1" identifier="Cip" valueFrom="//@candidates.0/@cosimunits.1/@ports.1">
+        <adaptation xsi:type="hintco:InterpolationAdaptation" selected="true"/>
+      </ports>
+    </cosimunits>
+  </candidates>
+  <nodes identifier="0" children="//@nodes.1"/>
+  <nodes identifier="1" children="//@nodes.2" alternative="//@candidates.0"/>
+  <nodes identifier="2" children="//@nodes.3" alternative="//@candidates.0/@cosimunits.1/@cosimunits.0/@cosimunits.0/@ports.0/@adaptation"/>
+  <nodes identifier="3" alternative="//@candidates.0/@cosimunits.2/@ports.0/@adaptation"/>
+</hintco:HintConfiguration>

+ 77 - 0
HintCOEngine/instances/generated/create_default_candidate_space_test.xmi

@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="ASCII"?>
+<hintco:HintConfiguration 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">
+    <cosimunits xsi:type="hintco:CosimUnitInstance" identifier="Scenario" declaration="//@csuDeclarations.0">
+      <adaptation xsi:type="hintco:MultiRateAdaptation" rate="10"/>
+      <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">
+      <adaptation xsi:type="hintco:MultiRateAdaptation" rate="10"/>
+      <ports xsi:type="hintco:InputPortInstance" identifier="VEL_FB@expseu_" valueFrom="//@candidates.0/@cosimunits.2/@ports.4">
+        <adaptation xsi:type="hintco:XorPortAdaptation">
+          <children xsi:type="hintco:ExtrapolationAdaptation" implies="//@candidates.0/@cosimunits.1/@ports.0/@adaptation/@children.0 //@candidates.0/@cosimunits.1/@ports.1/@adaptation/@children.0 //@candidates.0/@cosimunits.1/@ports.2/@adaptation/@children.0 //@candidates.0/@cosimunits.1/@adaptation" order="1"/>
+          <children xsi:type="hintco:InterpolationAdaptation" weight="10" implies="//@candidates.0/@cosimunits.1/@ports.0/@adaptation/@children.1 //@candidates.0/@cosimunits.1/@ports.1/@adaptation/@children.1 //@candidates.0/@cosimunits.1/@ports.2/@adaptation/@children.1 //@candidates.0/@cosimunits.1/@adaptation" order="1"/>
+        </adaptation>
+      </ports>
+      <ports xsi:type="hintco:InputPortInstance" identifier="POS_FB@expseu_" valueFrom="//@candidates.0/@cosimunits.3/@ports.1">
+        <adaptation xsi:type="hintco:XorPortAdaptation">
+          <children xsi:type="hintco:ExtrapolationAdaptation" implies="//@candidates.0/@cosimunits.1/@ports.0/@adaptation/@children.0 //@candidates.0/@cosimunits.1/@ports.1/@adaptation/@children.0 //@candidates.0/@cosimunits.1/@ports.2/@adaptation/@children.0 //@candidates.0/@cosimunits.1/@adaptation" order="1"/>
+          <children xsi:type="hintco:InterpolationAdaptation" weight="10" implies="//@candidates.0/@cosimunits.1/@ports.0/@adaptation/@children.1 //@candidates.0/@cosimunits.1/@ports.1/@adaptation/@children.1 //@candidates.0/@cosimunits.1/@ports.2/@adaptation/@children.1 //@candidates.0/@cosimunits.1/@adaptation" order="1"/>
+        </adaptation>
+      </ports>
+      <ports xsi:type="hintco:InputPortInstance" identifier="REFERENCE@expseu_" valueFrom="//@candidates.0/@cosimunits.0/@ports.1">
+        <adaptation xsi:type="hintco:XorPortAdaptation">
+          <children xsi:type="hintco:ExtrapolationAdaptation" implies="//@candidates.0/@cosimunits.1/@ports.0/@adaptation/@children.0 //@candidates.0/@cosimunits.1/@ports.1/@adaptation/@children.0 //@candidates.0/@cosimunits.1/@ports.2/@adaptation/@children.0 //@candidates.0/@cosimunits.1/@adaptation" order="1"/>
+          <children xsi:type="hintco:InterpolationAdaptation" weight="10" implies="//@candidates.0/@cosimunits.1/@ports.0/@adaptation/@children.1 //@candidates.0/@cosimunits.1/@ports.1/@adaptation/@children.1 //@candidates.0/@cosimunits.1/@ports.2/@adaptation/@children.1 //@candidates.0/@cosimunits.1/@adaptation" order="1"/>
+        </adaptation>
+      </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:XorPortAdaptation">
+          <children xsi:type="hintco:ExtrapolationAdaptation" implies="//@candidates.0/@cosimunits.2/@ports.0/@adaptation/@children.0 //@candidates.0/@cosimunits.2/@ports.1/@adaptation/@children.0 //@candidates.0/@cosimunits.2/@ports.2/@adaptation/@children.0 //@candidates.0/@cosimunits.2/@ports.3/@adaptation/@children.0 //@candidates.0/@cosimunits.2/@adaptation" order="1"/>
+          <children xsi:type="hintco:InterpolationAdaptation" weight="10" implies="//@candidates.0/@cosimunits.2/@ports.0/@adaptation/@children.1 //@candidates.0/@cosimunits.2/@ports.1/@adaptation/@children.1 //@candidates.0/@cosimunits.2/@ports.2/@adaptation/@children.1 //@candidates.0/@cosimunits.2/@ports.3/@adaptation/@children.1 //@candidates.0/@cosimunits.2/@adaptation" order="1"/>
+        </adaptation>
+      </ports>
+      <ports xsi:type="hintco:InputPortInstance" identifier="psu_vol_input_v@expseu_" valueFrom="//@candidates.0/@cosimunits.0/@ports.0">
+        <adaptation xsi:type="hintco:XorPortAdaptation">
+          <children xsi:type="hintco:ExtrapolationAdaptation" implies="//@candidates.0/@cosimunits.2/@ports.0/@adaptation/@children.0 //@candidates.0/@cosimunits.2/@ports.1/@adaptation/@children.0 //@candidates.0/@cosimunits.2/@ports.2/@adaptation/@children.0 //@candidates.0/@cosimunits.2/@ports.3/@adaptation/@children.0 //@candidates.0/@cosimunits.2/@adaptation" order="1"/>
+          <children xsi:type="hintco:InterpolationAdaptation" weight="10" implies="//@candidates.0/@cosimunits.2/@ports.0/@adaptation/@children.1 //@candidates.0/@cosimunits.2/@ports.1/@adaptation/@children.1 //@candidates.0/@cosimunits.2/@ports.2/@adaptation/@children.1 //@candidates.0/@cosimunits.2/@ports.3/@adaptation/@children.1 //@candidates.0/@cosimunits.2/@adaptation" order="1"/>
+        </adaptation>
+      </ports>
+      <ports xsi:type="hintco:InputPortInstance" identifier="V_IN@expseu_" valueFrom="//@candidates.0/@cosimunits.3/@ports.2">
+        <adaptation xsi:type="hintco:XorPortAdaptation">
+          <children xsi:type="hintco:ExtrapolationAdaptation" implies="//@candidates.0/@cosimunits.2/@ports.0/@adaptation/@children.0 //@candidates.0/@cosimunits.2/@ports.1/@adaptation/@children.0 //@candidates.0/@cosimunits.2/@ports.2/@adaptation/@children.0 //@candidates.0/@cosimunits.2/@ports.3/@adaptation/@children.0 //@candidates.0/@cosimunits.2/@adaptation" order="1"/>
+          <children xsi:type="hintco:InterpolationAdaptation" weight="10" implies="//@candidates.0/@cosimunits.2/@ports.0/@adaptation/@children.1 //@candidates.0/@cosimunits.2/@ports.1/@adaptation/@children.1 //@candidates.0/@cosimunits.2/@ports.2/@adaptation/@children.1 //@candidates.0/@cosimunits.2/@ports.3/@adaptation/@children.1 //@candidates.0/@cosimunits.2/@adaptation" order="1"/>
+        </adaptation>
+      </ports>
+      <ports xsi:type="hintco:InputPortInstance" identifier="X_IN@expseu_" valueFrom="//@candidates.0/@cosimunits.3/@ports.3">
+        <adaptation xsi:type="hintco:XorPortAdaptation">
+          <children xsi:type="hintco:ExtrapolationAdaptation" implies="//@candidates.0/@cosimunits.2/@ports.0/@adaptation/@children.0 //@candidates.0/@cosimunits.2/@ports.1/@adaptation/@children.0 //@candidates.0/@cosimunits.2/@ports.2/@adaptation/@children.0 //@candidates.0/@cosimunits.2/@ports.3/@adaptation/@children.0 //@candidates.0/@cosimunits.2/@adaptation" order="1"/>
+          <children xsi:type="hintco:InterpolationAdaptation" weight="10" implies="//@candidates.0/@cosimunits.2/@ports.0/@adaptation/@children.1 //@candidates.0/@cosimunits.2/@ports.1/@adaptation/@children.1 //@candidates.0/@cosimunits.2/@ports.2/@adaptation/@children.1 //@candidates.0/@cosimunits.2/@ports.3/@adaptation/@children.1 //@candidates.0/@cosimunits.2/@adaptation" order="1"/>
+        </adaptation>
+      </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:XorPortAdaptation">
+          <children xsi:type="hintco:ExtrapolationAdaptation" implies="//@candidates.0/@cosimunits.3/@ports.0/@adaptation/@children.0 //@candidates.0/@cosimunits.3/@adaptation" order="1"/>
+          <children xsi:type="hintco:InterpolationAdaptation" weight="10" implies="//@candidates.0/@cosimunits.3/@ports.0/@adaptation/@children.1 //@candidates.0/@cosimunits.3/@adaptation" order="1"/>
+        </adaptation>
+      </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"/>
+  <csuDeclarations identifier="DLoopController_FixedEuler_1Em6"/>
+  <csuDeclarations identifier="EMAPlantNoLoad_FixedEuler_1Em6"/>
+  <csuDeclarations identifier="LoadNSensor_FixedEuler_1Em6"/>
+</hintco:HintConfiguration>

+ 53 - 0
HintCOEngine/instances/generated/default_scenario_test.xmi

@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="ASCII"?>
+<hintco:HintConfiguration xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:hintco="ua.ansymo.hintco">
+  <candidates identifier="Default">
+    <cosimunits identifier="Scenario" declaration="//@csuDeclarations.0">
+      <ports xsi:type="hintco:OutputPortInstance" identifier="psuvolt" declaration="//@csuDeclarations.0/@ports.0"/>
+      <ports xsi:type="hintco:OutputPortInstance" identifier="ref" declaration="//@csuDeclarations.0/@ports.1"/>
+    </cosimunits>
+    <cosimunits identifier="DLoopController_FixedEuler_1Em6" declaration="//@csuDeclarations.1">
+      <ports xsi:type="hintco:InputPortInstance" identifier="VEL_FB@expseu_" declaration="//@csuDeclarations.1/@ports.0"/>
+      <ports xsi:type="hintco:InputPortInstance" identifier="POS_FB@expseu_" declaration="//@csuDeclarations.1/@ports.1"/>
+      <ports xsi:type="hintco:InputPortInstance" identifier="REFERENCE@expseu_" declaration="//@csuDeclarations.1/@ports.2"/>
+      <ports xsi:type="hintco:OutputPortInstance" identifier="OUTPUT@expseu_" declaration="//@csuDeclarations.1/@ports.3"/>
+    </cosimunits>
+    <cosimunits identifier="EMAPlantNoLoad_FixedEuler_1Em6" declaration="//@csuDeclarations.2">
+      <ports xsi:type="hintco:InputPortInstance" identifier="torque_input@expseu_" declaration="//@csuDeclarations.2/@ports.0"/>
+      <ports xsi:type="hintco:InputPortInstance" identifier="psu_vol_input_v@expseu_" declaration="//@csuDeclarations.2/@ports.1"/>
+      <ports xsi:type="hintco:InputPortInstance" identifier="V_IN@expseu_" declaration="//@csuDeclarations.2/@ports.2"/>
+      <ports xsi:type="hintco:InputPortInstance" identifier="X_IN@expseu_" declaration="//@csuDeclarations.2/@ports.3"/>
+      <ports xsi:type="hintco:OutputPortInstance" identifier="ang_vel_out_rpm@expseu_" declaration="//@csuDeclarations.2/@ports.4"/>
+      <ports xsi:type="hintco:OutputPortInstance" identifier="F_OUT@expseu_" declaration="//@csuDeclarations.2/@ports.5"/>
+    </cosimunits>
+    <cosimunits identifier="LoadNSensor_FixedEuler_1Em6" declaration="//@csuDeclarations.3">
+      <ports xsi:type="hintco:InputPortInstance" identifier="F_INPUT@expseu_" declaration="//@csuDeclarations.3/@ports.0"/>
+      <ports xsi:type="hintco:OutputPortInstance" identifier="X_AFTER_LOAD@expseu_" declaration="//@csuDeclarations.3/@ports.1"/>
+      <ports xsi:type="hintco:OutputPortInstance" identifier="V_OUTPUT@expseu_" declaration="//@csuDeclarations.3/@ports.2"/>
+      <ports xsi:type="hintco:OutputPortInstance" identifier="X_OUTPUT@expseu_" declaration="//@csuDeclarations.3/@ports.3"/>
+    </cosimunits>
+  </candidates>
+  <csuDeclarations identifier="Scenario">
+    <ports xsi:type="hintco:OutputPortDeclaration" identifier="psuvolt"/>
+    <ports xsi:type="hintco:OutputPortDeclaration" identifier="ref"/>
+  </csuDeclarations>
+  <csuDeclarations identifier="DLoopController_FixedEuler_1Em6">
+    <ports xsi:type="hintco:InputPortDeclaration" identifier="VEL_FB@expseu_"/>
+    <ports xsi:type="hintco:InputPortDeclaration" identifier="POS_FB@expseu_"/>
+    <ports xsi:type="hintco:InputPortDeclaration" identifier="REFERENCE@expseu_"/>
+    <ports xsi:type="hintco:OutputPortDeclaration" identifier="OUTPUT@expseu_"/>
+  </csuDeclarations>
+  <csuDeclarations identifier="EMAPlantNoLoad_FixedEuler_1Em6">
+    <ports xsi:type="hintco:InputPortDeclaration" identifier="torque_input@expseu_"/>
+    <ports xsi:type="hintco:InputPortDeclaration" identifier="psu_vol_input_v@expseu_"/>
+    <ports xsi:type="hintco:InputPortDeclaration" identifier="V_IN@expseu_"/>
+    <ports xsi:type="hintco:InputPortDeclaration" identifier="X_IN@expseu_"/>
+    <ports xsi:type="hintco:OutputPortDeclaration" identifier="ang_vel_out_rpm@expseu_"/>
+    <ports xsi:type="hintco:OutputPortDeclaration" identifier="F_OUT@expseu_"/>
+  </csuDeclarations>
+  <csuDeclarations identifier="LoadNSensor_FixedEuler_1Em6">
+    <ports xsi:type="hintco:InputPortDeclaration" identifier="F_INPUT@expseu_"/>
+    <ports xsi:type="hintco:OutputPortDeclaration" identifier="X_AFTER_LOAD@expseu_"/>
+    <ports xsi:type="hintco:OutputPortDeclaration" identifier="V_OUTPUT@expseu_"/>
+    <ports xsi:type="hintco:OutputPortDeclaration" identifier="X_OUTPUT@expseu_"/>
+  </csuDeclarations>
+</hintco:HintConfiguration>

+ 51 - 0
HintCOEngine/instances/generated/generate_variant_diagram_test.xmi

@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="ASCII"?>
+<hintco:HintConfiguration 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" root="//@nodes.0">
+  <candidates identifier="Original">
+    <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">
+        <adaptation xsi:type="hintco:XorPortAdaptation">
+          <children xsi:type="hintco:ExtrapolationAdaptation" weight="1"/>
+          <children xsi:type="hintco:InterpolationAdaptation" weight="5"/>
+        </adaptation>
+      </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">
+      <ports xsi:type="hintco:InputPortInstance" identifier="torque_input@expseu_" valueFrom="//@candidates.0/@cosimunits.1/@ports.3">
+        <adaptation xsi:type="hintco:XorPortAdaptation">
+          <children xsi:type="hintco:ExtrapolationAdaptation" weight="3"/>
+          <children xsi:type="hintco:InterpolationAdaptation" weight="7"/>
+        </adaptation>
+      </ports>
+      <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"/>
+  <csuDeclarations identifier="DLoopController_FixedEuler_1Em6"/>
+  <csuDeclarations identifier="EMAPlantNoLoad_FixedEuler_1Em6"/>
+  <csuDeclarations identifier="LoadNSensor_FixedEuler_1Em6"/>
+  <nodes identifier="0" children="//@nodes.1 //@nodes.2"/>
+  <nodes identifier="1" children="//@nodes.3 //@nodes.4" alternative="//@candidates.0/@cosimunits.2/@ports.0/@adaptation/@children.1"/>
+  <nodes identifier="2" children="//@nodes.3 //@nodes.4" alternative="//@candidates.0/@cosimunits.2/@ports.0/@adaptation/@children.0"/>
+  <nodes identifier="3" children="//@nodes.5" alternative="//@candidates.0/@cosimunits.1/@ports.2/@adaptation/@children.1"/>
+  <nodes identifier="4" children="//@nodes.5" alternative="//@candidates.0/@cosimunits.1/@ports.2/@adaptation/@children.0"/>
+  <nodes identifier="5" children="//@nodes.6" alternative="//@candidates.0"/>
+  <nodes identifier="6" children="//@nodes.7" alternative="//@candidates.0/@cosimunits.1/@ports.2/@adaptation"/>
+  <nodes identifier="7" alternative="//@candidates.0/@cosimunits.2/@ports.0/@adaptation"/>
+</hintco:HintConfiguration>

+ 46 - 0
HintCOEngine/instances/generated/generate_variants_infeasible_interpolation_test.xmi

@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="ASCII"?>
+<hintco:HintConfiguration 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" root="//@nodes.0">
+  <candidates identifier="Original" selected="true">
+    <cosimunits xsi:type="hintco:CosimUnitInstance" identifier="Scenario" declaration="//@csuDeclarations.0">
+      <ports xsi:type="hintco:OutputPortInstance" precedes="//@candidates.0/@cosimunits.2/@ports.1" identifier="psuvolt" valueTo="//@candidates.0/@cosimunits.2/@ports.1"/>
+      <ports xsi:type="hintco:OutputPortInstance" precedes="//@candidates.0/@cosimunits.1/@ports.2" identifier="ref" valueTo="//@candidates.0/@cosimunits.1/@ports.2"/>
+    </cosimunits>
+    <cosimunits xsi:type="hintco:CosimUnitInstance" identifier="DLoopController_FixedEuler_1Em6" succeeds="//@candidates.0/@cosimunits.1/@ports.0 //@candidates.0/@cosimunits.1/@ports.1 //@candidates.0/@cosimunits.1/@ports.2" declaration="//@csuDeclarations.1">
+      <ports xsi:type="hintco:InputPortInstance" precedes="//@candidates.0/@cosimunits.1" succeeds="//@candidates.0/@cosimunits.2/@ports.4" identifier="VEL_FB@expseu_" valueFrom="//@candidates.0/@cosimunits.2/@ports.4"/>
+      <ports xsi:type="hintco:InputPortInstance" precedes="//@candidates.0/@cosimunits.1" succeeds="//@candidates.0/@cosimunits.3/@ports.1" identifier="POS_FB@expseu_" valueFrom="//@candidates.0/@cosimunits.3/@ports.1"/>
+      <ports xsi:type="hintco:InputPortInstance" precedes="//@candidates.0/@cosimunits.1" succeeds="//@candidates.0/@cosimunits.0/@ports.1" identifier="REFERENCE@expseu_" valueFrom="//@candidates.0/@cosimunits.0/@ports.1"/>
+      <ports xsi:type="hintco:OutputPortInstance" precedes="//@candidates.0/@cosimunits.2/@ports.0" identifier="OUTPUT@expseu_" valueTo="//@candidates.0/@cosimunits.2/@ports.0"/>
+    </cosimunits>
+    <cosimunits xsi:type="hintco:CosimUnitInstance" identifier="EMAPlantNoLoad_FixedEuler_1Em6" succeeds="//@candidates.0/@cosimunits.2/@ports.0 //@candidates.0/@cosimunits.2/@ports.1 //@candidates.0/@cosimunits.2/@ports.2 //@candidates.0/@cosimunits.2/@ports.3 //@candidates.0/@cosimunits.3/@ports.0" declaration="//@csuDeclarations.2">
+      <ports xsi:type="hintco:InputPortInstance" precedes="//@candidates.0/@cosimunits.2" succeeds="//@candidates.0/@cosimunits.1/@ports.3" identifier="torque_input@expseu_" valueFrom="//@candidates.0/@cosimunits.1/@ports.3"/>
+      <ports xsi:type="hintco:InputPortInstance" precedes="//@candidates.0/@cosimunits.2" succeeds="//@candidates.0/@cosimunits.0/@ports.0" identifier="psu_vol_input_v@expseu_" valueFrom="//@candidates.0/@cosimunits.0/@ports.0"/>
+      <ports xsi:type="hintco:InputPortInstance" precedes="//@candidates.0/@cosimunits.2" succeeds="//@candidates.0/@cosimunits.3/@ports.2" identifier="V_IN@expseu_" valueFrom="//@candidates.0/@cosimunits.3/@ports.2">
+        <adaptation xsi:type="hintco:InterpolationAdaptation" weight="10" selected="true"/>
+      </ports>
+      <ports xsi:type="hintco:InputPortInstance" precedes="//@candidates.0/@cosimunits.2" succeeds="//@candidates.0/@cosimunits.3/@ports.3" identifier="X_IN@expseu_" valueFrom="//@candidates.0/@cosimunits.3/@ports.3"/>
+      <ports xsi:type="hintco:OutputPortInstance" precedes="//@candidates.0/@cosimunits.1/@ports.0" identifier="ang_vel_out_rpm@expseu_" valueTo="//@candidates.0/@cosimunits.1/@ports.0"/>
+      <ports xsi:type="hintco:OutputPortInstance" precedes="//@candidates.0/@cosimunits.3/@ports.0" identifier="F_OUT@expseu_" valueTo="//@candidates.0/@cosimunits.3/@ports.0"/>
+    </cosimunits>
+    <cosimunits xsi:type="hintco:CosimUnitInstance" identifier="LoadNSensor_FixedEuler_1Em6" precedes="//@candidates.0/@cosimunits.3/@ports.2" succeeds="//@candidates.0/@cosimunits.3/@ports.0" declaration="//@csuDeclarations.3">
+      <ports xsi:type="hintco:InputPortInstance" precedes="//@candidates.0/@cosimunits.3 //@candidates.0/@cosimunits.2" succeeds="//@candidates.0/@cosimunits.2/@ports.5" identifier="F_INPUT@expseu_" valueFrom="//@candidates.0/@cosimunits.2/@ports.5">
+        <adaptation xsi:type="hintco:XorPortAdaptation" selected="true">
+          <children xsi:type="hintco:InterpolationAdaptation"/>
+          <children xsi:type="hintco:ExtrapolationAdaptation" selected="true"/>
+        </adaptation>
+      </ports>
+      <ports xsi:type="hintco:OutputPortInstance" precedes="//@candidates.0/@cosimunits.1/@ports.1" identifier="X_AFTER_LOAD@expseu_" valueTo="//@candidates.0/@cosimunits.1/@ports.1"/>
+      <ports xsi:type="hintco:OutputPortInstance" precedes="//@candidates.0/@cosimunits.2/@ports.2" succeeds="//@candidates.0/@cosimunits.3" identifier="V_OUTPUT@expseu_" valueTo="//@candidates.0/@cosimunits.2/@ports.2"/>
+      <ports xsi:type="hintco:OutputPortInstance" precedes="//@candidates.0/@cosimunits.2/@ports.3" identifier="X_OUTPUT@expseu_" valueTo="//@candidates.0/@cosimunits.2/@ports.3"/>
+    </cosimunits>
+  </candidates>
+  <csuDeclarations identifier="Scenario"/>
+  <csuDeclarations identifier="DLoopController_FixedEuler_1Em6"/>
+  <csuDeclarations identifier="EMAPlantNoLoad_FixedEuler_1Em6"/>
+  <csuDeclarations identifier="LoadNSensor_FixedEuler_1Em6"/>
+  <nodes identifier="0" children="//@nodes.1"/>
+  <nodes identifier="1" children="//@nodes.2" alternative="//@candidates.0/@cosimunits.2/@ports.2/@adaptation"/>
+  <nodes identifier="2" children="//@nodes.3" alternative="//@candidates.0"/>
+  <nodes identifier="3" children="//@nodes.4 //@nodes.5" alternative="//@candidates.0/@cosimunits.3/@ports.0/@adaptation"/>
+  <nodes identifier="4" alternative="//@candidates.0/@cosimunits.3/@ports.0/@adaptation/@children.0"/>
+  <nodes identifier="5" alternative="//@candidates.0/@cosimunits.3/@ports.0/@adaptation/@children.1"/>
+</hintco:HintConfiguration>

+ 2 - 6
HintCO/instances/interpolation_test.xmi

@@ -1,9 +1,5 @@
 <?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">
+<hintco:HintConfiguration xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:hintco="ua.ansymo.hintco">
   <candidates
       identifier="Scenario"
       stopTime="10.0"
@@ -49,4 +45,4 @@
       guid="2761528305">
 
   </csuDeclarations>
-</hintco:Candidates>
+</hintco:HintConfiguration>

+ 2 - 6
HintCO/instances/model_test.xmi

@@ -1,9 +1,5 @@
 <?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">
+<hintco:HintConfiguration xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:hintco="ua.ansymo.hintco">
   <candidates
       identifier="Original">
     <cosimunits
@@ -162,4 +158,4 @@
       identifier="LoadNSensor_FixedEuler_1Em6">
 
   </csuDeclarations>
-</hintco:Candidates>
+</hintco:HintConfiguration>

+ 0 - 0
HintCO/instances/simple_order_test.xmi


Some files were not shown because too many files changed in this diff