Class AbstractPropertyTransformer<T extends AbstractPropertyTransformer<T,L,AP>,L,AP>
- java.lang.Object
-
- net.automatalib.modelchecker.m3c.transformer.AbstractPropertyTransformer<T,L,AP>
-
- Type Parameters:
T- property transformer typeL- edge label typeAP- atomic proposition type
- Direct Known Subclasses:
ADDTransformer,BDDTransformer
public abstract class AbstractPropertyTransformer<T extends AbstractPropertyTransformer<T,L,AP>,L,AP> extends Object
Base class used to represent a property transformer, i.e., a function which maps a subset of formulas to a subset of formulas. Can also be seen as a function which maps bit vectors of length n to bit vectors of length n.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description abstract Tcompose(T other)Returns the compositionhofthisandothersuch thath(x) = this(other(x)).abstract TcreateUpdate(Set<AP> atomicPropositions, List<T> compositions, EquationalBlock<L,AP> currentBlock)Returns the updated property transformer of a node.abstract BitSetevaluate(boolean[] input)Returns the set of variable numbers of subformulas y with f(input)=y, where f is the property transformer represented bythis.booleanisMust()Returns whether the property transformer belongs to a node or to a must edge.
-
-
-
Method Detail
-
evaluate
public abstract BitSet evaluate(boolean[] input)
Returns the set of variable numbers of subformulas y with f(input)=y, where f is the property transformer represented bythis.- Parameters:
input- a boolean array representing a set of subformulas- Returns:
- the set of variable numbers of subformulas
-
compose
public abstract T compose(T other)
Returns the compositionhofthisandothersuch thath(x) = this(other(x)). TheisMustattribute of the composition is set to theisMustattribute ofthis.- Parameters:
other- function which is first applied to an input- Returns:
- the composition of
thisandother
-
createUpdate
public abstract T createUpdate(Set<AP> atomicPropositions, List<T> compositions, EquationalBlock<L,AP> currentBlock)
Returns the updated property transformer of a node.- 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
-
isMust
public boolean isMust()
Returns whether the property transformer belongs to a node or to a must edge.- Returns:
trueif the property transformer belongs to a node or to a must edge,falseotherwise
-
-