Package net.automatalib.automaton
Interface MutableDeterministic<S,I,T,SP,TP>
-
- Type Parameters:
S
- state class.I
- input symbol class.T
- transition class.SP
- state property.TP
- transition property.
- All Superinterfaces:
Automaton<S,I,T>
,DeterministicAutomaton<S,I,T>
,DeterministicTransitionSystem<S,I,T>
,FiniteRepresentation
,Iterable<S>
,MutableAutomaton<S,I,T,SP,TP>
,SimpleAutomaton<S,I>
,SimpleDeterministicAutomaton<S,I>
,SimpleDTS<S,I>
,SimpleTS<S,I>
,TransitionSystem<S,I,T>
,UniversalAutomaton<S,I,T,SP,TP>
,UniversalDeterministicAutomaton<S,I,T,SP,TP>
,UniversalDTS<S,I,T,SP,TP>
,UniversalTransitionSystem<S,I,T,SP,TP>
- All Known Subinterfaces:
MutableDFA<S,I>
,MutableMealyMachine<S,I,T,O>
,MutableMooreMachine<S,I,T,O>
,MutableSubsequentialTransducer<S,I,T,O>
,ShrinkableDeterministic<S,I,T,SP,TP>
public interface MutableDeterministic<S,I,T,SP,TP> extends UniversalDeterministicAutomaton<S,I,T,SP,TP>, MutableAutomaton<S,I,T,SP,TP>
Interface for a mutable deterministic automaton.
-
-
Nested Class Summary
Nested Classes Modifier and Type Interface Description static interface
MutableDeterministic.FullIntAbstraction<T,SP,TP>
Interface forfull integer abstractions
of aMutableDeterministic
.static interface
MutableDeterministic.IntAbstraction<T,SP,TP>
Base interface forinteger abstractions
of aMutableDeterministic
.static interface
MutableDeterministic.StateIntAbstraction<I,T,SP,TP>
Interface forstate integer abstractions
of aMutableDeterministic
.
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description default void
addTransition(S state, I input, T transition)
default MutableDeterministic.FullIntAbstraction<T,SP,TP>
fullIntAbstraction(int numInputs, IntFunction<? extends I> symMapping)
Retrieves aSimpleDeterministicAutomaton.FullIntAbstraction
of this automaton, using the given number of (abstract) inputs and the inputs mapping.default MutableDeterministic.FullIntAbstraction<T,SP,TP>
fullIntAbstraction(Alphabet<I> alphabet)
Retrieves aSimpleDeterministicAutomaton.FullIntAbstraction
of this automaton, using the mapping induced by the given alphabet as the abstraction for the input symbols.default void
removeAllTransitions(S state, I input)
default void
removeTransition(S state, I input, T transition)
default void
setInitial(S state, boolean initial)
void
setInitialState(@Nullable S state)
Sets the initial state to the given state.default void
setTransition(S state, I input, @Nullable S successor, TP property)
Sets the transition for the given state and input symbol to a newly created one.void
setTransition(S state, I input, @Nullable T transition)
Sets the transition for the given state and input symbol.default void
setTransitions(S state, I input, Collection<? extends T> transitions)
default MutableDeterministic.StateIntAbstraction<I,T,SP,TP>
stateIntAbstraction()
Retrieves aSimpleDeterministicAutomaton.StateIntAbstraction
of this automaton.-
Methods inherited from interface net.automatalib.ts.DeterministicTransitionSystem
getSuccessor, getSuccessors, getTransition, getTransitions
-
Methods inherited from interface java.lang.Iterable
forEach, spliterator
-
Methods inherited from interface net.automatalib.automaton.MutableAutomaton
addInitialState, addInitialState, addState, addState, addTransition, addTransitions, clear, copyTransition, createTransition, removeAllTransitions, setStateProperty, setTransitionProperty
-
Methods inherited from interface net.automatalib.automaton.simple.SimpleAutomaton
createDynamicStateMapping, createStaticStateMapping, getStates, iterator, size, stateIDs
-
Methods inherited from interface net.automatalib.ts.simple.SimpleDTS
getInitialState, getInitialStates, getState, getStates, getSuccessor, getSuccessors, getSuccessors
-
Methods inherited from interface net.automatalib.ts.simple.SimpleTS
getSuccessors
-
Methods inherited from interface net.automatalib.ts.TransitionSystem
getSuccessor, powersetView
-
Methods inherited from interface net.automatalib.automaton.UniversalAutomaton
transitionGraphView
-
Methods inherited from interface net.automatalib.ts.UniversalDTS
getTransitionProperty
-
Methods inherited from interface net.automatalib.ts.UniversalTransitionSystem
getStateProperty, getTransitionProperty
-
-
-
-
Method Detail
-
setInitial
default void setInitial(S state, boolean initial)
- Specified by:
setInitial
in interfaceMutableAutomaton<S,I,T,SP,TP>
-
setTransitions
default void setTransitions(S state, I input, Collection<? extends T> transitions)
- Specified by:
setTransitions
in interfaceMutableAutomaton<S,I,T,SP,TP>
-
removeTransition
default void removeTransition(S state, I input, T transition)
- Specified by:
removeTransition
in interfaceMutableAutomaton<S,I,T,SP,TP>
-
removeAllTransitions
default void removeAllTransitions(S state, I input)
- Specified by:
removeAllTransitions
in interfaceMutableAutomaton<S,I,T,SP,TP>
-
addTransition
default void addTransition(S state, I input, T transition)
- Specified by:
addTransition
in interfaceMutableAutomaton<S,I,T,SP,TP>
-
setInitialState
void setInitialState(@Nullable S state)
Sets the initial state to the given state. If the current initial state should be unset,null
can be passed.- Parameters:
state
- the new initial state, ornull
.
-
setTransition
void setTransition(S state, I input, @Nullable T transition)
Sets the transition for the given state and input symbol.- Parameters:
state
- the source stateinput
- the triggering input symboltransition
- the transition
-
setTransition
default void setTransition(S state, I input, @Nullable S successor, TP property)
Sets the transition for the given state and input symbol to a newly created one.- Parameters:
state
- the source stateinput
- the triggering input symbolsuccessor
- the target stateproperty
- the transition's property
-
fullIntAbstraction
default MutableDeterministic.FullIntAbstraction<T,SP,TP> fullIntAbstraction(Alphabet<I> alphabet)
Description copied from interface:SimpleDeterministicAutomaton
Retrieves aSimpleDeterministicAutomaton.FullIntAbstraction
of this automaton, using the mapping induced by the given alphabet as the abstraction for the input symbols.This method is provided for convenience. It is equivalent to calling
fullIntAbstraction(alphabet.size(), alphabet)
.- Specified by:
fullIntAbstraction
in interfaceDeterministicAutomaton<S,I,T>
- Specified by:
fullIntAbstraction
in interfaceSimpleDeterministicAutomaton<S,I>
- Specified by:
fullIntAbstraction
in interfaceUniversalDeterministicAutomaton<S,I,T,SP,TP>
- Parameters:
alphabet
- the alphabet inducing the abstraction- Returns:
- a
SimpleDeterministicAutomaton.FullIntAbstraction
-
fullIntAbstraction
default MutableDeterministic.FullIntAbstraction<T,SP,TP> fullIntAbstraction(int numInputs, IntFunction<? extends I> symMapping)
Description copied from interface:SimpleDeterministicAutomaton
Retrieves aSimpleDeterministicAutomaton.FullIntAbstraction
of this automaton, using the given number of (abstract) inputs and the inputs mapping.- Specified by:
fullIntAbstraction
in interfaceDeterministicAutomaton<S,I,T>
- Specified by:
fullIntAbstraction
in interfaceSimpleDeterministicAutomaton<S,I>
- Specified by:
fullIntAbstraction
in interfaceUniversalDeterministicAutomaton<S,I,T,SP,TP>
- Parameters:
numInputs
- the number of inputs represented in the full abstractionsymMapping
- the mapping from integers in the range[0, numInputs - 1]
to input symbols.- Returns:
- a
SimpleDeterministicAutomaton.FullIntAbstraction
-
stateIntAbstraction
default MutableDeterministic.StateIntAbstraction<I,T,SP,TP> stateIntAbstraction()
Description copied from interface:SimpleDeterministicAutomaton
Retrieves aSimpleDeterministicAutomaton.StateIntAbstraction
of this automaton.- Specified by:
stateIntAbstraction
in interfaceDeterministicAutomaton<S,I,T>
- Specified by:
stateIntAbstraction
in interfaceSimpleDeterministicAutomaton<S,I>
- Specified by:
stateIntAbstraction
in interfaceUniversalDeterministicAutomaton<S,I,T,SP,TP>
- Returns:
- a
SimpleDeterministicAutomaton.StateIntAbstraction
-
-