Public Member Functions | Protected Member Functions | Package Attributes | Private Member Functions | Private Attributes

de.fraunhofer.isst.axbench.operations.checker.solver.variabilitysolver.imp.BddSolverImp Class Reference

basic class for the variability representation of the different aXLang models and its solving. More...

List of all members.

Public Member Functions

void addToVariabilityFormula (Object formula) throws SolverException
void addToVariabilityFormula (AxlFormula formula)
void addToVariabilityFormula (IFormulaCollection formulaCollection) throws SolverException
void addToVariabilityFormula (AxlFormulaCollection formulaCollection)
void addToVariabilityFormula (BDD formula)
void addToVariabilityFormula (BddFormulaCollection formulaCollection)
AxlVarSetBdd axlVarSet ()
 BddSolverImp (BddManager manager)
 BddSolverImp (BddManager manager, AxlVarSetAxlFormula avs) throws SolverException
boolean checkFormula (AxlFormula formula) throws SolverException
boolean checkFormula (BDD model) throws SolverException
boolean checkFormula (Object formula) throws SolverException
 checks a BDD or AxlFormula for consistency
boolean checkFormula (IFormulaCollection formula) throws SolverException
boolean checkFormula (AxlFormulaCollection formula) throws SolverException
boolean checkVariabilityModel () throws SolverException
void cleanUp ()
Collection< TreeMap
< IAXLangElement,
BddConfigurationStatus > > 
computeValidConfigurations (Object formula) throws SolverException
 Compute all valid configurations of the model The results are stored in two attributes:

  • version1: Collection<TreeMap<IAXLangElement,BddConfigurationStatus>> theResultValidConfigurationsCollection
    • version2: TreeMap<IAXLangElement,AxlElementConfigurationStates> theResultValidConfigurationsElementStates
  • as well as in an extra data object: get them via the getTheResult() method.

Collection< TreeMap
< IAXLangElement,
BddConfigurationStatus > > 
computeValidConfigurations (IFormulaCollection formula) throws SolverException
Collection< TreeMap
< IAXLangElement,
BddConfigurationStatus > > 
computeValidConfigurations (AxlFormulaCollection formula) throws SolverException
Collection< TreeMap
< IAXLangElement,
BddConfigurationStatus > > 
computeValidConfigurations (AxlFormula formula) throws SolverException
Collection< TreeMap
< IAXLangElement,
BddConfigurationStatus > > 
computeValidConfigurations (BDD model) throws SolverException
BDD convertToBdd (AxlFormula formula)
TreeMap< IAXLangElement,
AxlElementConfigurationStates
getAxlElementsConfigurationStates ()
 get the valid configurations
double getNodeCount ()
int getNumberOfConfigurations ()
double getSatCount ()
Collection< TreeMap
< IAXLangElement,
BddConfigurationStatus > > 
getValidConfigurations ()
 get the valid configurations
int getVarCount ()
double nodeCount ()
int nodeNum ()
int pathCount ()
double satCount ()
void setAxlVarSet (AxlVarSetBdd avs)
void setAxlVarSet (IAxlVarSet avs) throws SolverException
void setVariabilityFormula (AxlFormula formula)
void setVariabilityFormula (BDD formula)
void setVariabilityFormula (AxlFormulaCollection formulaCollection)
void setVariabilityFormula (Object formula) throws SolverException
void setVariabilityFormula (BddFormulaCollection formulaCollection)
void setVariabilityFormula (IFormulaCollection formulaCollection) throws SolverException
BddManager theBddManager ()
BDD variabilityFormula ()
BddFormulaCollection variabilityFormulaCollection ()

Protected Member Functions

void clearAttributes ()
void clearResults ()

Package Attributes

double theResultNodeCount
int theResultNumberOfConfigurations
double theResultSatCount
Collection< TreeMap
< IAXLangElement,
BddConfigurationStatus > > 
theResultValidConfigurationsCollection
TreeMap< IAXLangElement,
AxlElementConfigurationStates
theResultValidConfigurationsElementStates
int theResultVarCount

Private Member Functions

void identifyDummyVariables (AxlVarSetAxlFormula avs)
 collect the BDD vars which are for dummy elements for later identification theAxlVarSet is already set

Private Attributes

AxlVarSetBdd theAxlVarSet
BddManager theBddManager
Collection< BDD > theDummyVariables
BDD theVariabilityFormula
BddFormulaCollection theVariabilityFormulaCollection

Detailed Description

basic class for the variability representation of the different aXLang models and its solving.

Author:
smann
Version:
0.9.0
Since:
0.9.0

Constructor & Destructor Documentation

