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 void
initDDManager(DependencyGraph<L,AP> dependencyGraph)
protected void
shutdownDDManager()
boolean
solve(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:
findCounterExample
in 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)
-
-