Public Member Functions | Static Public Member Functions | Public Attributes | Protected Member Functions | Protected Attributes | Static Protected Attributes

de.fraunhofer.isst.axbench.operations.checker.solver.variabilityvisitor.imp.AxlVariabilityVisitor Class Reference

List of all members.

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

Constructor & Destructor Documentation

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

Member Function Documentation

IAXLangElement de.fraunhofer.isst.axbench.operations.checker.solver.variabilityvisitor.imp.AxlVariabilityVisitor.axlModel (  ) 
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]
boolean de.fraunhofer.isst.axbench.operations.checker.solver.variabilityvisitor.imp.AxlVariabilityVisitor.checkConsistencyIteratively (  )  throws SolverException
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]
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]
abstract void de.fraunhofer.isst.axbench.operations.checker.solver.variabilityvisitor.imp.AxlVariabilityVisitor.computeValidConfigurations (  )  throws SolverException [pure virtual]
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]
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.

Returns:
data object or null
void de.fraunhofer.isst.axbench.operations.checker.solver.variabilityvisitor.imp.AxlVariabilityVisitor.interpret (  )  throws SolverException
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)".

Parameters:
model 
Exceptions:
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.

Todo:

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!

Todo:
store results if SPASS is used //TODO
abstract void de.fraunhofer.isst.axbench.operations.checker.solver.variabilityvisitor.imp.AxlVariabilityVisitor.translateModel ( IAXLangElement  model  )  throws SolverException [protected, pure virtual]
Collection<TreeMap<IAXLangElement, BddConfigurationStatus> > de.fraunhofer.isst.axbench.operations.checker.solver.variabilityvisitor.imp.AxlVariabilityVisitor.validConfigurations (  ) 

Get the computed valid configurations as a collection.

Returns:
collection or null if it was not computed yet
TreeMap<IAXLangElement, AxlElementConfigurationStates> de.fraunhofer.isst.axbench.operations.checker.solver.variabilityvisitor.imp.AxlVariabilityVisitor.validConfigurationStates (  ) 

Get the computed valid configurations as a treemap ...

Returns:
collection or null if it was not computed yet
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 (  ) 

Member Data Documentation

the name of the output subfolder for csv files

The name of the output file (without path and without file extension).