Class ADDSolver<L,AP>
- java.lang.Object
-
- net.automatalib.modelchecker.m3c.solver.ADDSolver<L,AP>
-
- Type Parameters:
L- edge label typeAP- atomic proposition type
- All Implemented Interfaces:
ModelChecker<L,ContextFreeModalProcessSystem<L,AP>,FormulaNode<L,AP>,WitnessTree<L,AP>>
- Direct Known Subclasses:
StringADDSolver,TypedADDSolver
public class ADDSolver<L,AP> extends Object
Implementation based on property transformers being represented by ADDs (Algebraic Decision Diagrams).
-
-
Constructor Summary
Constructors Constructor Description ADDSolver(ContextFreeModalProcessSystem<L,AP> cfmps)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected <TP extends ModalEdgeProperty>
ADDTransformer<L,AP>createInitTransformerEdge(DependencyGraph<L,AP> dependencyGraph, L edgeLabel, TP edgeProperty)protected ADDTransformer<L,AP>createInitTransformerEndNode(DependencyGraph<L,AP> dependencyGraph)protected ADDTransformer<L,AP>createInitTransformerNode(DependencyGraph<L,AP> dependencyGraph)@Nullable WitnessTree<L,AP>findCounterExample(ContextFreeModalProcessSystem<L,AP> cfmps, Collection<? extends L> inputs, FormulaNode<L,AP> formulaNode)protected TransformerSerializer<ADDTransformer<L,AP>,L,AP>getSerializer()protected voidinitDDManager(DependencyGraph<L,AP> dependencyGraph)protected voidshutdownDDManager()booleansolve(FormulaNode<L,AP> formula)SolverHistory<T,L,AP>solveAndRecordHistory(FormulaNode<L,AP> formula)
-
-
-
Constructor Detail
-
ADDSolver
public ADDSolver(ContextFreeModalProcessSystem<L,AP> cfmps)
-
-
Method Detail
-
initDDManager
protected void initDDManager(DependencyGraph<L,AP> dependencyGraph)
-
createInitTransformerEndNode
protected ADDTransformer<L,AP> createInitTransformerEndNode(DependencyGraph<L,AP> dependencyGraph)
-
createInitTransformerNode
protected ADDTransformer<L,AP> createInitTransformerNode(DependencyGraph<L,AP> dependencyGraph)
-
createInitTransformerEdge
protected <TP extends ModalEdgeProperty> ADDTransformer<L,AP> createInitTransformerEdge(DependencyGraph<L,AP> dependencyGraph, L edgeLabel, TP edgeProperty)
-
shutdownDDManager
protected void shutdownDDManager()
-
getSerializer
protected TransformerSerializer<ADDTransformer<L,AP>,L,AP> getSerializer()
-
findCounterExample
public @Nullable WitnessTree<L,AP> findCounterExample(ContextFreeModalProcessSystem<L,AP> cfmps, Collection<? extends L> inputs, FormulaNode<L,AP> formulaNode)
- Specified by:
findCounterExamplein interfaceModelChecker<L,ContextFreeModalProcessSystem<L,AP>,FormulaNode<L,AP>,WitnessTree<L,AP>>
-
solve
public boolean solve(FormulaNode<L,AP> formula)
-
solveAndRecordHistory
public SolverHistory<T,L,AP> solveAndRecordHistory(FormulaNode<L,AP> formula)
-
-