de.fraunhofer.isst.axbench.operations.checker.solver.variabilitysolver.imp.BddSolverImp.BddSolverImp ( BddManager  manager  ) 
de.fraunhofer.isst.axbench.operations.checker.solver.variabilitysolver.imp.BddSolverImp.BddSolverImp ( BddManager  manager,
AxlVarSetAxlFormula  avs 
) throws SolverException

Member Function Documentation

void de.fraunhofer.isst.axbench.operations.checker.solver.variabilitysolver.imp.BddSolverImp.addToVariabilityFormula ( Object  formula  )  throws SolverException [virtual]
void de.fraunhofer.isst.axbench.operations.checker.solver.variabilitysolver.imp.BddSolverImp.addToVariabilityFormula ( AxlFormula  formula  )  [virtual]
void de.fraunhofer.isst.axbench.operations.checker.solver.variabilitysolver.imp.BddSolverImp.addToVariabilityFormula ( IFormulaCollection  formulaCollection  )  throws SolverException [virtual]
void de.fraunhofer.isst.axbench.operations.checker.solver.variabilitysolver.imp.BddSolverImp.addToVariabilityFormula ( AxlFormulaCollection  formulaCollection  )  [virtual]
void de.fraunhofer.isst.axbench.operations.checker.solver.variabilitysolver.imp.BddSolverImp.addToVariabilityFormula ( BDD  formula  ) 
void de.fraunhofer.isst.axbench.operations.checker.solver.variabilitysolver.imp.BddSolverImp.addToVariabilityFormula ( BddFormulaCollection  formulaCollection  ) 
AxlVarSetBdd de.fraunhofer.isst.axbench.operations.checker.solver.variabilitysolver.imp.BddSolverImp.axlVarSet (  )  [virtual]
boolean de.fraunhofer.isst.axbench.operations.checker.solver.variabilitysolver.imp.BddSolverImp.checkFormula ( AxlFormulaCollection  formula  )  throws SolverException [virtual]
boolean de.fraunhofer.isst.axbench.operations.checker.solver.variabilitysolver.imp.BddSolverImp.checkFormula ( AxlFormula  formula  )  throws SolverException [virtual]
boolean de.fraunhofer.isst.axbench.operations.checker.solver.variabilitysolver.imp.BddSolverImp.checkFormula ( BDD  model  )  throws SolverException
boolean de.fraunhofer.isst.axbench.operations.checker.solver.variabilitysolver.imp.BddSolverImp.checkFormula ( Object  formula  )  throws SolverException [virtual]

checks a BDD or AxlFormula for consistency

Parameters:
model,: a BDD to check
Returns:
the consistency status as boolean

Implements de.fraunhofer.isst.axbench.operations.checker.solver.variabilitysolver.VariabilitySolver.

boolean de.fraunhofer.isst.axbench.operations.checker.solver.variabilitysolver.imp.BddSolverImp.checkFormula ( IFormulaCollection  formula  )  throws SolverException [virtual]
boolean de.fraunhofer.isst.axbench.operations.checker.solver.variabilitysolver.imp.BddSolverImp.checkVariabilityModel (  )  throws SolverException
void de.fraunhofer.isst.axbench.operations.checker.solver.variabilitysolver.imp.BddSolverImp.cleanUp (  ) 
void de.fraunhofer.isst.axbench.operations.checker.solver.variabilitysolver.imp.BddSolverImp.clearAttributes (  )  [protected]
void de.fraunhofer.isst.axbench.operations.checker.solver.variabilitysolver.imp.BddSolverImp.clearResults (  )  [protected]
Collection<TreeMap<IAXLangElement, BddConfigurationStatus> > de.fraunhofer.isst.axbench.operations.checker.solver.variabilitysolver.imp.BddSolverImp.computeValidConfigurations ( BDD  model  )  throws SolverException
Collection<TreeMap<IAXLangElement, BddConfigurationStatus> > de.fraunhofer.isst.axbench.operations.checker.solver.variabilitysolver.imp.BddSolverImp.computeValidConfigurations ( Object  formula  )  throws SolverException

Compute all valid configurations of the model The results are stored in two attributes:

  • version1: Collection<TreeMap<IAXLangElement,BddConfigurationStatus>> theResultValidConfigurationsCollection
    • version2: TreeMap<IAXLangElement,AxlElementConfigurationStates> theResultValidConfigurationsElementStates
  • as well as in an extra data object: get them via the getTheResult() method.

