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.
|
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 void |
updateInitSignature(Acceptance acc) |
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 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 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.