I - input symbol classO - output symbol classpublic class IncrementalMealyBuilder<I,O> extends AbstractDeterministicAutomaton<net.automatalib.incremental.mealy.State,I,net.automatalib.incremental.mealy.TransitionRecord> implements TransitionOutput<net.automatalib.incremental.mealy.TransitionRecord,O>, UniversalGraph<net.automatalib.incremental.mealy.State,net.automatalib.incremental.mealy.TransitionRecord,Void,Pair<I,O>>, DOTPlottableGraph<net.automatalib.incremental.mealy.State,net.automatalib.incremental.mealy.TransitionRecord>, IncrementalConstruction<MealyMachine<?,I,?,O>,I>
| Constructor and Description |
|---|
IncrementalMealyBuilder(Alphabet<I> inputAlphabet)
Constructor.
|
| Modifier and Type | Method and Description |
|---|---|
<V> MutableMapping<net.automatalib.incremental.mealy.State,V> |
createDynamicNodeMapping() |
<V> MutableMapping<net.automatalib.incremental.mealy.State,V> |
createStaticNodeMapping() |
Word<I> |
findSeparatingWord(MealyMachine<?,I,?,O> target,
Collection<? extends I> inputs,
boolean omitUndefined)
Checks the current state of the construction against a given target model,
and returns a word exposing a difference if there is one.
|
Pair<I,O> |
getEdgeProperty(net.automatalib.incremental.mealy.TransitionRecord edge) |
GraphDOTHelper<net.automatalib.incremental.mealy.State,net.automatalib.incremental.mealy.TransitionRecord> |
getGraphDOTHelper() |
net.automatalib.incremental.mealy.State |
getInitialState() |
Alphabet<I> |
getInputAlphabet()
Retrieves the input alphabet of this construction.
|
Void |
getNodeProperty(net.automatalib.incremental.mealy.State node) |
Collection<net.automatalib.incremental.mealy.State> |
getNodes() |
Collection<net.automatalib.incremental.mealy.TransitionRecord> |
getOutgoingEdges(net.automatalib.incremental.mealy.State node) |
Collection<net.automatalib.incremental.mealy.State> |
getStates() |
net.automatalib.incremental.mealy.State |
getSuccessor(net.automatalib.incremental.mealy.TransitionRecord transition) |
net.automatalib.incremental.mealy.State |
getTarget(net.automatalib.incremental.mealy.TransitionRecord edge) |
net.automatalib.incremental.mealy.TransitionRecord |
getTransition(net.automatalib.incremental.mealy.State state,
I input) |
O |
getTransitionOutput(net.automatalib.incremental.mealy.TransitionRecord transition) |
boolean |
hasDefinitiveInformation(Word<I> word)
Checks whether this class has definitive information about a given word.
|
void |
insert(Word<I> word,
Word<O> outputWord)
Incorporates a pair of input/output words into the stored information.
|
boolean |
isComplete(Word<I> word)
Checks whether there exists secured information about the output
for the given word.
|
boolean |
lookup(Word<I> word,
WordBuilder<O> output)
Retrieves the output word for the given input word.
|
NodeIDs<net.automatalib.incremental.mealy.State> |
nodeIDs() |
int |
size() |
CompactMealy<I,O> |
toAutomaton()
Creates an automaton model from the current state of the construction.
|
iterator, stateIDsgetInitialStates, getInitialStates, getState, getState, getSuccessor, getSuccessor, getSuccessor, getSuccessor, getTransitions, getTransitionscreateDynamicStateMapping, createDynamicStateMapping, createStaticStateMapping, createStaticStateMapping, getStates, getStates, getSuccessors, getSuccessors, getSuccessors, getSuccessors, getSuccessors, getSuccessors, powersetView, powersetViewclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitgetTransitions, powersetViewgetState, getSuccessor, getSuccessorcreateDynamicStateMapping, createStaticStateMapping, getInitialStates, getStates, getSuccessors, getSuccessors, getSuccessorspublic IncrementalMealyBuilder(Alphabet<I> inputAlphabet)
inputAlphabet - the input alphabet to usepublic int size()
size in interface SimpleAutomaton<net.automatalib.incremental.mealy.State,I>size in interface Graph<net.automatalib.incremental.mealy.State,net.automatalib.incremental.mealy.TransitionRecord>size in class AbstractDeterministicAutomaton<net.automatalib.incremental.mealy.State,I,net.automatalib.incremental.mealy.TransitionRecord>public boolean isComplete(Word<I> word)
word - the input wordpublic boolean lookup(Word<I> word, WordBuilder<O> output)
word - the input wordoutput - a WordBuilder for constructing the output wordword.length() == output.size() will hold), false otherwise.public void insert(Word<I> word, Word<O> outputWord)
word - the input wordoutputWord - the corresponding output wordConflictException - if this information conflicts with information already storedpublic net.automatalib.incremental.mealy.State getSuccessor(net.automatalib.incremental.mealy.TransitionRecord transition)
getSuccessor in interface TransitionSystem<net.automatalib.incremental.mealy.State,I,net.automatalib.incremental.mealy.TransitionRecord>public net.automatalib.incremental.mealy.State getInitialState()
getInitialState in interface SimpleDTS<net.automatalib.incremental.mealy.State,I>public Void getNodeProperty(net.automatalib.incremental.mealy.State node)
getNodeProperty in interface UniversalIndefiniteGraph<net.automatalib.incremental.mealy.State,net.automatalib.incremental.mealy.TransitionRecord,Void,Pair<I,O>>public Pair<I,O> getEdgeProperty(net.automatalib.incremental.mealy.TransitionRecord edge)
getEdgeProperty in interface UniversalIndefiniteGraph<net.automatalib.incremental.mealy.State,net.automatalib.incremental.mealy.TransitionRecord,Void,Pair<I,O>>public Collection<net.automatalib.incremental.mealy.TransitionRecord> getOutgoingEdges(net.automatalib.incremental.mealy.State node)
getOutgoingEdges in interface IndefiniteGraph<net.automatalib.incremental.mealy.State,net.automatalib.incremental.mealy.TransitionRecord>public net.automatalib.incremental.mealy.State getTarget(net.automatalib.incremental.mealy.TransitionRecord edge)
getTarget in interface IndefiniteGraph<net.automatalib.incremental.mealy.State,net.automatalib.incremental.mealy.TransitionRecord>public O getTransitionOutput(net.automatalib.incremental.mealy.TransitionRecord transition)
getTransitionOutput in interface TransitionOutput<net.automatalib.incremental.mealy.TransitionRecord,O>public net.automatalib.incremental.mealy.TransitionRecord getTransition(net.automatalib.incremental.mealy.State state, I input)
getTransition in interface DeterministicTransitionSystem<net.automatalib.incremental.mealy.State,I,net.automatalib.incremental.mealy.TransitionRecord>public GraphDOTHelper<net.automatalib.incremental.mealy.State,net.automatalib.incremental.mealy.TransitionRecord> getGraphDOTHelper()
getGraphDOTHelper in interface DOTPlottableGraph<net.automatalib.incremental.mealy.State,net.automatalib.incremental.mealy.TransitionRecord>public Collection<net.automatalib.incremental.mealy.State> getStates()
getStates in interface SimpleAutomaton<net.automatalib.incremental.mealy.State,I>public Collection<net.automatalib.incremental.mealy.State> getNodes()
public Alphabet<I> getInputAlphabet()
IncrementalConstructiongetInputAlphabet in interface IncrementalConstruction<MealyMachine<?,I,?,O>,I>public Word<I> findSeparatingWord(MealyMachine<?,I,?,O> target, Collection<? extends I> inputs, boolean omitUndefined)
IncrementalConstructionfindSeparatingWord in interface IncrementalConstruction<MealyMachine<?,I,?,O>,I>target - the target automaton modelinputs - the set of input symbols to consideromitUndefined - if this is set to true, then undefined transitions in
the target model will be interpreted as "unspecified/don't know" and omitted
in the equivalence test. Otherwise, they will be interpreted in the usual manner
(e.g., non-accepting sink in case of DFAs).public CompactMealy<I,O> toAutomaton()
IncrementalConstructiontoAutomaton in interface IncrementalConstruction<MealyMachine<?,I,?,O>,I>public boolean hasDefinitiveInformation(Word<I> word)
IncrementalConstructionhasDefinitiveInformation in interface IncrementalConstruction<MealyMachine<?,I,?,O>,I>word - the wordpublic <V> MutableMapping<net.automatalib.incremental.mealy.State,V> createStaticNodeMapping()
createStaticNodeMapping in interface IndefiniteGraph<net.automatalib.incremental.mealy.State,net.automatalib.incremental.mealy.TransitionRecord>public <V> MutableMapping<net.automatalib.incremental.mealy.State,V> createDynamicNodeMapping()
createDynamicNodeMapping in interface IndefiniteGraph<net.automatalib.incremental.mealy.State,net.automatalib.incremental.mealy.TransitionRecord>Copyright © 2013. All Rights Reserved.