Class OptimizingATManager<I>

  • Type Parameters:
    I - input symbol type
    All Implemented Interfaces:
    ATManager<I>

    public class OptimizingATManager<I>
    extends Object
    implements ATManager<I>
    An optimizing ATManager that continuously scans positive counterexamples and procedural models in order to find shorter access sequences and terminating sequences.
    • Method Detail

      • getAccessSequence

        public Word<I> getAccessSequence​(I procedure)
        Description copied from interface: ATManager
        Returns an access sequence for the given procedure.
        Specified by:
        getAccessSequence in interface ATManager<I>
        Parameters:
        procedure - the call symbol that identifies the procedure
        Returns:
        the access sequence for the given procedure
      • getTerminatingSequence

        public Word<I> getTerminatingSequence​(I procedure)
        Description copied from interface: ATManager
        Returns a terminating sequence for the given procedure.
        Specified by:
        getTerminatingSequence in interface ATManager<I>
        Parameters:
        procedure - the call symbol that identifies the procedure
        Returns:
        the terminating sequence for the given procedure
      • scanPositiveCounterexample

        public Pair<Set<I>,​Set<I>> scanPositiveCounterexample​(Word<I> counterexample)
        Description copied from interface: ATManager
        Extracts from a positive counterexample (potentially new) access sequences and terminating sequences.
        Specified by:
        scanPositiveCounterexample in interface ATManager<I>
        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

        public Set<I> scanProcedures​(Map<I,​? extends DFA<?,​SymbolWrapper<I>>> procedures,
                                     Map<I,​? extends AccessSequenceTransformer<SymbolWrapper<I>>> providers,
                                     Collection<SymbolWrapper<I>> inputs)
        Description copied from interface: ATManager
        Scans a set of (hypothesis) procedures in order to potentially extract new access sequences and terminating sequences.
        Specified by:
        scanProcedures in interface ATManager<I>
        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.