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.SPMMs extend the idea ofSBAs by supporting deterministic bi-languages with lock-step semantics (typically known fromMealyMachines in the regular case). This makesSPMMs 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)OgetErrorOutput()Returns the output symbol that identifies erroneous transitions.@Nullable IgetInitialProcedure()Returns the initial procedure (represented via itscall symbol) of this system.ProceduralInputAlphabet<I>getInputAlphabet()Refinement ofInputAlphabetHolder.getInputAlphabet()to add the constraint thatthissystem operates onProceduralInputAlphabets.default Collection<I>getProceduralInputs()Convenience method forgetProceduralInputs(Collection)which uses theinput alphabetofthissystem asconstraints.default Collection<I>getProceduralInputs(Collection<I> constraints)default @Nullable MgetProcedure(I callSymbol)Convenience method forgetProcedures()to quickly return the procedure of a given call symbol.Map<I,M>getProcedures()default Graph<?,?>graphView()default booleanisErrorOutput(O output)default intsize()Returns the size ofthissystem 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:
trueifoutputequals thisSPMM'serror output,falseotherwise.
-
getProceduralInputs
default Collection<I> getProceduralInputs(Collection<I> constraints)
-
computeSuffixOutput
default Word<O> computeSuffixOutput(Iterable<? extends I> prefix, Iterable<? extends I> suffix)
- Specified by:
computeSuffixOutputin interfaceSuffixOutput<S,I>
-
getInputAlphabet
ProceduralInputAlphabet<I> getInputAlphabet()
Refinement ofInputAlphabetHolder.getInputAlphabet()to add the constraint thatthissystem operates onProceduralInputAlphabets.- Specified by:
getInputAlphabetin interfaceInputAlphabetHolder<I>- Returns:
- the input alphabet
-
getProceduralInputs
default Collection<I> getProceduralInputs()
Convenience method forgetProceduralInputs(Collection)which uses theinput alphabetofthissystem asconstraints.- Returns:
- a collection of defined inputs for
thissystem's procedures.
-
getInitialProcedure
@Nullable I getInitialProcedure()
Returns the initial procedure (represented via itscall symbol) of this system.- Returns:
- the initial procedure, may be
nullif undefined
-
getProcedures
Map<I,M> getProcedures()
Returns aMapfromcall symbolsto the procedures ofthissystem. Note that a (non-minimal)ProceduralSystemmay 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
nullifthissystem does not have a procedure for the given call symbol. - See Also:
getProcedures()
-
size
default int size()
Returns the size ofthissystem 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 aProceduralSystemmay be infinite-sizedSimpleTS.- Specified by:
sizein interfaceFiniteRepresentation- Returns:
- the size of
thissystem
-
graphView
default Graph<?,?> graphView()
- Specified by:
graphViewin interfaceGraphViewable
-
-