Package net.automatalib.brics
Class BricsDFA
- java.lang.Object
-
- net.automatalib.brics.AbstractBricsAutomaton
-
- net.automatalib.brics.BricsDFA
-
- All Implemented Interfaces:
Iterable<State>
,Automaton<State,Character,State>
,DetOutputAutomaton<State,Character,State,Boolean>
,DetSuffixOutputAutomaton<State,Character,State,Boolean>
,FiniteRepresentation
,Output<Character,Boolean>
,OutputAutomaton<State,Character,State,Boolean>
,SuffixOutput<Character,Boolean>
,DeterministicAutomaton<State,Character,State>
,DFA<State,Character>
,FiniteStateAcceptor<State,Character>
,NFA<State,Character>
,SimpleAutomaton<State,Character>
,SimpleDeterministicAutomaton<State,Character>
,UniversalAutomaton<State,Character,State,Boolean,Void>
,UniversalDeterministicAutomaton<State,Character,State,Boolean,Void>
,GraphViewable
,AcceptorTS<State,Character>
,DeterministicAcceptorTS<State,Character>
,DeterministicTransitionSystem<State,Character,State>
,SimpleDTS<State,Character>
,SimpleTS<State,Character>
,TransitionSystem<State,Character,State>
,UniversalDTS<State,Character,State,Boolean,Void>
,UniversalTransitionSystem<State,Character,State,Boolean,Void>
public class BricsDFA extends AbstractBricsAutomaton implements DFA<State,Character>
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class net.automatalib.brics.AbstractBricsAutomaton
AbstractBricsAutomaton.GraphView
-
Nested classes/interfaces inherited from interface net.automatalib.automaton.DeterministicAutomaton
DeterministicAutomaton.FullIntAbstraction<T>, DeterministicAutomaton.IntAbstraction<T>, DeterministicAutomaton.StateIntAbstraction<I,T>
-
Nested classes/interfaces inherited from interface net.automatalib.automaton.fsa.FiniteStateAcceptor
FiniteStateAcceptor.FSAGraphView<S,I,A extends FiniteStateAcceptor<S,I>>
-
Nested classes/interfaces inherited from interface net.automatalib.automaton.UniversalDeterministicAutomaton
UniversalDeterministicAutomaton.FullIntAbstraction<T,SP,TP>, UniversalDeterministicAutomaton.IntAbstraction<T,SP,TP>, UniversalDeterministicAutomaton.StateIntAbstraction<I,T,SP,TP>
-
-
Field Summary
-
Fields inherited from class net.automatalib.brics.AbstractBricsAutomaton
automaton
-
Fields inherited from interface net.automatalib.automaton.fsa.FiniteStateAcceptor
STATE_PROPERTIES, TRANSITION_PROPERTIES
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description State
getInitialState()
Retrieves the initial state of this transition system.State
getSuccessor(State state, Character input)
Retrieves the successor state reachable by the given input symbol.State
getTransition(State state, Character input)
Retrieves the transition triggered by the given input symbol.-
Methods inherited from class net.automatalib.brics.AbstractBricsAutomaton
getBricsAutomaton, getInitialStates, getStates, getTransitions, graphView, isAccepting
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface net.automatalib.ts.acceptor.AcceptorTS
getStateProperty, getSuccessor, getTransitionProperty, isAccepting
-
Methods inherited from interface net.automatalib.ts.DeterministicTransitionSystem
getSuccessors, getTransitions
-
Methods inherited from interface net.automatalib.automaton.fsa.DFA
accepts, computeOutput, computeStateOutput, computeSuffixOutput, isAccepting
-
Methods inherited from interface net.automatalib.automaton.fsa.FiniteStateAcceptor
computeOutput, computeSuffixOutput, transitionGraphView
-
Methods inherited from interface java.lang.Iterable
forEach, spliterator
-
Methods inherited from interface net.automatalib.automaton.simple.SimpleAutomaton
createDynamicStateMapping, createStaticStateMapping, getStates, 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
powersetView
-
Methods inherited from interface net.automatalib.automaton.UniversalDeterministicAutomaton
fullIntAbstraction, fullIntAbstraction, stateIntAbstraction
-
Methods inherited from interface net.automatalib.ts.UniversalDTS
getTransitionProperty
-
-
-
-
Constructor Detail
-
BricsDFA
public BricsDFA(Automaton automaton)
Constructor. If the givenAutomaton
is not deterministic, it will be automatically determinized by invokingAutomaton.determinize()
.Note: Brics automata may only be partially defined (especially when created from regular expressions). If you plan to use this wrapper in any structural analysis (e.g. for determining equivalence), consider using
BricsDFA(Automaton, boolean)
instead.- Parameters:
automaton
- the Brics automaton to wrap.
-
BricsDFA
public BricsDFA(Automaton automaton, boolean totalize)
Constructor. If the givenAutomaton
is not deterministic, it will be automatically determinized by invokingAutomaton.determinize()
.If the parameter
totalize
is set totrue
, an additional sink state will be added to the automaton and all otherwise undefined transitions will transition the automaton into the sink. Note: this mutates the originalautomaton
.- Parameters:
automaton
- the Brics automaton to wrap.totalize
- flag, indicating whether the automaton should have a total transition function.
-
-
Method Detail
-
getInitialState
public State getInitialState()
Description copied from interface:SimpleDTS
Retrieves the initial state of this transition system.- Specified by:
getInitialState
in interfaceSimpleDTS<State,Character>
- Returns:
- the initial state.
- See Also:
SimpleTS.getInitialStates()
-
getSuccessor
public State getSuccessor(State state, Character input)
Description copied from interface:SimpleDTS
Retrieves the successor state reachable by the given input symbol.- Specified by:
getSuccessor
in interfaceDeterministicTransitionSystem<State,Character,State>
- Specified by:
getSuccessor
in interfaceSimpleDTS<State,Character>
- Parameters:
state
- the source state.input
- the input symbol.- Returns:
- the successor state reachable by the given input symbol, or
null
if no state is reachable by this symbol. - See Also:
TransitionSystem.getSuccessors(Object, Object)
-
getTransition
public State getTransition(State state, Character input)
Description copied from interface:DeterministicTransitionSystem
Retrieves the transition triggered by the given input symbol.- Specified by:
getTransition
in interfaceDeterministicTransitionSystem<State,Character,State>
- Parameters:
state
- the source state.input
- the input symbol.- Returns:
- the transition triggered by the given input symbol, or
null
if no transition is triggered. - See Also:
TransitionSystem.getTransitions(Object, Object)
-
-