Public Member Functions | |
IAXLangElement | axlModel () |
Getter aXLang submodel. | |
AxlVariabilityVisitor (IAXLangElement model) throws SolverException | |
AxlVariabilityVisitor () | |
void | changeSolverImpToBdd () throws SolverException |
void | changeSolverImpToDefault () |
void | changeSolverImpToSpass () throws SolverException |
abstract boolean | checkConsistency () throws SolverException |
boolean | checkConsistencyIteratively () throws SolverException |
boolean | checkConsistencyIteratively (AxlFormulaCollection...formulaCollections) throws SolverException |
void | cleanUpVarSolver () |
abstract void | computeValidConfigurations () throws SolverException |
void | configurationsToCsv () |
Writes the computed configurations to CSV. | |
AxlVariabilitySolverResultData | getResults () |
Get all results. | |
void | interpret () throws SolverException |
boolean | isBddSolverImpInUsage () |
boolean | isDefaultSolverImpInUsage () |
boolean | isSpassSolverImpInUsage () |
void | setAxlModel (IAXLangElement model) throws SolverException |
Setter aXLang submodel Set the aXLang submodel which should be checked with a solver. Specific preconditions are checked within the hook method "checkPreconditionOfSetAxlModel(model)". | |
void | setDebuggingInfo (boolean smDebug, boolean smSystemOut) |
For debugging. | |
void | setTheSpassExecutablePath (String path) |
sets the executable path to SPASS for SPASS solving It is checked elsewhere if the path is correct! | |
Collection< TreeMap < IAXLangElement, BddConfigurationStatus > > | validConfigurations () |
Get the computed valid configurations as a collection. | |
TreeMap< IAXLangElement, AxlElementConfigurationStates > | validConfigurationStates () |
Get the computed valid configurations as a treemap ... | |
AxlFormula | variabilityFormula () |
AxlFormulaCollection | variabilityFormulaCollection () |
IVariabilitySolver | varSolver () |
Static Public Member Functions | |
static IAxlVisitor | factory (IAXLangElement model) throws SolverException |
Public Attributes | |
int | theResultNumberOfConfigurations |
Protected Member Functions | |
IAxlVarSet | axlVarSet () |
abstract void | checkPreconditionOfSetAxlModel (IAXLangElement model) throws SolverException |
void | clear () |
void | constructorInitializer () |
void | setTheFileName () |
sets the name of the CSV output file for this metrics. | |
void | storeResultsFromSolver () |
internally stores the results from the solver; it's called internally in the corresponding methods! | |
abstract void | translateModel (IAXLangElement model) throws SolverException |
Translates an aXLang model to a logical structure (kann noch refaktorisiert werden) reads/uses attributes: bddFactory creates/reads/writes attributes: modelBddVarSet. | |
Protected Attributes | |
IAXLangElement | theAxlModel |
String | theFileName |
The name of the output file (without path and without file extension). | |
boolean | theResultIsConsistent |
double | theResultNodeCount |
AxlVariabilitySolverResultData | theResults |
double | theResultSatCount |
int | theResultVarCount |
String | theSpassExecutablePath = null |
Collection< TreeMap < IAXLangElement, BddConfigurationStatus > > | theValidConfigurations |
TreeMap< IAXLangElement, AxlElementConfigurationStates > | theValidConfigurationsElementConfigurationStates |
AxlFormula | theVarFormula |
AxlFormulaCollection | theVarFormulaCollection |
VariabilitySolverImp | theVarManager |
IVariabilitySolver | theVarSolver |
Static Protected Attributes | |
static String | OUTPUTSUBFOLDER_STRING = "configurations" |
the name of the output subfolder for csv files |
de.fraunhofer.isst.axbench.operations.checker.solver.variabilityvisitor.imp.AxlVariabilityVisitor.AxlVariabilityVisitor | ( | ) |
de.fraunhofer.isst.axbench.operations.checker.solver.variabilityvisitor.imp.AxlVariabilityVisitor.AxlVariabilityVisitor | ( | IAXLangElement | model | ) | throws SolverException |
IAXLangElement de.fraunhofer.isst.axbench.operations.checker.solver.variabilityvisitor.imp.AxlVariabilityVisitor.axlModel | ( | ) |
Getter aXLang submodel.
Implements de.fraunhofer.isst.axbench.operations.checker.solver.variabilityvisitor.IAxlVariabilityVisitor.
Reimplemented in de.fraunhofer.isst.axbench.operations.checker.solver.variabilityvisitor.imp.AxlVariabilityVisitorApplicationModel, de.fraunhofer.isst.axbench.operations.checker.solver.variabilityvisitor.imp.AxlVariabilityVisitorF2AMapping, de.fraunhofer.isst.axbench.operations.checker.solver.variabilityvisitor.imp.AxlVariabilityVisitorFeatureConfiguration, and de.fraunhofer.isst.axbench.operations.checker.solver.variabilityvisitor.imp.AxlVariabilityVisitorFeatureModel.
IAxlVarSet de.fraunhofer.isst.axbench.operations.checker.solver.variabilityvisitor.imp.AxlVariabilityVisitor.axlVarSet | ( | ) | [protected] |
void de.fraunhofer.isst.axbench.operations.checker.solver.variabilityvisitor.imp.AxlVariabilityVisitor.changeSolverImpToBdd | ( | ) | throws SolverException |
void de.fraunhofer.isst.axbench.operations.checker.solver.variabilityvisitor.imp.AxlVariabilityVisitor.changeSolverImpToDefault | ( | ) |
void de.fraunhofer.isst.axbench.operations.checker.solver.variabilityvisitor.imp.AxlVariabilityVisitor.changeSolverImpToSpass | ( | ) | throws SolverException |
abstract boolean de.fraunhofer.isst.axbench.operations.checker.solver.variabilityvisitor.imp.AxlVariabilityVisitor.checkConsistency | ( | ) | throws SolverException [pure virtual] |
Implements de.fraunhofer.isst.axbench.operations.checker.solver.variabilityvisitor.IAxlVariabilityVisitor.
Implemented in de.fraunhofer.isst.axbench.operations.checker.solver.variabilityvisitor.imp.AxlVariabilityVisitorApplicationModel, de.fraunhofer.isst.axbench.operations.checker.solver.variabilityvisitor.imp.AxlVariabilityVisitorF2AMapping, de.fraunhofer.isst.axbench.operations.checker.solver.variabilityvisitor.imp.AxlVariabilityVisitorFeatureConfiguration, and de.fraunhofer.isst.axbench.operations.checker.solver.variabilityvisitor.imp.AxlVariabilityVisitorFeatureModel.
boolean de.fraunhofer.isst.axbench.operations.checker.solver.variabilityvisitor.imp.AxlVariabilityVisitor.checkConsistencyIteratively | ( | ) | throws SolverException |
Reimplemented in de.fraunhofer.isst.axbench.operations.checker.solver.variabilityvisitor.imp.AxlVariabilityVisitorF2AMapping, de.fraunhofer.isst.axbench.operations.checker.solver.variabilityvisitor.imp.AxlVariabilityVisitorFeatureConfiguration, and de.fraunhofer.isst.axbench.operations.checker.solver.variabilityvisitor.imp.AxlVariabilityVisitorFeatureModel.
boolean de.fraunhofer.isst.axbench.operations.checker.solver.variabilityvisitor.imp.AxlVariabilityVisitor.checkConsistencyIteratively | ( | AxlFormulaCollection... | formulaCollections | ) | throws SolverException |
abstract void de.fraunhofer.isst.axbench.operations.checker.solver.variabilityvisitor.imp.AxlVariabilityVisitor.checkPreconditionOfSetAxlModel | ( | IAXLangElement | model | ) | throws SolverException [protected, pure virtual] |
Checker for the preconditions to set the aXLang submodel. (Hook-Method)
model |
SolverException |
Implemented in de.fraunhofer.isst.axbench.operations.checker.solver.variabilityvisitor.imp.AxlVariabilityVisitorApplicationModel, de.fraunhofer.isst.axbench.operations.checker.solver.variabilityvisitor.imp.AxlVariabilityVisitorF2AMapping, de.fraunhofer.isst.axbench.operations.checker.solver.variabilityvisitor.imp.AxlVariabilityVisitorFeatureConfiguration, and de.fraunhofer.isst.axbench.operations.checker.solver.variabilityvisitor.imp.AxlVariabilityVisitorFeatureModel.
void de.fraunhofer.isst.axbench.operations.checker.solver.variabilityvisitor.imp.AxlVariabilityVisitor.cleanUpVarSolver | ( | ) |
void de.fraunhofer.isst.axbench.operations.checker.solver.variabilityvisitor.imp.AxlVariabilityVisitor.clear | ( | ) | [protected] |
Reimplemented in de.fraunhofer.isst.axbench.operations.checker.solver.variabilityvisitor.imp.AxlVariabilityVisitorApplicationModel, de.fraunhofer.isst.axbench.operations.checker.solver.variabilityvisitor.imp.AxlVariabilityVisitorF2AMapping, de.fraunhofer.isst.axbench.operations.checker.solver.variabilityvisitor.imp.AxlVariabilityVisitorFeatureConfiguration, de.fraunhofer.isst.axbench.operations.checker.solver.variabilityvisitor.imp.AxlVariabilityVisitorFeatureModel, and de.fraunhofer.isst.axbench.operations.checker.solver.variabilityvisitor.imp.AxlVariabilityVisitorModel.
abstract void de.fraunhofer.isst.axbench.operations.checker.solver.variabilityvisitor.imp.AxlVariabilityVisitor.computeValidConfigurations | ( | ) | throws SolverException [pure virtual] |
Implemented in de.fraunhofer.isst.axbench.operations.checker.solver.variabilityvisitor.imp.AxlVariabilityVisitorApplicationModel, de.fraunhofer.isst.axbench.operations.checker.solver.variabilityvisitor.imp.AxlVariabilityVisitorF2AMapping, de.fraunhofer.isst.axbench.operations.checker.solver.variabilityvisitor.imp.AxlVariabilityVisitorFeatureConfiguration, and de.fraunhofer.isst.axbench.operations.checker.solver.variabilityvisitor.imp.AxlVariabilityVisitorFeatureModel.
void de.fraunhofer.isst.axbench.operations.checker.solver.variabilityvisitor.imp.AxlVariabilityVisitor.configurationsToCsv | ( | ) |
Writes the computed configurations to CSV.
void de.fraunhofer.isst.axbench.operations.checker.solver.variabilityvisitor.imp.AxlVariabilityVisitor.constructorInitializer | ( | ) | [protected] |
Reimplemented in de.fraunhofer.isst.axbench.operations.checker.solver.variabilityvisitor.imp.AxlVariabilityVisitorApplicationModel, de.fraunhofer.isst.axbench.operations.checker.solver.variabilityvisitor.imp.AxlVariabilityVisitorF2AMapping, de.fraunhofer.isst.axbench.operations.checker.solver.variabilityvisitor.imp.AxlVariabilityVisitorFeatureConfiguration, de.fraunhofer.isst.axbench.operations.checker.solver.variabilityvisitor.imp.AxlVariabilityVisitorFeatureModel, and de.fraunhofer.isst.axbench.operations.checker.solver.variabilityvisitor.imp.AxlVariabilityVisitorModel.
static IAxlVisitor de.fraunhofer.isst.axbench.operations.checker.solver.variabilityvisitor.imp.AxlVariabilityVisitor.factory | ( | IAXLangElement | model | ) | throws SolverException [static] |
AxlVariabilitySolverResultData de.fraunhofer.isst.axbench.operations.checker.solver.variabilityvisitor.imp.AxlVariabilityVisitor.getResults | ( | ) |
Get all results.
void de.fraunhofer.isst.axbench.operations.checker.solver.variabilityvisitor.imp.AxlVariabilityVisitor.interpret | ( | ) | throws SolverException |
Implements de.fraunhofer.isst.axbench.operations.checker.solver.variabilityvisitor.IAxlVariabilityVisitor.
Reimplemented in de.fraunhofer.isst.axbench.operations.checker.solver.variabilityvisitor.imp.AxlVariabilityVisitorApplicationModel, de.fraunhofer.isst.axbench.operations.checker.solver.variabilityvisitor.imp.AxlVariabilityVisitorF2AMapping, de.fraunhofer.isst.axbench.operations.checker.solver.variabilityvisitor.imp.AxlVariabilityVisitorFeatureConfiguration, and de.fraunhofer.isst.axbench.operations.checker.solver.variabilityvisitor.imp.AxlVariabilityVisitorFeatureModel.
boolean de.fraunhofer.isst.axbench.operations.checker.solver.variabilityvisitor.imp.AxlVariabilityVisitor.isBddSolverImpInUsage | ( | ) |
boolean de.fraunhofer.isst.axbench.operations.checker.solver.variabilityvisitor.imp.AxlVariabilityVisitor.isDefaultSolverImpInUsage | ( | ) |
boolean de.fraunhofer.isst.axbench.operations.checker.solver.variabilityvisitor.imp.AxlVariabilityVisitor.isSpassSolverImpInUsage | ( | ) |
void de.fraunhofer.isst.axbench.operations.checker.solver.variabilityvisitor.imp.AxlVariabilityVisitor.setAxlModel | ( | IAXLangElement | model | ) | throws SolverException |
Setter aXLang submodel Set the aXLang submodel which should be checked with a solver. Specific preconditions are checked within the hook method "checkPreconditionOfSetAxlModel(model)".
model |
SolverException | if preconditions are violated. |
Implements de.fraunhofer.isst.axbench.operations.checker.solver.variabilityvisitor.IAxlVariabilityVisitor.
void de.fraunhofer.isst.axbench.operations.checker.solver.variabilityvisitor.imp.AxlVariabilityVisitor.setDebuggingInfo | ( | boolean | smDebug, | |
boolean | smSystemOut | |||
) |
For debugging.
void de.fraunhofer.isst.axbench.operations.checker.solver.variabilityvisitor.imp.AxlVariabilityVisitor.setTheFileName | ( | ) | [protected] |
sets the name of the CSV output file for this metrics.
Reimplemented in de.fraunhofer.isst.axbench.operations.checker.solver.variabilityvisitor.imp.AxlVariabilityVisitorF2AMapping.
void de.fraunhofer.isst.axbench.operations.checker.solver.variabilityvisitor.imp.AxlVariabilityVisitor.setTheSpassExecutablePath | ( | String | path | ) |
sets the executable path to SPASS for SPASS solving It is checked elsewhere if the path is correct!
void de.fraunhofer.isst.axbench.operations.checker.solver.variabilityvisitor.imp.AxlVariabilityVisitor.storeResultsFromSolver | ( | ) | [protected] |
internally stores the results from the solver; it's called internally in the corresponding methods!
abstract void de.fraunhofer.isst.axbench.operations.checker.solver.variabilityvisitor.imp.AxlVariabilityVisitor.translateModel | ( | IAXLangElement | model | ) | throws SolverException [protected, pure virtual] |
Translates an aXLang model to a logical structure (kann noch refaktorisiert werden) reads/uses attributes: bddFactory creates/reads/writes attributes: modelBddVarSet.
model,: | zu übersetzendes Feature-Modell, ansonsten Exception |
Implemented in de.fraunhofer.isst.axbench.operations.checker.solver.variabilityvisitor.imp.AxlVariabilityVisitorApplicationModel, de.fraunhofer.isst.axbench.operations.checker.solver.variabilityvisitor.imp.AxlVariabilityVisitorF2AMapping, de.fraunhofer.isst.axbench.operations.checker.solver.variabilityvisitor.imp.AxlVariabilityVisitorFeatureConfiguration, and de.fraunhofer.isst.axbench.operations.checker.solver.variabilityvisitor.imp.AxlVariabilityVisitorFeatureModel.
Collection<TreeMap<IAXLangElement, BddConfigurationStatus> > de.fraunhofer.isst.axbench.operations.checker.solver.variabilityvisitor.imp.AxlVariabilityVisitor.validConfigurations | ( | ) |
Get the computed valid configurations as a collection.
TreeMap<IAXLangElement, AxlElementConfigurationStates> de.fraunhofer.isst.axbench.operations.checker.solver.variabilityvisitor.imp.AxlVariabilityVisitor.validConfigurationStates | ( | ) |
Get the computed valid configurations as a treemap ...
AxlFormula de.fraunhofer.isst.axbench.operations.checker.solver.variabilityvisitor.imp.AxlVariabilityVisitor.variabilityFormula | ( | ) |
Get the computed formula (AxlFormula) precondition: model was interpreted
Implements de.fraunhofer.isst.axbench.operations.checker.solver.variabilityvisitor.IAxlVariabilityVisitor.
AxlFormulaCollection de.fraunhofer.isst.axbench.operations.checker.solver.variabilityvisitor.imp.AxlVariabilityVisitor.variabilityFormulaCollection | ( | ) |
Get the computed formula (AxlFormula) as a collection precondition: model was interpreted
Implements de.fraunhofer.isst.axbench.operations.checker.solver.variabilityvisitor.IAxlVariabilityVisitor.
IVariabilitySolver de.fraunhofer.isst.axbench.operations.checker.solver.variabilityvisitor.imp.AxlVariabilityVisitor.varSolver | ( | ) |
String de.fraunhofer.isst.axbench.operations.checker.solver.variabilityvisitor.imp.AxlVariabilityVisitor.OUTPUTSUBFOLDER_STRING = "configurations" [static, protected] |
the name of the output subfolder for csv files
IAXLangElement de.fraunhofer.isst.axbench.operations.checker.solver.variabilityvisitor.imp.AxlVariabilityVisitor.theAxlModel [protected] |
String de.fraunhofer.isst.axbench.operations.checker.solver.variabilityvisitor.imp.AxlVariabilityVisitor.theFileName [protected] |
The name of the output file (without path and without file extension).
boolean de.fraunhofer.isst.axbench.operations.checker.solver.variabilityvisitor.imp.AxlVariabilityVisitor.theResultIsConsistent [protected] |
double de.fraunhofer.isst.axbench.operations.checker.solver.variabilityvisitor.imp.AxlVariabilityVisitor.theResultNodeCount [protected] |
AxlVariabilitySolverResultData de.fraunhofer.isst.axbench.operations.checker.solver.variabilityvisitor.imp.AxlVariabilityVisitor.theResults [protected] |
double de.fraunhofer.isst.axbench.operations.checker.solver.variabilityvisitor.imp.AxlVariabilityVisitor.theResultSatCount [protected] |
int de.fraunhofer.isst.axbench.operations.checker.solver.variabilityvisitor.imp.AxlVariabilityVisitor.theResultVarCount [protected] |
String de.fraunhofer.isst.axbench.operations.checker.solver.variabilityvisitor.imp.AxlVariabilityVisitor.theSpassExecutablePath = null [protected] |
Collection<TreeMap<IAXLangElement, BddConfigurationStatus> > de.fraunhofer.isst.axbench.operations.checker.solver.variabilityvisitor.imp.AxlVariabilityVisitor.theValidConfigurations [protected] |
AxlFormula de.fraunhofer.isst.axbench.operations.checker.solver.variabilityvisitor.imp.AxlVariabilityVisitor.theVarFormula [protected] |
AxlFormulaCollection de.fraunhofer.isst.axbench.operations.checker.solver.variabilityvisitor.imp.AxlVariabilityVisitor.theVarFormulaCollection [protected] |
VariabilitySolverImp de.fraunhofer.isst.axbench.operations.checker.solver.variabilityvisitor.imp.AxlVariabilityVisitor.theVarManager [protected] |