Package ai.libs.jaicore.components.model
Class CompositionProblemUtil
- java.lang.Object
-
- ai.libs.jaicore.components.model.CompositionProblemUtil
-
public class CompositionProblemUtil extends java.lang.Object
-
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static java.util.List<ComponentInstance>getComponentInstancesOfComposition(ComponentInstance composition)Computes a list of all component instances of the given composition.static java.lang.StringgetComponentNamesOfComposition(ComponentInstance composition)Computes a String of component names that appear in the composition which can be used as an identifier for the compositionstatic java.util.List<Component>getComponentsOfComposition(ComponentInstance composition)Computes a list of all components of the given composition.static java.util.Collection<Component>getComponentsThatProvideInterface(SoftwareConfigurationProblem<?> configurationProblem, java.lang.String requiredInterface)static java.util.Collection<Component>getComponentsThatResolveProblem(SoftwareConfigurationProblem<?> configurationProblem)static java.util.List<org.apache.commons.math3.geometry.euclidean.oned.Interval>getNumericParameterRefinement(org.apache.commons.math3.geometry.euclidean.oned.Interval interval, double focus, boolean integer, ParameterRefinementConfiguration refinementConfig)static booleanisDependencyConditionSatisfied(java.util.Collection<ai.libs.jaicore.basic.sets.Pair<Parameter,IParameterDomain>> condition, java.util.Map<Parameter,IParameterDomain> values)static booleanisDependencyPremiseSatisfied(Dependency dependency, java.util.Map<Parameter,IParameterDomain> values)static java.util.List<org.apache.commons.math3.geometry.euclidean.oned.Interval>refineOnLinearScale(org.apache.commons.math3.geometry.euclidean.oned.Interval interval, int maxNumberOfSubIntervals, double minimumLengthOfIntervals)static java.util.List<org.apache.commons.math3.geometry.euclidean.oned.Interval>refineOnLogScale(org.apache.commons.math3.geometry.euclidean.oned.Interval interval, int n, double basis, double pointOfConcentration)static voidrefineRecursively(org.apache.commons.math3.geometry.euclidean.oned.Interval interval, int maxNumberOfSubIntervalsPerRefinement, double basis, double pointOfConcentration, double factorForMaximumLengthOfFinestIntervals)
-
-
-
Method Detail
-
getComponentsThatResolveProblem
public static java.util.Collection<Component> getComponentsThatResolveProblem(SoftwareConfigurationProblem<?> configurationProblem)
-
getComponentsThatProvideInterface
public static java.util.Collection<Component> getComponentsThatProvideInterface(SoftwareConfigurationProblem<?> configurationProblem, java.lang.String requiredInterface)
-
getComponentInstancesOfComposition
public static java.util.List<ComponentInstance> getComponentInstancesOfComposition(ComponentInstance composition)
Computes a list of all component instances of the given composition.- Parameters:
composition-- Returns:
- List of components in right to left depth-first order
-
getComponentNamesOfComposition
public static java.lang.String getComponentNamesOfComposition(ComponentInstance composition)
Computes a String of component names that appear in the composition which can be used as an identifier for the composition- Parameters:
composition-- Returns:
- String of all component names in right to left depth-first order
-
getComponentsOfComposition
public static java.util.List<Component> getComponentsOfComposition(ComponentInstance composition)
Computes a list of all components of the given composition.- Parameters:
composition-- Returns:
- List of components in right to left depth-first order
-
isDependencyPremiseSatisfied
public static boolean isDependencyPremiseSatisfied(Dependency dependency, java.util.Map<Parameter,IParameterDomain> values)
-
isDependencyConditionSatisfied
public static boolean isDependencyConditionSatisfied(java.util.Collection<ai.libs.jaicore.basic.sets.Pair<Parameter,IParameterDomain>> condition, java.util.Map<Parameter,IParameterDomain> values)
-
getNumericParameterRefinement
public static java.util.List<org.apache.commons.math3.geometry.euclidean.oned.Interval> getNumericParameterRefinement(org.apache.commons.math3.geometry.euclidean.oned.Interval interval, double focus, boolean integer, ParameterRefinementConfiguration refinementConfig)
-
refineOnLinearScale
public static java.util.List<org.apache.commons.math3.geometry.euclidean.oned.Interval> refineOnLinearScale(org.apache.commons.math3.geometry.euclidean.oned.Interval interval, int maxNumberOfSubIntervals, double minimumLengthOfIntervals)
-
refineOnLogScale
public static java.util.List<org.apache.commons.math3.geometry.euclidean.oned.Interval> refineOnLogScale(org.apache.commons.math3.geometry.euclidean.oned.Interval interval, int n, double basis, double pointOfConcentration)
-
refineRecursively
public static void refineRecursively(org.apache.commons.math3.geometry.euclidean.oned.Interval interval, int maxNumberOfSubIntervalsPerRefinement, double basis, double pointOfConcentration, double factorForMaximumLengthOfFinestIntervals)
-
-