Interface SPMM<S,I,T,O>
-
- Type Parameters:
S
- state typeI
- input symbol typeT
- transition typeO
- output symbol type
- All Superinterfaces:
DeterministicOutputTS<S,I,T,O>
,DeterministicTransitionOutputTS<S,I,T,O>
,DeterministicTransitionSystem<S,I,T>
,FiniteRepresentation
,GraphViewable
,InputAlphabetHolder<I>
,MealyTransitionSystem<S,I,T,O>
,Output<I,Word<O>>
,SimpleDTS<S,I>
,SimpleTS<S,I>
,SuffixOutput<I,Word<O>>
,TransitionOutput<T,O>
,TransitionSystem<S,I,T>
,UniversalDTS<S,I,T,Void,O>
,UniversalTransitionSystem<S,I,T,Void,O>
public interface SPMM<S,I,T,O> extends MealyTransitionSystem<S,I,T,O>, SuffixOutput<I,Word<O>>
A system of procedural Mealy machines.SPMM
s extend the idea ofSBA
s by supporting deterministic bi-languages with lock-step semantics (typically known fromMealyMachine
s in the regular case). This makesSPMM
s a preferable model for (instrumented) dialog-systems in which the system responds to an external input stimuli with an observable output symbol.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description default Word<O>
computeSuffixOutput(Iterable<? extends I> prefix, Iterable<? extends I> suffix)
O
getErrorOutput()
Returns the output symbol that identifies erroneous transitions.@Nullable I
getInitialProcedure()
Returns the initial procedure (represented via itscall symbol
) of this system.ProceduralInputAlphabet<I>
getInputAlphabet()
Refinement ofInputAlphabetHolder.getInputAlphabet()
to add the constraint thatthis
system operates onProceduralInputAlphabet
s.default Collection<I>
getProceduralInputs()
Convenience method forgetProceduralInputs(Collection)
which uses theinput alphabet
ofthis
system asconstraints
.default Collection<I>
getProceduralInputs(Collection<I> constraints)
default @Nullable M
getProcedure(I callSymbol)
Convenience method forgetProcedures()
to quickly return the procedure of a given call symbol.Map<I,M>
getProcedures()
default Graph<?,?>
graphView()
default boolean
isErrorOutput(O output)
default int
size()
Returns the size ofthis
system which is given by the sum of the sizes of allprocedures
.-
Methods inherited from interface net.automatalib.ts.output.DeterministicOutputTS
trace
-
Methods inherited from interface net.automatalib.ts.output.DeterministicTransitionOutputTS
getOutput, trace
-
Methods inherited from interface net.automatalib.ts.DeterministicTransitionSystem
getSuccessor, getSuccessors, getTransition, getTransitions
-
Methods inherited from interface net.automatalib.ts.output.MealyTransitionSystem
getStateProperty, getTransitionProperty
-
Methods inherited from interface net.automatalib.ts.simple.SimpleDTS
getInitialState, getInitialStates, getState, getStates, getSuccessor, getSuccessors
-
Methods inherited from interface net.automatalib.ts.simple.SimpleTS
createDynamicStateMapping, createStaticStateMapping, getSuccessors
-
Methods inherited from interface net.automatalib.automaton.concept.SuffixOutput
computeOutput
-
Methods inherited from interface net.automatalib.automaton.concept.TransitionOutput
getTransitionOutput
-
Methods inherited from interface net.automatalib.ts.TransitionSystem
getSuccessor, powersetView
-
Methods inherited from interface net.automatalib.ts.UniversalDTS
getTransitionProperty
-
-
-
-
Method Detail
-
getErrorOutput
O getErrorOutput()
Returns the output symbol that identifies erroneous transitions. Note that for the validity of thisSPMM
, each transition labeled with this output symbol must lead into a sink state that continues to output this symbol.- Returns:
- the output symbol that identifies erroneous transitions
-
isErrorOutput
default boolean isErrorOutput(O output)
- Parameters:
output
- the symbol to check- Returns:
true
ifoutput
equals thisSPMM
'serror output
,false
otherwise.
-
getProceduralInputs
default Collection<I> getProceduralInputs(Collection<I> constraints)
-
computeSuffixOutput
default Word<O> computeSuffixOutput(Iterable<? extends I> prefix, Iterable<? extends I> suffix)
- Specified by:
computeSuffixOutput
in interfaceSuffixOutput<S,I>
-
getInputAlphabet
ProceduralInputAlphabet<I> getInputAlphabet()
Refinement ofInputAlphabetHolder.getInputAlphabet()
to add the constraint thatthis
system operates onProceduralInputAlphabet
s.- Specified by:
getInputAlphabet
in interfaceInputAlphabetHolder<I>
- Returns:
- the input alphabet
-
getProceduralInputs
default Collection<I> getProceduralInputs()
Convenience method forgetProceduralInputs(Collection)
which uses theinput alphabet
ofthis
system asconstraints
.- Returns:
- a collection of defined inputs for
this
system's procedures.
-
getInitialProcedure
@Nullable I getInitialProcedure()
Returns the initial procedure (represented via itscall symbol
) of this system.- Returns:
- the initial procedure, may be
null
if undefined
-
getProcedures
Map<I,M> getProcedures()
Returns aMap
fromcall symbols
to the procedures ofthis
system. Note that a (non-minimal)ProceduralSystem
may not contain a procedure for every call symbol.- Returns:
- the procedures of this system
-
getProcedure
default @Nullable M getProcedure(I callSymbol)
Convenience method forgetProcedures()
to quickly return the procedure of a given call symbol.- Parameters:
callSymbol
- the call symbol- Returns:
- the corresponding procedure. May be
null
ifthis
system does not have a procedure for the given call symbol. - See Also:
getProcedures()
-
size
default int size()
Returns the size ofthis
system which is given by the sum of the sizes of allprocedures
. Note that this value does not necessarily correspond to the classical notion ofSimpleAutomaton.size()
, since semantically aProceduralSystem
may be infinite-sizedSimpleTS
.- Specified by:
size
in interfaceFiniteRepresentation
- Returns:
- the size of
this
system
-
graphView
default Graph<?,?> graphView()
- Specified by:
graphView
in interfaceGraphViewable
-
-