I - input symbol classO - output symbol classpublic class IncrementalMealyBuilder<I,O> extends AbstractDeterministicAutomaton<State,I,TransitionRecord> implements TransitionOutput<TransitionRecord,O>, UniversalGraph<State,TransitionRecord,Void,TransitionEdge.Property<I,O>>, DOTPlottableGraph<State,TransitionRecord>, IncrementalConstruction<MealyMachine<?,I,?,O>,I>
| Constructor and Description |
|---|
IncrementalMealyBuilder(Alphabet<I> inputAlphabet)
Constructor.
|
| Modifier and Type | Method and Description |
|---|---|
<V> MutableMapping<State,V> |
createDynamicNodeMapping() |
<V> MutableMapping<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.
|
TransitionEdge.Property<I,O> |
getEdgeProperty(TransitionRecord edge) |
GraphDOTHelper<State,TransitionRecord> |
getGraphDOTHelper() |
State |
getInitialState() |
Alphabet<I> |
getInputAlphabet()
Retrieves the input alphabet of this construction.
|
Void |
getNodeProperty(State node) |
Collection<State> |
getNodes() |
Collection<TransitionRecord> |
getOutgoingEdges(State node) |
Collection<State> |
getStates() |
State |
getSuccessor(TransitionRecord transition) |
State |
getTarget(TransitionRecord edge) |
TransitionRecord |
getTransition(State state,
I input) |
O |
getTransitionOutput(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<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<State,I>size in interface Graph<State,TransitionRecord>size in class AbstractDeterministicAutomaton<State,I,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 State getSuccessor(TransitionRecord transition)
getSuccessor in interface TransitionSystem<State,I,TransitionRecord>public State getInitialState()
getInitialState in interface SimpleDTS<State,I>public Void getNodeProperty(State node)
getNodeProperty in interface UniversalIndefiniteGraph<State,TransitionRecord,Void,TransitionEdge.Property<I,O>>public TransitionEdge.Property<I,O> getEdgeProperty(TransitionRecord edge)
getEdgeProperty in interface UniversalIndefiniteGraph<State,TransitionRecord,Void,TransitionEdge.Property<I,O>>public Collection<TransitionRecord> getOutgoingEdges(State node)
getOutgoingEdges in interface IndefiniteGraph<State,TransitionRecord>public State getTarget(TransitionRecord edge)
getTarget in interface IndefiniteGraph<State,TransitionRecord>public O getTransitionOutput(TransitionRecord transition)
getTransitionOutput in interface TransitionOutput<TransitionRecord,O>public TransitionRecord getTransition(State state, I input)
getTransition in interface DeterministicTransitionSystem<State,I,TransitionRecord>public GraphDOTHelper<State,TransitionRecord> getGraphDOTHelper()
getGraphDOTHelper in interface DOTPlottableGraph<State,TransitionRecord>public Collection<State> getStates()
getStates in interface SimpleAutomaton<State,I>public Collection<State> getNodes()
getNodes in interface Graph<State,TransitionRecord>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 NodeIDs<State> nodeIDs()
nodeIDs in interface Graph<State,TransitionRecord>public <V> MutableMapping<State,V> createStaticNodeMapping()
createStaticNodeMapping in interface IndefiniteGraph<State,TransitionRecord>public <V> MutableMapping<State,V> createDynamicNodeMapping()
createDynamicNodeMapping in interface IndefiniteGraph<State,TransitionRecord>Copyright © 2013. All Rights Reserved.