Class ADDTransformer<L,AP>
java.lang.Object
net.automatalib.modelchecker.m3c.transformer.AbstractPropertyTransformer<ADDTransformer<L,AP>,L,AP>
net.automatalib.modelchecker.m3c.transformer.ADDTransformer<L,AP>
- Type Parameters:
L- edge label typeAP- atomic proposition type
An ADDTransformer represents a property transformer for a single ADD (Algebraic Decision Diagram).
-
Constructor Summary
ConstructorsConstructorDescriptionADDTransformer(XDDManager<BooleanVector> ddManager) Creates the identity function.ADDTransformer(XDDManager<BooleanVector> xddManager, L edgeLabel, TP edgeProperty, DependencyGraph<L, AP> dependGraph) Constructor used to create the property transformer for an edge.ADDTransformer(XDDManager<BooleanVector> xddManager, DependencyGraph<L, AP> dependGraph) Constructor used to initialize the property transformer of a node. -
Method Summary
Modifier and TypeMethodDescriptioncompose(ADDTransformer<L, AP> other) Returns the compositionhofthisandothersuch thath(x) = this(other(x)).createUpdate(Set<AP> atomicPropositions, List<ADDTransformer<L, AP>> compositions, EquationalBlock<L, AP> currentBlock) Returns the updated property transformer of a node.booleanevaluate(boolean[] input) Returns the set of variable numbers of subformulas y with f(input)=y, where f is the property transformer represented bythis.getAdd()Returns the ADD which represents the property transformer.inthashCode()booleanReturns whether the property transformer is the identity function.Methods inherited from class net.automatalib.modelchecker.m3c.transformer.AbstractPropertyTransformer
isMust
-
Constructor Details
-
ADDTransformer
Constructor used to initialize the property transformer of a node.- Parameters:
xddManager- used to create the ADDdependGraph- of the formula that is currently being solved
-
ADDTransformer
Creates the identity function. This sets the internalADDtonullto avoid the construction of the ADD, which is very expensive. To prevent null-pointer exceptions when usinggetAdd(), it can be checked withisIdentity().- Parameters:
ddManager- used to create the ADD
-
ADDTransformer
public ADDTransformer(XDDManager<BooleanVector> xddManager, L edgeLabel, TP edgeProperty, DependencyGraph<L, AP> dependGraph) Constructor used to create the property transformer for an edge.- Type Parameters:
TP- edge property type- Parameters:
xddManager- used to create the ADDedgeLabel- of the edgeedgeProperty- of the edgedependGraph- of the formula that is currently being solved
-
-
Method Details
-
evaluate
Description copied from class:AbstractPropertyTransformerReturns the set of variable numbers of subformulas y with f(input)=y, where f is the property transformer represented bythis.- Specified by:
evaluatein classAbstractPropertyTransformer<ADDTransformer<L,AP>, L, AP> - Parameters:
input- a boolean array representing a set of subformulas- Returns:
- the set of variable numbers of subformulas
-
compose
Description copied from class:AbstractPropertyTransformerReturns the compositionhofthisandothersuch thath(x) = this(other(x)). TheisMustattribute of the composition is set to theisMustattribute ofthis.- Specified by:
composein classAbstractPropertyTransformer<ADDTransformer<L,AP>, L, AP> - Parameters:
other- function which is first applied to an input- Returns:
- the composition of
thisandother
-
createUpdate
public ADDTransformer<L,AP> createUpdate(Set<AP> atomicPropositions, List<ADDTransformer<L, AP>> compositions, EquationalBlock<L, AP> currentBlock) Description copied from class:AbstractPropertyTransformerReturns the updated property transformer of a node.- Specified by:
createUpdatein classAbstractPropertyTransformer<ADDTransformer<L,AP>, L, AP> - Parameters:
atomicPropositions- of the nodecompositions- of the property transformers belonging to the outgoing edges and their target nodescurrentBlock- the block which is considered during this update- Returns:
- the updated property transformer of a node
-
getAdd
Returns the ADD which represents the property transformer.- Returns:
- the ADD which represents the property transformer or
nullif the property transformer is the identity function
-
isIdentity
Returns whether the property transformer is the identity function.- Returns:
trueif the property transformer is the identity function,falseotherwise
-
hashCode
public int hashCode() -
equals
-