Parameters:
model as BDD or AxlFormula
Returns:
collection of all valid configurations
Exceptions:
SolverException 
Collection<TreeMap<IAXLangElement, BddConfigurationStatus> > de.fraunhofer.isst.axbench.operations.checker.solver.variabilitysolver.imp.BddSolverImp.computeValidConfigurations ( IFormulaCollection  formula  )  throws SolverException
Collection<TreeMap<IAXLangElement, BddConfigurationStatus> > de.fraunhofer.isst.axbench.operations.checker.solver.variabilitysolver.imp.BddSolverImp.computeValidConfigurations ( AxlFormulaCollection  formula  )  throws SolverException
Collection<TreeMap<IAXLangElement, BddConfigurationStatus> > de.fraunhofer.isst.axbench.operations.checker.solver.variabilitysolver.imp.BddSolverImp.computeValidConfigurations ( AxlFormula  formula  )  throws SolverException
BDD de.fraunhofer.isst.axbench.operations.checker.solver.variabilitysolver.imp.BddSolverImp.convertToBdd ( AxlFormula  formula  ) 
TreeMap<IAXLangElement, AxlElementConfigurationStates> de.fraunhofer.isst.axbench.operations.checker.solver.variabilitysolver.imp.BddSolverImp.getAxlElementsConfigurationStates (  ) 

get the valid configurations

Returns:
collection; null if still not computed
double de.fraunhofer.isst.axbench.operations.checker.solver.variabilitysolver.imp.BddSolverImp.getNodeCount (  ) 
int de.fraunhofer.isst.axbench.operations.checker.solver.variabilitysolver.imp.BddSolverImp.getNumberOfConfigurations (  ) 
double de.fraunhofer.isst.axbench.operations.checker.solver.variabilitysolver.imp.BddSolverImp.getSatCount (  ) 
Collection<TreeMap<IAXLangElement, BddConfigurationStatus> > de.fraunhofer.isst.axbench.operations.checker.solver.variabilitysolver.imp.BddSolverImp.getValidConfigurations (  ) 

get the valid configurations

Returns:
collection; null if still not computed
int de.fraunhofer.isst.axbench.operations.checker.solver.variabilitysolver.imp.BddSolverImp.getVarCount (  ) 
void de.fraunhofer.isst.axbench.operations.checker.solver.variabilitysolver.imp.BddSolverImp.identifyDummyVariables ( AxlVarSetAxlFormula  avs  )  [private]

collect the BDD vars which are for dummy elements for later identification theAxlVarSet is already set

Parameters:
avs 
double de.fraunhofer.isst.axbench.operations.checker.solver.variabilitysolver.imp.BddSolverImp.nodeCount (  ) 
int de.fraunhofer.isst.axbench.operations.checker.solver.variabilitysolver.imp.BddSolverImp.nodeNum (  ) 
int de.fraunhofer.isst.axbench.operations.checker.solver.variabilitysolver.imp.BddSolverImp.pathCount (  ) 
double de.fraunhofer.isst.axbench.operations.checker.solver.variabilitysolver.imp.BddSolverImp.satCount (  ) 
void de.fraunhofer.isst.axbench.operations.checker.solver.variabilitysolver.imp.BddSolverImp.setAxlVarSet ( IAxlVarSet  avs  )  throws SolverException [virtual]
void de.fraunhofer.isst.axbench.operations.checker.solver.variabilitysolver.imp.BddSolverImp.setAxlVarSet ( AxlVarSetBdd  avs  ) 
void de.fraunhofer.isst.axbench.operations.checker.solver.variabilitysolver.imp.BddSolverImp.setVariabilityFormula ( AxlFormulaCollection  formulaCollection  )  [virtual]
void de.fraunhofer.isst.axbench.operations.checker.solver.variabilitysolver.imp.BddSolverImp.setVariabilityFormula ( BddFormulaCollection  formulaCollection  ) 
void de.fraunhofer.isst.axbench.operations.checker.solver.variabilitysolver.imp.BddSolverImp.setVariabilityFormula ( BDD  formula  ) 
void de.fraunhofer.isst.axbench.operations.checker.solver.variabilitysolver.imp.BddSolverImp.setVariabilityFormula ( Object  formula  )  throws SolverException [virtual]
void de.fraunhofer.isst.axbench.operations.checker.solver.variabilitysolver.imp.BddSolverImp.setVariabilityFormula ( AxlFormula  formula  )  [virtual]
void de.fraunhofer.isst.axbench.operations.checker.solver.variabilitysolver.imp.BddSolverImp.setVariabilityFormula ( IFormulaCollection  formulaCollection  )  throws SolverException [virtual]
BDD de.fraunhofer.isst.axbench.operations.checker.solver.variabilitysolver.imp.BddSolverImp.variabilityFormula (  ) 
BddFormulaCollection de.fraunhofer.isst.axbench.operations.checker.solver.variabilitysolver.imp.BddSolverImp.variabilityFormulaCollection (  )  [virtual]

Member Data Documentation