Modifier and Type | Method and Description |
---|---|
static <S,I,O> Optional<ADTNode<S,I,O>> |
DefensiveADS.compute(net.automatalib.automata.transout.MealyMachine<S,I,?,O> automaton,
net.automatalib.words.Alphabet<I> alphabet,
Set<S> states,
PartialTransitionAnalyzer<S,I> pta)
Compute an adaptive distinguishing sequence (as an ADT) for the given automaton and the given set of states.
|
Modifier and Type | Class and Description |
---|---|
class |
ADTLeafNode<S,I,O>
Leaf node implementation.
|
class |
ADTResetNode<S,I,O>
Reset node implementation.
|
class |
ADTSymbolNode<S,I,O>
Symbol node implementation.
|
Modifier and Type | Field and Description |
---|---|
ADTNode<S,I,O> |
ADT.LCAInfo.adtNode |
Modifier and Type | Method and Description |
---|---|
ADTNode<S,I,O> |
ADT.extendLeaf(ADTNode<S,I,O> nodeToSplit,
net.automatalib.words.Word<I> distinguishingSuffix,
net.automatalib.words.Word<O> oldOutput,
net.automatalib.words.Word<O> newOutput)
Splitting a leaf node by extending the trace leading into the node to split.
|
ADTNode<S,I,O> |
ADTResetNode.getParent() |
ADTNode<S,I,O> |
ADT.getRoot()
Returns the root node of this ADT.
|
ADTNode<S,I,O> |
ADTLeafNode.sift(SymbolQueryOracle<I,O> oracle,
net.automatalib.words.Word<I> prefix) |
ADTNode<S,I,O> |
ADTNode.sift(SymbolQueryOracle<I,O> oracle,
net.automatalib.words.Word<I> prefix)
Utility method, that sifts a given word through
this ADTNode. |
ADTNode<S,I,O> |
ADTResetNode.sift(SymbolQueryOracle<I,O> oracle,
net.automatalib.words.Word<I> prefix) |
ADTNode<S,I,O> |
ADTSymbolNode.sift(SymbolQueryOracle<I,O> oracle,
net.automatalib.words.Word<I> prefix) |
ADTNode<S,I,O> |
ADT.sift(SymbolQueryOracle<I,O> oracle,
net.automatalib.words.Word<I> word,
ADTNode<S,I,O> subtree)
Successively sifts a word through the ADT induced by the given node.
|
ADTNode<S,I,O> |
ADT.splitLeaf(ADTNode<S,I,O> nodeToSplit,
net.automatalib.words.Word<I> distinguishingSuffix,
net.automatalib.words.Word<O> oldOutput,
net.automatalib.words.Word<O> newOutput)
Splits a leaf node using the local
LeafSplitter . |
Modifier and Type | Method and Description |
---|---|
Map<O,ADTNode<S,I,O>> |
ADTResetNode.getChildren() |
default Collection<ADTNode<S,I,O>> |
ADTNode.getNodes() |
default net.automatalib.visualization.VisualizationHelper<ADTNode<S,I,O>,ADTNode<S,I,O>> |
ADTNode.getVisualizationHelper() |
default net.automatalib.visualization.VisualizationHelper<ADTNode<S,I,O>,ADTNode<S,I,O>> |
ADTNode.getVisualizationHelper() |
Modifier and Type | Method and Description |
---|---|
ADTNode<S,I,O> |
ADT.extendLeaf(ADTNode<S,I,O> nodeToSplit,
net.automatalib.words.Word<I> distinguishingSuffix,
net.automatalib.words.Word<O> oldOutput,
net.automatalib.words.Word<O> newOutput)
Splitting a leaf node by extending the trace leading into the node to split.
|
ADT.LCAInfo<S,I,O> |
ADT.findLCA(ADTNode<S,I,O> s1,
ADTNode<S,I,O> s2)
Return the lowest common ancestor for the given two nodes.
|
ADT.LCAInfo<S,I,O> |
ADT.findLCA(ADTNode<S,I,O> s1,
ADTNode<S,I,O> s2)
Return the lowest common ancestor for the given two nodes.
|
void |
ADT.replaceNode(ADTNode<S,I,O> oldNode,
ADTNode<S,I,O> newNode)
Replaces an existing node in the tree with a new one and updates the references of parent/child nodes
accordingly.
|
void |
ADT.replaceNode(ADTNode<S,I,O> oldNode,
ADTNode<S,I,O> newNode)
Replaces an existing node in the tree with a new one and updates the references of parent/child nodes
accordingly.
|
void |
ADTResetNode.setParent(ADTNode<S,I,O> parent) |
ADTNode<S,I,O> |
ADT.sift(SymbolQueryOracle<I,O> oracle,
net.automatalib.words.Word<I> word,
ADTNode<S,I,O> subtree)
Successively sifts a word through the ADT induced by the given node.
|
ADTNode<S,I,O> |
ADT.splitLeaf(ADTNode<S,I,O> nodeToSplit,
net.automatalib.words.Word<I> distinguishingSuffix,
net.automatalib.words.Word<O> oldOutput,
net.automatalib.words.Word<O> newOutput)
Splits a leaf node using the local
LeafSplitter . |
Constructor and Description |
---|
ADTLeafNode(ADTNode<S,I,O> parent,
S hypothesisState) |
ADTResetNode(ADTNode<S,I,O> successor) |
ADTSymbolNode(ADTNode<S,I,O> parent,
I symbol) |
Modifier and Type | Method and Description |
---|---|
<S,I,O> ADTNode<S,I,O> |
LeafSplitter.split(ADTNode<S,I,O> nodeToSplit,
net.automatalib.words.Word<I> distinguishingSuffix,
net.automatalib.words.Word<O> oldOutput,
net.automatalib.words.Word<O> newOutput)
Split the specified node to correctly distinguish between the old and new hypothesis state.
|
Modifier and Type | Method and Description |
---|---|
<I,O> ExtensionResult<ADTState<I,O>,I,O> |
ADTExtender.computeExtension(ADTHypothesis<I,O> hypothesis,
PartialTransitionAnalyzer<ADTState<I,O>,I> pta,
ADTNode<ADTState<I,O>,I,O> temporarySplitter)
Compute the ADT whose root node should replace the root of the temporary splitter in the current ADT.
|
<S,I,O> ADTNode<S,I,O> |
LeafSplitter.split(ADTNode<S,I,O> nodeToSplit,
net.automatalib.words.Word<I> distinguishingSuffix,
net.automatalib.words.Word<O> oldOutput,
net.automatalib.words.Word<O> newOutput)
Split the specified node to correctly distinguish between the old and new hypothesis state.
|
Modifier and Type | Method and Description |
---|---|
ADTNode<ADTState<I,O>,I,O> |
ADTTransition.getSiftNode() |
Modifier and Type | Method and Description |
---|---|
ADTTransition<I,O> |
ADTHypothesis.createOpenTransition(ADTState<I,O> source,
I input,
ADTNode<ADTState<I,O>,I,O> siftTarget) |
void |
ADTTransition.setSiftNode(ADTNode<ADTState<I,O>,I,O> siftNode) |
Modifier and Type | Method and Description |
---|---|
static <S,I,O> ADTNode<S,I,O> |
LeafSplitters.splitParent(ADTNode<S,I,O> nodeToSplit,
net.automatalib.words.Word<I> distinguishingSuffix,
net.automatalib.words.Word<O> oldOutput,
net.automatalib.words.Word<O> newOutput) |
Modifier and Type | Method and Description |
---|---|
static <S,I,O> ADTNode<S,I,O> |
LeafSplitters.splitParent(ADTNode<S,I,O> nodeToSplit,
net.automatalib.words.Word<I> distinguishingSuffix,
net.automatalib.words.Word<O> oldOutput,
net.automatalib.words.Word<O> newOutput) |
Modifier and Type | Method and Description |
---|---|
<S,I,O> Optional<ADTNode<S,I,O>> |
ADSCalculator.compute(net.automatalib.automata.transout.MealyMachine<S,I,?,O> hypothesis,
net.automatalib.words.Alphabet<I> alphabet,
Set<S> targets) |
<S,I,O> Optional<ADTNode<S,I,O>> |
DefensiveADSCalculator.compute(net.automatalib.automata.transout.MealyMachine<S,I,?,O> automaton,
net.automatalib.words.Alphabet<I> alphabet,
Set<S> states,
PartialTransitionAnalyzer<S,I> partialTransitionAnalyzer) |
Modifier and Type | Method and Description |
---|---|
<S,I,O> Optional<ADTNode<S,I,O>> |
AbstractCalculator.compute(net.automatalib.automata.transout.MealyMachine<S,I,?,O> hypothesis,
net.automatalib.words.Alphabet<I> alphabet,
Set<S> targets) |
<S,I,O> Optional<ADTNode<S,I,O>> |
BestEffortDefensiveCalculator.compute(net.automatalib.automata.transout.MealyMachine<S,I,?,O> automaton,
net.automatalib.words.Alphabet<I> alphabet,
Set<S> states,
PartialTransitionAnalyzer<S,I> partialTransitionAnalyzer) |
Modifier and Type | Method and Description |
---|---|
<I,O> ExtensionResult<ADTState<I,O>,I,O> |
DefaultExtender.computeExtension(ADTHypothesis<I,O> hypothesis,
PartialTransitionAnalyzer<ADTState<I,O>,I> partialTransitionAnalyzer,
ADTNode<ADTState<I,O>,I,O> ads) |
Modifier and Type | Method and Description |
---|---|
ADTNode<S,I,O> |
ReplacementResult.getNodeToReplace()
The
ADT subtree (root-node) that should be replaced. |
ADTNode<S,I,O> |
ExtensionResult.getReplacement()
Return the proposed replacement.
|
ADTNode<S,I,O> |
ReplacementResult.getReplacement()
The
ADT subtree (root-node) that forms the replacement. |
Modifier and Type | Method and Description |
---|---|
void |
ObservationTree.addTrace(S state,
ADTNode<S,I,O> adtNode)
|
Constructor and Description |
---|
ExtensionResult(ADTNode<S,I,O> ext) |
ReplacementResult(ADTNode<S,I,O> nodeToReplace,
ADTNode<S,I,O> replacement) |
ReplacementResult(ADTNode<S,I,O> nodeToReplace,
ADTNode<S,I,O> replacement) |
ReplacementResult(ADTNode<S,I,O> nodeToReplace,
ADTNode<S,I,O> replacement,
Set<S> cutoutNodes) |
ReplacementResult(ADTNode<S,I,O> nodeToReplace,
ADTNode<S,I,O> replacement,
Set<S> cutoutNodes) |
Modifier and Type | Method and Description |
---|---|
static <S,I,O> ADTNode<S,I,O> |
ADTUtil.buildADSFromObservation(net.automatalib.words.Word<I> input,
net.automatalib.words.Word<O> output,
S finalState)
Build a single trace ADS from the given information.
|
static <S,I,O> ADTNode<S,I,O> |
ADTUtil.buildFromADS(net.automatalib.graphs.ads.ADSNode<S,I,O> node)
Utility method that wraps a ADS of type
ADSNode into the equivalent ADS of type ADTNode . |
static <S,I,O> ADTNode<S,I,O> |
ADTUtil.getStartOfADS(ADTNode<S,I,O> node) |
Modifier and Type | Method and Description |
---|---|
static <S,I,O> net.automatalib.commons.util.Pair<ADTNode<S,I,O>,ADTNode<S,I,O>> |
ADTUtil.buildADSFromTrace(net.automatalib.automata.transout.MealyMachine<S,I,?,O> automaton,
net.automatalib.words.Word<I> trace,
S state) |
static <S,I,O> net.automatalib.commons.util.Pair<ADTNode<S,I,O>,ADTNode<S,I,O>> |
ADTUtil.buildADSFromTrace(net.automatalib.automata.transout.MealyMachine<S,I,?,O> automaton,
net.automatalib.words.Word<I> trace,
S state) |
static <S,I,O> Set<ADTNode<S,I,O>> |
ADTUtil.collectADSNodes(ADTNode<S,I,O> root) |
static <S,I,O> Set<ADTNode<S,I,O>> |
ADTUtil.collectDirectSubADSs(ADTNode<S,I,O> node) |
static <S,I,O> Set<ADTNode<S,I,O>> |
ADTUtil.collectLeaves(ADTNode<S,I,O> root) |
static <S,I,O> Set<ADTNode<S,I,O>> |
ADTUtil.collectResetNodes(ADTNode<S,I,O> root) |
Modifier and Type | Method and Description |
---|---|
static <S,I,O> net.automatalib.commons.util.Pair<net.automatalib.words.Word<I>,net.automatalib.words.Word<O>> |
ADTUtil.buildTraceForNode(ADTNode<S,I,O> node) |
static <S,I,O> Set<ADTNode<S,I,O>> |
ADTUtil.collectADSNodes(ADTNode<S,I,O> root) |
static <S,I,O> Set<ADTNode<S,I,O>> |
ADTUtil.collectDirectSubADSs(ADTNode<S,I,O> node) |
static <S,I,O> Set<ADTNode<S,I,O>> |
ADTUtil.collectLeaves(ADTNode<S,I,O> root) |
static <S,I,O> Set<ADTNode<S,I,O>> |
ADTUtil.collectResetNodes(ADTNode<S,I,O> root) |
static <S,I,O> int |
ADTUtil.computeEffectiveResets(ADTNode<S,I,O> adt)
Computes how often reset nodes are encountered when traversing from the given node to the leaves of the induced
subtree of the given node.
|
static <S,I,O> O |
ADTUtil.getOutputForSuccessor(ADTNode<S,I,O> node,
ADTNode<S,I,O> successor) |
static <S,I,O> O |
ADTUtil.getOutputForSuccessor(ADTNode<S,I,O> node,
ADTNode<S,I,O> successor) |
static <S,I,O> ADTNode<S,I,O> |
ADTUtil.getStartOfADS(ADTNode<S,I,O> node) |
static <S,I,O> boolean |
ADTUtil.isLeafNode(ADTNode<S,I,O> node) |
static <S,I,O> boolean |
ADTUtil.isResetNode(ADTNode<S,I,O> node) |
static <S,I,O> boolean |
ADTUtil.isSymbolNode(ADTNode<S,I,O> node) |
static <S,I,O> boolean |
ADTUtil.mergeADS(ADTNode<S,I,O> parent,
ADTNode<S,I,O> child)
Tries to merge the given (single trace) ADSs (which only contains one leaf) into the given parent ADSs.
|
static <S,I,O> boolean |
ADTUtil.mergeADS(ADTNode<S,I,O> parent,
ADTNode<S,I,O> child)
Tries to merge the given (single trace) ADSs (which only contains one leaf) into the given parent ADSs.
|
Copyright © 2018. All rights reserved.