public abstract class AbstractFastMutableNondet<S extends AbstractFastNondetState<T>,I,T,SP,TP> extends Object implements ShrinkableAutomaton<S,I,T,SP,TP>, UniversalFiniteAlphabetAutomaton<S,I,T,SP,TP>, StateIDs<S>, GrowableAlphabetAutomaton<I>
Modifier and Type | Field and Description |
---|---|
protected Alphabet<I> |
inputAlphabet |
Constructor and Description |
---|
AbstractFastMutableNondet(Alphabet<I> inputAlphabet) |
Modifier and Type | Method and Description |
---|---|
void |
addAlphabetSymbol(I symbol)
Adds a new symbol to the alphabet of the automaton.
|
S |
addState(SP property)
Adds a state to the automaton.
|
void |
clear()
Removes all states and transitions.
|
<V> MutableMapping<S,V> |
createDynamicStateMapping()
Creates a
MutableMapping allowing to associate arbitrary data with this transition system's states. |
protected abstract S |
createState(SP property) |
<V> MutableMapping<S,V> |
createStaticStateMapping()
Creates a
MutableMapping allowing to associate arbitrary data with this transition system's states. |
Set<S> |
getInitialStates()
Retrieves the set of initial states of the transition system.
|
Alphabet<I> |
getInputAlphabet() |
S |
getState(int id) |
int |
getStateId(S state) |
Collection<S> |
getStates()
Retrieves all states of the transition system.
|
Collection<T> |
getTransitions(S state,
I input)
Retrieves the transitions that can be triggered by the given input symbol.
|
FastPowersetDTS<S,I,T> |
powersetView()
Retrieves a "powerset view" of this transition system.
|
void |
removeAllTransitions(S state) |
void |
removeState(S state,
S replacement)
Removes a state from the automaton.
|
void |
setInitial(S state,
boolean initial) |
void |
setTransitions(S state,
I input,
Collection<? extends T> transitions) |
StateIDs<S> |
stateIDs() |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
removeState, unlinkState
addInitialState, addInitialState, addState, addTransition, addTransition, addTransitions, copyTransition, createTransition, removeAllTransitions, removeTransition, setStateProperty, setTransitionProperty
transitionGraphView
iterator, size
forEach, spliterator
getStateProperty, getTransitionProperty
getSuccessor, getSuccessors
getStates, getSuccessors, getSuccessors
transitionGraphView
graphView
public int getStateId(S state)
getStateId
in interface StateIDs<S extends AbstractFastNondetState<T>>
public S getState(int id)
getState
in interface StateIDs<S extends AbstractFastNondetState<T>>
public Set<S> getInitialStates()
SimpleTS
getInitialStates
in interface SimpleTS<S extends AbstractFastNondetState<T>,I>
public <V> MutableMapping<S,V> createDynamicStateMapping()
SimpleTS
MutableMapping
allowing to associate arbitrary data with this transition system's states. The
returned mapping maintains the association even when the transition system is modified.createDynamicStateMapping
in interface SimpleTS<S extends AbstractFastNondetState<T>,I>
public Collection<T> getTransitions(S state, I input)
TransitionSystem
The return value must not be null
; if there are no transitions triggered by the specified input, Collections.emptySet()
should be returned.
getTransitions
in interface TransitionSystem<S extends AbstractFastNondetState<T>,I,T>
state
- the source state.input
- the input symbol.public void clear()
MutableAutomaton
clear
in interface MutableAutomaton<S extends AbstractFastNondetState<T>,I,T,SP,TP>
public S addState(SP property)
MutableAutomaton
addState
in interface MutableAutomaton<S extends AbstractFastNondetState<T>,I,T,SP,TP>
public void setInitial(S state, boolean initial)
setInitial
in interface MutableAutomaton<S extends AbstractFastNondetState<T>,I,T,SP,TP>
public void setTransitions(S state, I input, Collection<? extends T> transitions)
setTransitions
in interface MutableAutomaton<S extends AbstractFastNondetState<T>,I,T,SP,TP>
public void removeAllTransitions(S state)
removeAllTransitions
in interface MutableAutomaton<S extends AbstractFastNondetState<T>,I,T,SP,TP>
public void removeState(S state, S replacement)
ShrinkableAutomaton
null
replacement is given, then this method behaves like the above ShrinkableAutomaton.removeState(Object)
.removeState
in interface ShrinkableAutomaton<S extends AbstractFastNondetState<T>,I,T,SP,TP>
state
- the state to removereplacement
- the replacement state, or null
public Alphabet<I> getInputAlphabet()
getInputAlphabet
in interface InputAlphabetHolder<I>
public void addAlphabetSymbol(I symbol)
GrowableAlphabetAutomaton
addAlphabetSymbol
in interface GrowableAlphabetAutomaton<I>
symbol
- The symbol to add to the alphabet.public Collection<S> getStates()
SimpleAutomaton
getStates
in interface SimpleAutomaton<S extends AbstractFastNondetState<T>,I>
public <V> MutableMapping<S,V> createStaticStateMapping()
SimpleTS
MutableMapping
allowing to associate arbitrary data with this transition system's states. The
returned mapping is however only guaranteed to work correctly if the transition system is not modified.createStaticStateMapping
in interface SimpleAutomaton<S extends AbstractFastNondetState<T>,I>
createStaticStateMapping
in interface SimpleTS<S extends AbstractFastNondetState<T>,I>
public StateIDs<S> stateIDs()
stateIDs
in interface SimpleAutomaton<S extends AbstractFastNondetState<T>,I>
public FastPowersetDTS<S,I,T> powersetView()
TransitionSystem
powersetView
in interface TransitionSystem<S extends AbstractFastNondetState<T>,I,T>
Copyright © 2018. All rights reserved.