@ParametersAreNonnullByDefault public class CompactMealy<I,O> extends AbstractCompactDeterministic<I,CompactMealyTransition<O>,Void,O> implements MutableMealyMachine<Integer,I,CompactMealyTransition<O>,O>, StateLocalInputMealyMachine<Integer,I,CompactMealyTransition<O>,O>
Modifier and Type | Class and Description |
---|---|
static class |
CompactMealy.Creator<I,O> |
AbstractCompact.Payload
MutableDeterministic.FullIntAbstraction<T,SP,TP>, MutableDeterministic.IntAbstraction<T,SP,TP>, MutableDeterministic.StateIntAbstraction<I,T,SP,TP>
MealyMachine.MealyGraphView<S,I,T,O,A extends MealyMachine<S,I,T,O>>
MutableDeterministic.StateIntAbstraction.DefaultAbstraction<S,I,T,SP,TP,A extends MutableDeterministic<S,I,T,SP,TP>>
MutableDeterministic.FullIntAbstraction.DefaultAbstraction<I,T,SP,TP,A extends MutableDeterministic.StateIntAbstraction<I,T,SP,TP>>
DEFAULT_INIT_CAPACITY, DEFAULT_RESIZE_FACTOR, INVALID_STATE
INVALID_STATE
Constructor and Description |
---|
CompactMealy(Alphabet<I> alphabet) |
CompactMealy(Alphabet<I> alphabet,
int stateCapacity) |
CompactMealy(Alphabet<I> alphabet,
int stateCapacity,
float resizeFactor) |
Modifier and Type | Method and Description |
---|---|
void |
clear()
Removes all states and transitions.
|
CompactMealyTransition<O> |
createTransition(int succId,
O property) |
int |
getIntSuccessor(CompactMealyTransition<O> transition)
Retrieves the (abstracted) successor of a transition object.
|
Void |
getStateProperty(int stateId)
Retrieves the state property of a given (abstracted) state.
|
CompactMealyTransition<O> |
getTransition(int state,
int input)
Retrieves the outgoing transition for an (abstracted) source state and (abstracted) input symbol, or returns
null if the automaton has no transition for this state and input. |
O |
getTransitionOutput(CompactMealyTransition<O> transition) |
O |
getTransitionProperty(CompactMealyTransition<O> transition)
Retrieves the transition property for the given state.
|
void |
removeAllTransitions(Integer state) |
void |
setStateProperty(int state,
Void property) |
void |
setTransition(int state,
int input,
CompactMealyTransition<O> transition) |
void |
setTransition(int state,
int input,
int successor,
O property) |
void |
setTransitionOutput(CompactMealyTransition<O> transition,
O output) |
void |
setTransitionProperty(CompactMealyTransition<O> transition,
O property) |
protected void |
updateTransitionStorage(AbstractCompact.Payload payload)
Implementing classes should override this method in order to react to changes to the layout of their array-based
transition data, e.g. due to calls to
MutableAutomaton.addState() or AbstractCompact.addAlphabetSymbol(Object) . |
addIntInitialState, createTransition, fullIntAbstraction, getInitialState, getIntInitialState, getLocalInputs, getStateProperty, getSuccessor, getTransition, getTransition, powersetView, setInitialState, setInitialState, setStateProperty, setTransition, setTransition, setTransition, stateIntAbstraction
addAlphabetSymbol, addIntState, addState, getInputAlphabet, getState, getStateId, getStates, getSymbolIndex, numInputs, size, stateIDs, toId, toMemoryIndex, toState, updateStateStorage, updateStateStorage, updateTransitionStorage, updateTransitionStorage, updateTransitionStorage
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
setStateProperty
addTransition, fullIntAbstraction, fullIntAbstraction, removeAllTransitions, removeTransition, setInitial, setInitialState, setTransition, setTransition, setTransitions, stateIntAbstraction
addInitialState, addInitialState, addState, addState, addTransition, addTransitions, copyTransition, createTransition
transitionGraphView
computeStateOutput
computeOutput, computeSuffixOutput
createStaticStateMapping, getStates, iterator, size, stateIDs
forEach, spliterator
getSuccessor, powersetView
getInitialState, getInitialStates, getState, getStates, getSuccessor, getSuccessors, stateToSet
createDynamicStateMapping, getSuccessors
getStateProperty
getOutput, trace
trace
getTransitionProperty
getLocalInputs
getTransitionProperty
getSuccessor
addIntInitialState, addIntState, addIntState
getTransitionProperty
getSuccessor
numInputs
size
transitionGraphView
graphView
protected void updateTransitionStorage(AbstractCompact.Payload payload)
AbstractCompact
MutableAutomaton.addState()
or AbstractCompact.addAlphabetSymbol(Object)
.
Subclasses may use one of the AbstractCompact.updateTransitionStorage(Object[], IntFunction, Object, Payload)
... methods
to conveniently delegate this task to this base class. This leaves subclasses only with the task to invoke the
provided update methods for each of their local array storages.
updateTransitionStorage
in class AbstractCompact<I,CompactMealyTransition<O>,Void,O>
payload
- the payload containing the necessary information for the update operation. This object must be passed
as-is to the AbstractCompact.updateTransitionStorage(Object[], IntFunction, Object, Payload)
... methods.public O getTransitionOutput(CompactMealyTransition<O> transition)
getTransitionOutput
in interface TransitionOutput<CompactMealyTransition<O>,O>
public O getTransitionProperty(CompactMealyTransition<O> transition)
UniversalTransitionSystem
getTransitionProperty
in interface UniversalDeterministicAutomaton.IntAbstraction<CompactMealyTransition<O>,Void,O>
getTransitionProperty
in interface MealyTransitionSystem<Integer,I,CompactMealyTransition<O>,O>
getTransitionProperty
in interface UniversalTransitionSystem<Integer,I,CompactMealyTransition<O>,Void,O>
transition
- the transition.public void setTransitionProperty(CompactMealyTransition<O> transition, O property)
setTransitionProperty
in interface MutableAutomaton<Integer,I,CompactMealyTransition<O>,Void,O>
setTransitionProperty
in interface MutableDeterministic.IntAbstraction<CompactMealyTransition<O>,Void,O>
setTransitionProperty
in interface MutableMealyMachine<Integer,I,CompactMealyTransition<O>,O>
public void setTransitionOutput(CompactMealyTransition<O> transition, O output)
setTransitionOutput
in interface MutableTransitionOutput<CompactMealyTransition<O>,O>
public void removeAllTransitions(Integer state)
removeAllTransitions
in interface MutableAutomaton<Integer,I,CompactMealyTransition<O>,Void,O>
public int getIntSuccessor(CompactMealyTransition<O> transition)
DeterministicAutomaton.IntAbstraction
getIntSuccessor
in interface DeterministicAutomaton.IntAbstraction<CompactMealyTransition<O>>
transition
- the transition objectpublic CompactMealyTransition<O> createTransition(int succId, O property)
createTransition
in interface MutableDeterministic.IntAbstraction<CompactMealyTransition<O>,Void,O>
public void setStateProperty(int state, Void property)
setStateProperty
in interface MutableDeterministic.IntAbstraction<CompactMealyTransition<O>,Void,O>
setStateProperty
in class AbstractCompact<I,CompactMealyTransition<O>,Void,O>
public Void getStateProperty(int stateId)
UniversalDeterministicAutomaton.IntAbstraction
getStateProperty
in interface UniversalDeterministicAutomaton.IntAbstraction<CompactMealyTransition<O>,Void,O>
stateId
- the integer representing the state of which to retrieve the propertypublic void setTransition(int state, int input, CompactMealyTransition<O> transition)
setTransition
in interface MutableDeterministic.FullIntAbstraction<CompactMealyTransition<O>,Void,O>
public void setTransition(int state, int input, int successor, @Nullable O property)
setTransition
in interface MutableDeterministic.FullIntAbstraction<CompactMealyTransition<O>,Void,O>
public void clear()
MutableAutomaton
clear
in interface MutableAutomaton<Integer,I,CompactMealyTransition<O>,Void,O>
clear
in class AbstractCompactDeterministic<I,CompactMealyTransition<O>,Void,O>
public CompactMealyTransition<O> getTransition(int state, int input)
DeterministicAutomaton.FullIntAbstraction
null
if the automaton has no transition for this state and input.getTransition
in interface DeterministicAutomaton.FullIntAbstraction<CompactMealyTransition<O>>
state
- the integer representing the source stateinput
- the integer representing the input symbolnull
Copyright © 2019. All rights reserved.