Public Member Functions | Protected Member Functions | Private Attributes

de.fraunhofer.isst.axbench.operations.checker.solver.variabilityvisitor.impold.AxlBddVisitorF2AMapping Class Reference

Implementation of abstract class BDDModel for AXLang feature2application mapppings. More...

List of all members.

Public Member Functions

 AxlBddVisitorF2AMapping (BddSolverImp bddSolver) throws SolverException
 Constructor.
boolean checkConsistency (int mode) throws SolverException
 fires the consistency checking of a configuration to an *already translated feature model*.
boolean checkConsistency () throws SolverException
 fires the consistency checking of a configuration to an *already translated feature model*.
BDD getBddConfiguredAxlangModel ()
BDD getBddUnconfiguredAxlangModel ()
void setAxlBddVisitorApplicationModel (AxlBddVisitorApplicationModel visitorApplicationModel) throws SolverException
 assigns the configuration to the corresponding application model (in form of AxlBddVisitorApplicationModel)
void setAxlBddVisitorFeatureModel (AxlBddVisitorFeatureModel visitorFeatureModel) throws SolverException
 assigns the corresponding feature model (in form of AxlBddVisitorFeatureModel)
void setBddFeatureModelFeatureConfiguration (AxlBddVisitorFeatureConfiguration featureModelFeatureConfiguration) throws SolverException
 assigns a configuration to the corresponding feature model (in form of AxlBddVisitorFeatureModel)

Protected Member Functions

void checkPreconditionOfSetAxlModel (IAXLangElement model) throws SolverException
boolean hasNoChildren (IAXLangElement parent) throws SolverException
 Hook-Methode für translateIAXLangElementAtomic(): überprüft, ob ein IAXLAngElement keine relevanten Kinder hat.
BDD translateF2XLink (Feature2ArchitectureLink f2xLink) throws SolverException
BDD translateMappingModel (AbstractF2ArchitectureMapping f2aMappingModel) throws SolverException
 Translating a configuration to a corresponding BDD Precondition: corresponding feature model has been already translated into a BDD, i.e. class attribute modelBddVarSet has been already built and contains the configured features reads/uses attributes: modelBddVarSet, bddFactory.
BDD translateModel (IAXLangElement model) throws SolverException
 Translates an aXLang configuration model to a BDD structure (kann noch refaktorisiert werden) reads/uses attributes: bddFactory creates/reads/writes attributes: modelBddVarSet.

Private Attributes

AxlVarSetBdd theAxlApplicationModelBddVarSet
AxlVarSetBdd theAxlFeatureModelBddVarSet
BDD theConfiguredAxlangModelBdd
AxlBddVisitorFeatureConfiguration theFeatureModelFeatureConfiguration
BDD theUnconfiguredAxlangModelBdd
AxlBddVisitorApplicationModel theVisitorApplicationModel
AxlBddVisitorFeatureModel theVisitorFeatureModel

Detailed Description

Implementation of abstract class BDDModel for AXLang feature2application mapppings.

Author:
smann
Version:
0.9.0
Since:
0.9.0

Constructor & Destructor Documentation

de.fraunhofer.isst.axbench.operations.checker.solver.variabilityvisitor.impold.AxlBddVisitorF2AMapping.AxlBddVisitorF2AMapping ( BddSolverImp  bddSolver  )  throws SolverException

Constructor.

Parameters:
bddSolver 
Exceptions:
SolverException 

Member Function Documentation

boolean de.fraunhofer.isst.axbench.operations.checker.solver.variabilityvisitor.impold.AxlBddVisitorF2AMapping.checkConsistency (  )  throws SolverException [virtual]

fires the consistency checking of a configuration to an *already translated feature model*.

Parameters:
@return the result of the check the models are already set!

Implements de.fraunhofer.isst.axbench.operations.checker.solver.variabilityvisitor.impold.AxlBddVisitor.

boolean de.fraunhofer.isst.axbench.operations.checker.solver.variabilityvisitor.impold.AxlBddVisitorF2AMapping.checkConsistency ( int  mode  )  throws SolverException

fires the consistency checking of a configuration to an *already translated feature model*.

Parameters:
mode 0 ... translate & check alone 1 ... already translated and check together with femo & appmo 2 ... as 1 but check additionally together with feature model configuration
Returns:
the result of the check the models are already set!

DRAFT implementation //TODO

