Package eu.bandm.tools.lexic
Interface Traversable<L,S>
- Type Parameters:
L- the type of labels of the underlying automatonS- the type of states of the underlying automaton
- All Known Implementing Classes:
DAutomaton,ZAutomaton
public interface Traversable<L,S>
Indicates that the implementor can be traversed as the transition graph of
an automaton.
- Since:
- 1.1
-
Method Summary
Modifier and TypeMethodDescriptionstatic <L,S> boolean bisimilar(Traversable<L, S> t1, Traversable<L, S> t2) Checks whether two transition graphs specify indistinguishable observable behavior.getBehavior(S state) Returns the automaton behavior the given state node.Returns the initial state node of the transition graph.
-
Method Details
-
getInitialState
S getInitialState()Returns the initial state node of the transition graph.- Returns:
- the initial state node of the transition graph
-
getBehavior
Returns the automaton behavior the given state node.The behavior specifies the label attached to the state node, as well as the outgoing transition edges.
- Parameters:
state- a state node- Returns:
- the automaton behavior at the given state
-
bisimilar
Checks whether two transition graphs specify indistinguishable observable behavior.Observable behavior is the overall information that can be gathered using only methods of the interface
Automaton.Trace, and equality on their results. Classes that implementTraversableare encouraged to also implementTraceable, such that a reference of typeAutomaton.Tracecan be obtained in a natural way.- Type Parameters:
L- the type of labels of the underlying automataS- the type of states of the underlying automata- Parameters:
t1- the first transition grapht2- the second transition graph- Returns:
trueif the observable behaviors oft1andt2are indistinguishable;falseif there is an observable difference- See Also:
-