Implementation of abstract class AxlVariabilityVisitorModel for AXLang feature models. More...
Public Member Functions | |
FeatureModel | axlModel () |
AxlVariabilityVisitorFeatureModel (FeatureModel model) throws SolverException | |
Constructor. | |
AxlVariabilityVisitorFeatureModel () | |
Constructor. | |
boolean | checkConsistency () throws SolverException |
boolean | checkConsistencyIteratively () throws SolverException |
boolean | checkConsistencyWithConstraints () throws SolverException |
boolean | checkConsistencyWithoutConstraints () throws SolverException |
void | computeValidConfigurations () throws SolverException |
computes the theoretically possible configurations for the feature model It uses BDDs for this task. | |
AxlFormula | constrainedVariabilityFormula () |
AxlFormulaCollection | constrainedVariabilityFormulaCollection () |
AxlFormula | featureConstraintsVariabilityFormula () |
AxlFormulaCollection | featureConstraintsVariabilityFormulaCollection () |
void | interpret () throws SolverException |
Interpret the variability. | |
void | setFeatureModel (FeatureModel model) throws SolverException |
Protected Member Functions | |
void | checkPreconditionOfSetAxlModel (IAXLangElement model) throws SolverException |
void | clear () |
void | constructorInitializer () |
boolean | hasNoChildren (IAXLangElement parent) throws SolverException |
checks if an IAXLAngElement has NO children Hook method of "AxlBddVisitor.translateIAXLangElementAtomic()" | |
AxlFormula | iterateFeatureConstraints (Collection< AXLConstraint > featureConstraints) throws SolverException |
Translates the constraints of the feature model to a BDD structure. | |
AxlFormula | iterateThroughHierarchy (IAXLangElement parent) throws SolverException |
Iterating through the children of a feature and building a corresponding BDD. | |
AxlFormula | startIterationThroughHierarchy (IAXLangElement parent) throws SolverException |
Iterating through a feature model and building a corresponding AxlFormula: Start of recursion. | |
AxlFormula | translateFeatureConstraint (AXLConstraint featureConstraint) throws SolverException |
Translates a constraint of the feature model to a BDD structure. | |
void | translateFeatureModel (FeatureModel featureModel) throws SolverException |
Translates an aXLang feature model to a BDD structure. | |
AxlFormula | translateFeatureOr (IAXLangElement parent) throws SolverException |
interprets OR features | |
AxlFormula | translateIAXLangElementComposite (IAXLangElement parent) throws SolverException |
translates the relationship between a composite feature and its subfeatures into a BDD adds some preconditions to the super.operation | |
void | translateModel (IAXLangElement model) throws SolverException |
Package Attributes | |
Collection< AXLConstraint > | theFeatureConstraints |
Private Attributes | |
AxlFormula | theConstrainedFeatureVarFormula |
AxlFormulaCollection | theConstrainedFeatureVarFormulaCollection |
AxlFormula | theFeatureConstraintsVarFormula |
AxlFormulaCollection | theFeatureConstraintsVarFormulaCollection |
Implementation of abstract class AxlVariabilityVisitorModel for AXLang feature models.
de.fraunhofer.isst.axbench.operations.checker.solver.variabilityvisitor.imp.AxlVariabilityVisitorFeatureModel.AxlVariabilityVisitorFeatureModel | ( | ) |
Constructor.
de.fraunhofer.isst.axbench.operations.checker.solver.variabilityvisitor.imp.AxlVariabilityVisitorFeatureModel.AxlVariabilityVisitorFeatureModel | ( | FeatureModel | model | ) | throws SolverException |
Constructor.
FeatureModel de.fraunhofer.isst.axbench.operations.checker.solver.variabilityvisitor.imp.AxlVariabilityVisitorFeatureModel.axlModel | ( | ) |
Get the assigned aXLang application model
Reimplemented from de.fraunhofer.isst.axbench.operations.checker.solver.variabilityvisitor.imp.AxlVariabilityVisitor.
boolean de.fraunhofer.isst.axbench.operations.checker.solver.variabilityvisitor.imp.AxlVariabilityVisitorFeatureModel.checkConsistency | ( | ) | throws SolverException [virtual] |
boolean de.fraunhofer.isst.axbench.operations.checker.solver.variabilityvisitor.imp.AxlVariabilityVisitorFeatureModel.checkConsistencyIteratively | ( | ) | throws SolverException |
boolean de.fraunhofer.isst.axbench.operations.checker.solver.variabilityvisitor.imp.AxlVariabilityVisitorFeatureModel.checkConsistencyWithConstraints | ( | ) | throws SolverException |
boolean de.fraunhofer.isst.axbench.operations.checker.solver.variabilityvisitor.imp.AxlVariabilityVisitorFeatureModel.checkConsistencyWithoutConstraints | ( | ) | throws SolverException |
void de.fraunhofer.isst.axbench.operations.checker.solver.variabilityvisitor.imp.AxlVariabilityVisitorFeatureModel.checkPreconditionOfSetAxlModel | ( | IAXLangElement | model | ) | throws SolverException [protected, virtual] |
Implementation of the precondition check for setModel() method (a hook method)
model,: | a feature model |
SolverException |
Implements de.fraunhofer.isst.axbench.operations.checker.solver.variabilityvisitor.imp.AxlVariabilityVisitor.
void de.fraunhofer.isst.axbench.operations.checker.solver.variabilityvisitor.imp.AxlVariabilityVisitorFeatureModel.clear | ( | ) | [protected] |
void de.fraunhofer.isst.axbench.operations.checker.solver.variabilityvisitor.imp.AxlVariabilityVisitorFeatureModel.computeValidConfigurations | ( | ) | throws SolverException [virtual] |
computes the theoretically possible configurations for the feature model It uses BDDs for this task.
Implements de.fraunhofer.isst.axbench.operations.checker.solver.variabilityvisitor.imp.AxlVariabilityVisitor.
AxlFormula de.fraunhofer.isst.axbench.operations.checker.solver.variabilityvisitor.imp.AxlVariabilityVisitorFeatureModel.constrainedVariabilityFormula | ( | ) |
AxlFormulaCollection de.fraunhofer.isst.axbench.operations.checker.solver.variabilityvisitor.imp.AxlVariabilityVisitorFeatureModel.constrainedVariabilityFormulaCollection | ( | ) |
void de.fraunhofer.isst.axbench.operations.checker.solver.variabilityvisitor.imp.AxlVariabilityVisitorFeatureModel.constructorInitializer | ( | ) | [protected] |
AxlFormula de.fraunhofer.isst.axbench.operations.checker.solver.variabilityvisitor.imp.AxlVariabilityVisitorFeatureModel.featureConstraintsVariabilityFormula | ( | ) |
AxlFormulaCollection de.fraunhofer.isst.axbench.operations.checker.solver.variabilityvisitor.imp.AxlVariabilityVisitorFeatureModel.featureConstraintsVariabilityFormulaCollection | ( | ) |
boolean de.fraunhofer.isst.axbench.operations.checker.solver.variabilityvisitor.imp.AxlVariabilityVisitorFeatureModel.hasNoChildren | ( | IAXLangElement | parent | ) | throws SolverException [protected, virtual] |
checks if an IAXLAngElement has NO children Hook method of "AxlBddVisitor.translateIAXLangElementAtomic()"
parent | should be a Feature, a FeatureModel or an corresponding AxlElementPath |
if | parent does not represent a Feature or FeatureModel |
Implements de.fraunhofer.isst.axbench.operations.checker.solver.variabilityvisitor.imp.AxlVariabilityVisitorModel.
void de.fraunhofer.isst.axbench.operations.checker.solver.variabilityvisitor.imp.AxlVariabilityVisitorFeatureModel.interpret | ( | ) | throws SolverException |
Interpret the variability.
Reimplemented from de.fraunhofer.isst.axbench.operations.checker.solver.variabilityvisitor.imp.AxlVariabilityVisitor.
AxlFormula de.fraunhofer.isst.axbench.operations.checker.solver.variabilityvisitor.imp.AxlVariabilityVisitorFeatureModel.iterateFeatureConstraints | ( | Collection< AXLConstraint > | featureConstraints | ) | throws SolverException [protected] |
Translates the constraints of the feature model to a BDD structure.
featureConstraints,: | the constraints of an AXLang FeatureModel to be translated |
null,: | if there are no featureConstraints |
<TODO FORMULACOLLECTIONTEST
AxlFormula de.fraunhofer.isst.axbench.operations.checker.solver.variabilityvisitor.imp.AxlVariabilityVisitorFeatureModel.iterateThroughHierarchy | ( | IAXLangElement | parent | ) | throws SolverException [protected, virtual] |
Iterating through the children of a feature and building a corresponding BDD.
reads/uses attributes: modelBddVarSet, bddFactory
parent,: | a feature |
Implements de.fraunhofer.isst.axbench.operations.checker.solver.variabilityvisitor.imp.AxlVariabilityVisitorModel.
void de.fraunhofer.isst.axbench.operations.checker.solver.variabilityvisitor.imp.AxlVariabilityVisitorFeatureModel.setFeatureModel | ( | FeatureModel | model | ) | throws SolverException |
AxlFormula de.fraunhofer.isst.axbench.operations.checker.solver.variabilityvisitor.imp.AxlVariabilityVisitorFeatureModel.startIterationThroughHierarchy | ( | IAXLangElement | parent | ) | throws SolverException [protected, virtual] |
Iterating through a feature model and building a corresponding AxlFormula: Start of recursion.
Currently, the formula is stored twice as a AxlFormula and as a AxlFormulaCollection
parent,: | a feature model (or a feature as a root to be considered) |
<TODO FORMULACOLLECTIONTEST
Implements de.fraunhofer.isst.axbench.operations.checker.solver.variabilityvisitor.imp.AxlVariabilityVisitorModel.
AxlFormula de.fraunhofer.isst.axbench.operations.checker.solver.variabilityvisitor.imp.AxlVariabilityVisitorFeatureModel.translateFeatureConstraint | ( | AXLConstraint | featureConstraint | ) | throws SolverException [protected] |
Translates a constraint of the feature model to a BDD structure.
featureConstraint,: | a constraint |
null??? |
void de.fraunhofer.isst.axbench.operations.checker.solver.variabilityvisitor.imp.AxlVariabilityVisitorFeatureModel.translateFeatureModel | ( | FeatureModel | featureModel | ) | throws SolverException [protected] |
Translates an aXLang feature model to a BDD structure.
featureModel,: | an AXLang FeatureModel to be translated |
if | there is no feature model |
AxlFormula de.fraunhofer.isst.axbench.operations.checker.solver.variabilityvisitor.imp.AxlVariabilityVisitorFeatureModel.translateFeatureOr | ( | IAXLangElement | parent | ) | throws SolverException [protected] |
interprets OR features
parent | ||
childrenCollection |
SolverException |
<TODO FORMULACOLLECTIONTEST
AxlFormula de.fraunhofer.isst.axbench.operations.checker.solver.variabilityvisitor.imp.AxlVariabilityVisitorFeatureModel.translateIAXLangElementComposite | ( | IAXLangElement | parent | ) | throws SolverException [protected] |
translates the relationship between a composite feature and its subfeatures into a BDD adds some preconditions to the super.operation
parent |
Reimplemented from de.fraunhofer.isst.axbench.operations.checker.solver.variabilityvisitor.imp.AxlVariabilityVisitorModel.
void de.fraunhofer.isst.axbench.operations.checker.solver.variabilityvisitor.imp.AxlVariabilityVisitorFeatureModel.translateModel | ( | IAXLangElement | model | ) | throws SolverException [protected, virtual] |
AxlFormula de.fraunhofer.isst.axbench.operations.checker.solver.variabilityvisitor.imp.AxlVariabilityVisitorFeatureModel.theConstrainedFeatureVarFormula [private] |
AxlFormulaCollection de.fraunhofer.isst.axbench.operations.checker.solver.variabilityvisitor.imp.AxlVariabilityVisitorFeatureModel.theConstrainedFeatureVarFormulaCollection [private] |
Collection<AXLConstraint> de.fraunhofer.isst.axbench.operations.checker.solver.variabilityvisitor.imp.AxlVariabilityVisitorFeatureModel.theFeatureConstraints [package] |
AxlFormula de.fraunhofer.isst.axbench.operations.checker.solver.variabilityvisitor.imp.AxlVariabilityVisitorFeatureModel.theFeatureConstraintsVarFormula [private] |