Interface ATManager<I,​O>

  • Type Parameters:
    I - input symbol type
    O - output symbol type
    All Known Implementing Classes:
    DefaultATManager, OptimizingATManager

    public interface ATManager<I,​O>
    A manager of access sequences and terminating sequences of SPMMs during the learning process.
    • Method Detail

      • getAccessSequence

        Word<I> getAccessSequence​(I procedure)
        Returns an access sequence for the given procedure.
        Parameters:
        procedure - the call symbol that identifies the procedure
        Returns:
        the access sequence for the given procedure
      • getTerminatingSequence

        Word<I> getTerminatingSequence​(I procedure)
        Returns a terminating sequence for the given procedure.
        Parameters:
        procedure - the call symbol that identifies the procedure
        Returns:
        the terminating sequence for the given procedure
      • scanCounterexample

        Pair<Set<I>,​Set<I>> scanCounterexample​(DefaultQuery<I,​Word<O>> counterexample)
        Extracts from a positive counterexample (potentially new) access sequences and terminating sequences.
        Parameters:
        counterexample - the counterexample
        Returns:
        a Pair of Sets of procedures (identified by their respective call symbols) for which new access and terminating sequences could be extracted and for which previously none of the sequences were available.
      • scanProcedures

        Set<I> scanProcedures​(Map<I,​? extends MealyMachine<?,​SymbolWrapper<I>,​?,​O>> procedures,
                              Map<I,​? extends AccessSequenceTransformer<SymbolWrapper<I>>> providers,
                              Collection<SymbolWrapper<I>> inputs)
        Scans a set of (hypothesis) procedures in order to potentially extract new access sequences and terminating sequences.
        Parameters:
        procedures - a Map from call symbols to the respective procedural (hypothesis) models
        providers - a Map from call symbols to AccessSequenceTransformers
        inputs - a Collection of input symbols which should be used for finding new access sequences, terminating sequences, and return sequences
        Returns:
        a Set of procedures (identified by their respective call symbols) for which terminating sequences could be extracted and for which previously no such sequences were available.