Package net.automatalib.modelchecking
Class AbstractLasso<I,D>
- java.lang.Object
-
- net.automatalib.modelchecking.AbstractLasso<I,D>
-
- All Implemented Interfaces:
Iterable<Integer>,Automaton<Integer,I,Integer>,DetOutputAutomaton<Integer,I,Integer,D>,FiniteRepresentation,InputAlphabetHolder<I>,Output<I,D>,OutputAutomaton<Integer,I,Integer,D>,DeterministicAutomaton<Integer,I,Integer>,SimpleAutomaton<Integer,I>,SimpleDeterministicAutomaton<Integer,I>,Lasso<I,D>,DeterministicTransitionSystem<Integer,I,Integer>,SimpleDTS<Integer,I>,SimpleTS<Integer,I>,TransitionSystem<Integer,I,Integer>
- Direct Known Subclasses:
DFALassoImpl,MealyLassoImpl
public abstract class AbstractLasso<I,D> extends Object implements Lasso<I,D>
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface net.automatalib.automaton.DeterministicAutomaton
DeterministicAutomaton.FullIntAbstraction<T extends Object>, DeterministicAutomaton.IntAbstraction<T extends Object>, DeterministicAutomaton.StateIntAbstraction<I extends Object,T extends Object>
-
Nested classes/interfaces inherited from interface net.automatalib.modelchecking.Lasso
Lasso.DFALasso<I extends Object>, Lasso.MealyLasso<I extends Object,O extends Object>
-
-
Constructor Summary
Constructors Constructor Description AbstractLasso(DetOutputAutomaton<S,I,?,D> automaton, Collection<? extends I> inputs, int unfoldTimes)Constructs a finite representation of a given automaton (that contains a lasso), by unrolling the loopunfoldTimes.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description DetOutputAutomaton<?,I,?,D>getAutomaton()IntegergetInitialState()Alphabet<I>getInputAlphabet()Gets the input alphabet of this automaton.Word<I>getLoop()SortedSet<Integer>getLoopBeginIndices()DgetOutput()Word<I>getPrefix()Collection<Integer>getStates()@Nullable IntegergetSuccessor(Integer state, I input)Get the successor state of a given state, ornullwhen no such successor exists.@Nullable IntegergetTransition(Integer state, I input)intgetUnfolds()Word<I>getWord()-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface net.automatalib.automaton.Automaton
transitionGraphView
-
Methods inherited from interface net.automatalib.automaton.DeterministicAutomaton
fullIntAbstraction, fullIntAbstraction, stateIntAbstraction
-
Methods inherited from interface net.automatalib.ts.DeterministicTransitionSystem
getSuccessors, getTransitions
-
Methods inherited from interface java.lang.Iterable
forEach, spliterator
-
Methods inherited from interface net.automatalib.automaton.concept.Output
computeOutput
-
Methods inherited from interface net.automatalib.automaton.simple.SimpleAutomaton
createDynamicStateMapping, createStaticStateMapping, iterator, size, stateIDs
-
Methods inherited from interface net.automatalib.ts.simple.SimpleDTS
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
-
-
-
-
Field Detail
-
NO_LASSO
public static final String NO_LASSO
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
AbstractLasso
public AbstractLasso(DetOutputAutomaton<S,I,?,D> automaton, Collection<? extends I> inputs, int unfoldTimes)
Constructs a finite representation of a given automaton (that contains a lasso), by unrolling the loopunfoldTimes.- Type Parameters:
S- the state type- Parameters:
automaton- the automaton containing the lasso.inputs- the input alphabet.unfoldTimes- the number of times the loop needs to be unrolled, must be> 0.
-
-
Method Detail
-
getAutomaton
public DetOutputAutomaton<?,I,?,D> getAutomaton()
- Specified by:
getAutomatonin interfaceLasso<I,D>
-
getUnfolds
public int getUnfolds()
- Specified by:
getUnfoldsin interfaceLasso<I,D>
-
getLoopBeginIndices
public SortedSet<Integer> getLoopBeginIndices()
- Specified by:
getLoopBeginIndicesin interfaceLasso<I,D>
-
getInitialState
public Integer getInitialState()
- Specified by:
getInitialStatein interfaceSimpleDTS<I,D>
-
getSuccessor
public @Nullable Integer getSuccessor(Integer state, I input)
Get the successor state of a given state, ornullwhen no such successor exists.- Specified by:
getSuccessorin interfaceDeterministicTransitionSystem<Integer,I,Integer>- Specified by:
getSuccessorin interfaceSimpleDTS<I,D>- See Also:
SimpleDTS.getSuccessor(Object, Object)
-
getStates
public Collection<Integer> getStates()
- Specified by:
getStatesin interfaceSimpleAutomaton<I,D>
-
getInputAlphabet
public Alphabet<I> getInputAlphabet()
Gets the input alphabet of this automaton.- Specified by:
getInputAlphabetin interfaceInputAlphabetHolder<I>- Returns:
- the Alphabet.
-
getTransition
public @Nullable Integer getTransition(Integer state, I input)
- Specified by:
getTransitionin interfaceDeterministicTransitionSystem<Integer,I,Integer>
-
-