void de.fraunhofer.isst.axbench.operations.checker.solver.variabilityvisitor.impold.AxlBddVisitorF2AMapping.checkPreconditionOfSetAxlModel ( IAXLangElement  model  )  throws SolverException [protected, virtual]

Implementation of the precondition check for setModel() method (a hook method)

Parameters:
model,: a f2a mapping
Exceptions:
SolverException 

Implements de.fraunhofer.isst.axbench.operations.checker.solver.variabilityvisitor.impold.AxlBddVisitor.

BDD de.fraunhofer.isst.axbench.operations.checker.solver.variabilityvisitor.impold.AxlBddVisitorF2AMapping.getBddConfiguredAxlangModel (  ) 
BDD de.fraunhofer.isst.axbench.operations.checker.solver.variabilityvisitor.impold.AxlBddVisitorF2AMapping.getBddUnconfiguredAxlangModel (  ) 
boolean de.fraunhofer.isst.axbench.operations.checker.solver.variabilityvisitor.impold.AxlBddVisitorF2AMapping.hasNoChildren ( IAXLangElement  parent  )  throws SolverException [protected, virtual]

Hook-Methode für translateIAXLangElementAtomic(): überprüft, ob ein IAXLAngElement keine relevanten Kinder hat.

Implements de.fraunhofer.isst.axbench.operations.checker.solver.variabilityvisitor.impold.AxlBddVisitor.

void de.fraunhofer.isst.axbench.operations.checker.solver.variabilityvisitor.impold.AxlBddVisitorF2AMapping.setAxlBddVisitorApplicationModel ( AxlBddVisitorApplicationModel  visitorApplicationModel  )  throws SolverException

assigns the configuration to the corresponding application model (in form of AxlBddVisitorApplicationModel)

Parameters:
visitorApplicationModel 
Exceptions:
SolverException 
void de.fraunhofer.isst.axbench.operations.checker.solver.variabilityvisitor.impold.AxlBddVisitorF2AMapping.setAxlBddVisitorFeatureModel ( AxlBddVisitorFeatureModel  visitorFeatureModel  )  throws SolverException

assigns the corresponding feature model (in form of AxlBddVisitorFeatureModel)

Parameters:
theVisitorFeatureModel 
Exceptions:
SolverException 
void de.fraunhofer.isst.axbench.operations.checker.solver.variabilityvisitor.impold.AxlBddVisitorF2AMapping.setBddFeatureModelFeatureConfiguration ( AxlBddVisitorFeatureConfiguration  featureModelFeatureConfiguration  )  throws SolverException

assigns a configuration to the corresponding feature model (in form of AxlBddVisitorFeatureModel)

Parameters:
featureModelFeatureConfiguration AxlBddVisitorFeatureModel and AxlBddVisitorApplicationModel already set and consistent
Exceptions:
SolverException 
BDD de.fraunhofer.isst.axbench.operations.checker.solver.variabilityvisitor.impold.AxlBddVisitorF2AMapping.translateF2XLink ( Feature2ArchitectureLink  f2xLink  )  throws SolverException [protected]
BDD de.fraunhofer.isst.axbench.operations.checker.solver.variabilityvisitor.impold.AxlBddVisitorF2AMapping.translateMappingModel ( AbstractF2ArchitectureMapping  f2aMappingModel  )  throws SolverException [protected]

Translating a configuration to a corresponding BDD Precondition: corresponding feature model has been already translated into a BDD, i.e. class attribute modelBddVarSet has been already built and contains the configured features reads/uses attributes: modelBddVarSet, bddFactory.

precondition: corresponding feature model has been already translated to the BDD, i.e. feaModelBddVarSet is created and not empty.

Parameters:
model,: the configuration to a feature model
Returns:
a BDD of the configuration; a true BDD if configuration is empty
BDD de.fraunhofer.isst.axbench.operations.checker.solver.variabilityvisitor.impold.AxlBddVisitorF2AMapping.translateModel ( IAXLangElement  model  )  throws SolverException [protected, virtual]

Translates an aXLang configuration model to a BDD structure (kann noch refaktorisiert werden) reads/uses attributes: bddFactory creates/reads/writes attributes: modelBddVarSet.

Parameters:
model,: zu übersetzendes Konfigurationsmodell, ansonsten Exception

Implements de.fraunhofer.isst.axbench.operations.checker.solver.variabilityvisitor.impold.AxlBddVisitor.


Member Data Documentation