public abstract class AbstractIncrementalDFABuilder<I> extends AbstractDeterministicAutomaton<net.automatalib.incremental.dfa.State,I,net.automatalib.incremental.dfa.State> implements UniversalGraph<net.automatalib.incremental.dfa.State,net.automatalib.incremental.dfa.EdgeRecord,Acceptance,I>, DOTPlottableGraph<net.automatalib.incremental.dfa.State,net.automatalib.incremental.dfa.EdgeRecord>, IncrementalConstruction<DFA<?,I>,I>
| Modifier and Type | Field and Description |
|---|---|
protected int |
alphabetSize |
protected net.automatalib.incremental.dfa.State |
init |
protected Alphabet<I> |
inputAlphabet |
protected Map<net.automatalib.incremental.dfa.StateSignature,net.automatalib.incremental.dfa.State> |
register |
protected net.automatalib.incremental.dfa.State |
sink |
| Constructor and Description |
|---|
AbstractIncrementalDFABuilder(Alphabet<I> inputAlphabet) |
| Modifier and Type | Method and Description |
|---|---|
protected net.automatalib.incremental.dfa.State |
clone(net.automatalib.incremental.dfa.State other,
Acceptance acc)
Clones a state, changing the signature.
|
protected net.automatalib.incremental.dfa.State |
clone(net.automatalib.incremental.dfa.State other,
Acceptance acc,
int idx,
net.automatalib.incremental.dfa.State succ) |
protected net.automatalib.incremental.dfa.State |
clone(net.automatalib.incremental.dfa.State other,
int idx,
net.automatalib.incremental.dfa.State succ)
Clones a state, changing the signature.
|
<T> MutableMapping<net.automatalib.incremental.dfa.State,T> |
createDynamicNodeMapping() |
<T> MutableMapping<net.automatalib.incremental.dfa.State,T> |
createStaticNodeMapping() |
Word<I> |
findSeparatingWord(DFA<?,I> 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.
|
I |
getEdgeProperty(net.automatalib.incremental.dfa.EdgeRecord edge) |
GraphDOTHelper<net.automatalib.incremental.dfa.State,net.automatalib.incremental.dfa.EdgeRecord> |
getGraphDOTHelper() |
net.automatalib.incremental.dfa.State |
getInitialState() |
Alphabet<I> |
getInputAlphabet()
Retrieves the input alphabet of this construction.
|
Acceptance |
getNodeProperty(net.automatalib.incremental.dfa.State node) |
Collection<net.automatalib.incremental.dfa.State> |
getNodes() |
Collection<net.automatalib.incremental.dfa.EdgeRecord> |
getOutgoingEdges(net.automatalib.incremental.dfa.State node) |
protected abstract net.automatalib.incremental.dfa.State |
getState(Word<I> word) |
Collection<net.automatalib.incremental.dfa.State> |
getStates() |
net.automatalib.incremental.dfa.State |
getSuccessor(net.automatalib.incremental.dfa.State transition) |
net.automatalib.incremental.dfa.State |
getTarget(net.automatalib.incremental.dfa.EdgeRecord edge) |
net.automatalib.incremental.dfa.State |
getTransition(net.automatalib.incremental.dfa.State state,
I input) |
boolean |
hasDefinitiveInformation(Word<I> word)
Checks whether this class has definitive information about a given word.
|
protected net.automatalib.incremental.dfa.State |
hiddenClone(net.automatalib.incremental.dfa.State other) |
protected void |
hide(net.automatalib.incremental.dfa.State state) |
void |
insert(Word<I> word)
Inserts a word into the set of accepted words.
|
abstract void |
insert(Word<I> word,
boolean accepting) |
abstract Acceptance |
lookup(Word<I> word) |
NodeIDs<net.automatalib.incremental.dfa.State> |
nodeIDs() |
protected net.automatalib.incremental.dfa.State |
replaceOrRegister(net.automatalib.incremental.dfa.State state)
Returns the canonical state for the given state's signature, or registers the
state as canonical if no state with that signature exists.
|
protected net.automatalib.incremental.dfa.State |
replaceOrRegister(net.automatalib.incremental.dfa.StateSignature sig)
Returns (and possibly creates) the canonical state for the given signature.
|
int |
size() |
DFA<?,I> |
toAutomaton()
Creates an automaton model from the current state of the construction.
|
protected net.automatalib.incremental.dfa.State |
unhide(net.automatalib.incremental.dfa.State state,
Acceptance acc,
int idx,
net.automatalib.incremental.dfa.State succ) |
protected net.automatalib.incremental.dfa.State |
unhide(net.automatalib.incremental.dfa.State state,
int idx,
net.automatalib.incremental.dfa.State succ) |
protected void |
updateInitSignature(Acceptance acc) |
protected void |
updateInitSignature(Acceptance acc,
int idx,
net.automatalib.incremental.dfa.State succ) |
protected void |
updateInitSignature(int idx,
net.automatalib.incremental.dfa.State succ) |
protected net.automatalib.incremental.dfa.State |
updateSignature(net.automatalib.incremental.dfa.State state,
Acceptance acc)
Updates the signature for a given state.
|
protected net.automatalib.incremental.dfa.State |
updateSignature(net.automatalib.incremental.dfa.State state,
Acceptance acc,
int idx,
net.automatalib.incremental.dfa.State succ) |
protected net.automatalib.incremental.dfa.State |
updateSignature(net.automatalib.incremental.dfa.State state,
int idx,
net.automatalib.incremental.dfa.State succ)
Updates the signature for a given state.
|
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, getSuccessorsprotected final Map<net.automatalib.incremental.dfa.StateSignature,net.automatalib.incremental.dfa.State> register
protected final Alphabet<I> inputAlphabet
protected final int alphabetSize
protected final net.automatalib.incremental.dfa.State init
protected net.automatalib.incremental.dfa.State sink
public AbstractIncrementalDFABuilder(Alphabet<I> inputAlphabet)
public abstract Acceptance lookup(Word<I> word)
public abstract void insert(Word<I> word, boolean accepting) throws ConflictException
ConflictExceptionpublic final void insert(Word<I> word) throws ConflictException
word - the word to insertConflictException - if the word is already contained in the set of definitely
rejected wordspublic int size()
size in interface SimpleAutomaton<net.automatalib.incremental.dfa.State,I>size in interface Graph<net.automatalib.incremental.dfa.State,net.automatalib.incremental.dfa.EdgeRecord>size in class AbstractDeterministicAutomaton<net.automatalib.incremental.dfa.State,I,net.automatalib.incremental.dfa.State>public Collection<net.automatalib.incremental.dfa.State> getNodes()
public Collection<net.automatalib.incremental.dfa.EdgeRecord> getOutgoingEdges(net.automatalib.incremental.dfa.State node)
getOutgoingEdges in interface IndefiniteGraph<net.automatalib.incremental.dfa.State,net.automatalib.incremental.dfa.EdgeRecord>public net.automatalib.incremental.dfa.State getTarget(net.automatalib.incremental.dfa.EdgeRecord edge)
getTarget in interface IndefiniteGraph<net.automatalib.incremental.dfa.State,net.automatalib.incremental.dfa.EdgeRecord>public Acceptance getNodeProperty(net.automatalib.incremental.dfa.State node)
getNodeProperty in interface UniversalIndefiniteGraph<net.automatalib.incremental.dfa.State,net.automatalib.incremental.dfa.EdgeRecord,Acceptance,I>public I getEdgeProperty(net.automatalib.incremental.dfa.EdgeRecord edge)
getEdgeProperty in interface UniversalIndefiniteGraph<net.automatalib.incremental.dfa.State,net.automatalib.incremental.dfa.EdgeRecord,Acceptance,I>public net.automatalib.incremental.dfa.State getTransition(net.automatalib.incremental.dfa.State state, I input)
getTransition in interface DeterministicTransitionSystem<net.automatalib.incremental.dfa.State,I,net.automatalib.incremental.dfa.State>public net.automatalib.incremental.dfa.State getSuccessor(net.automatalib.incremental.dfa.State transition)
getSuccessor in interface TransitionSystem<net.automatalib.incremental.dfa.State,I,net.automatalib.incremental.dfa.State>public net.automatalib.incremental.dfa.State getInitialState()
getInitialState in interface SimpleDTS<net.automatalib.incremental.dfa.State,I>public Collection<net.automatalib.incremental.dfa.State> getStates()
getStates in interface SimpleAutomaton<net.automatalib.incremental.dfa.State,I>public Alphabet<I> getInputAlphabet()
IncrementalConstructiongetInputAlphabet in interface IncrementalConstruction<DFA<?,I>,I>public Word<I> findSeparatingWord(DFA<?,I> target, Collection<? extends I> inputs, boolean omitUndefined)
IncrementalConstructionfindSeparatingWord in interface IncrementalConstruction<DFA<?,I>,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 DFA<?,I> toAutomaton()
IncrementalConstructiontoAutomaton in interface IncrementalConstruction<DFA<?,I>,I>public boolean hasDefinitiveInformation(Word<I> word)
IncrementalConstructionhasDefinitiveInformation in interface IncrementalConstruction<DFA<?,I>,I>word - the wordpublic GraphDOTHelper<net.automatalib.incremental.dfa.State,net.automatalib.incremental.dfa.EdgeRecord> getGraphDOTHelper()
getGraphDOTHelper in interface DOTPlottableGraph<net.automatalib.incremental.dfa.State,net.automatalib.incremental.dfa.EdgeRecord>public <T> MutableMapping<net.automatalib.incremental.dfa.State,T> createStaticNodeMapping()
createStaticNodeMapping in interface IndefiniteGraph<net.automatalib.incremental.dfa.State,net.automatalib.incremental.dfa.EdgeRecord>public <T> MutableMapping<net.automatalib.incremental.dfa.State,T> createDynamicNodeMapping()
createDynamicNodeMapping in interface IndefiniteGraph<net.automatalib.incremental.dfa.State,net.automatalib.incremental.dfa.EdgeRecord>protected net.automatalib.incremental.dfa.State replaceOrRegister(net.automatalib.incremental.dfa.StateSignature sig)
sig - the signatureprotected net.automatalib.incremental.dfa.State replaceOrRegister(net.automatalib.incremental.dfa.State state)
state - the stateprotected void updateInitSignature(Acceptance acc)
protected net.automatalib.incremental.dfa.State updateSignature(net.automatalib.incremental.dfa.State state, Acceptance acc)
state - the stateacc - the new acceptance valueprotected void updateInitSignature(int idx, net.automatalib.incremental.dfa.State succ)
protected void updateInitSignature(Acceptance acc, int idx, net.automatalib.incremental.dfa.State succ)
protected net.automatalib.incremental.dfa.State updateSignature(net.automatalib.incremental.dfa.State state, int idx, net.automatalib.incremental.dfa.State succ)
state - the stateidx - the index of the transition to changesucc - the new successor for the above indexprotected net.automatalib.incremental.dfa.State updateSignature(net.automatalib.incremental.dfa.State state, Acceptance acc, int idx, net.automatalib.incremental.dfa.State succ)
protected net.automatalib.incremental.dfa.State clone(net.automatalib.incremental.dfa.State other, Acceptance acc)
other - the state to cloneacc - the new acceptance valueprotected net.automatalib.incremental.dfa.State hiddenClone(net.automatalib.incremental.dfa.State other)
protected void hide(net.automatalib.incremental.dfa.State state)
protected net.automatalib.incremental.dfa.State unhide(net.automatalib.incremental.dfa.State state, Acceptance acc, int idx, net.automatalib.incremental.dfa.State succ)
protected net.automatalib.incremental.dfa.State unhide(net.automatalib.incremental.dfa.State state, int idx, net.automatalib.incremental.dfa.State succ)
protected net.automatalib.incremental.dfa.State clone(net.automatalib.incremental.dfa.State other, int idx, net.automatalib.incremental.dfa.State succ)
other - the state to cloneidx - the index of the transition to changesucc - the new successor stateprotected net.automatalib.incremental.dfa.State clone(net.automatalib.incremental.dfa.State other, Acceptance acc, int idx, net.automatalib.incremental.dfa.State succ)
Copyright © 2013. All Rights Reserved.