Class OptimizingATManager<I,O>
- java.lang.Object
-
- de.learnlib.algorithm.procedural.spmm.manager.OptimizingATManager<I,O>
-
- Type Parameters:
I
- input symbol typeO
- output symbol type
- All Implemented Interfaces:
ATManager<I,O>
public class OptimizingATManager<I,O> extends Object implements ATManager<I,O>
An optimizingATManager
that continuously scans positive counterexamples and procedural models in order to find shorter access sequences and terminating sequences.
-
-
Constructor Summary
Constructors Constructor Description OptimizingATManager(ProceduralInputAlphabet<I> inputAlphabet, O errorOutput)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Word<I>
getAccessSequence(I procedure)
Returns an access sequence for the given procedure.Word<I>
getTerminatingSequence(I procedure)
Returns a terminating sequence for the given procedure.Pair<Set<I>,Set<I>>
scanCounterexample(DefaultQuery<I,Word<O>> counterexample)
Extracts from a positive counterexample (potentially new) access sequences and terminating sequences.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.
-
-
-
Constructor Detail
-
OptimizingATManager
public OptimizingATManager(ProceduralInputAlphabet<I> inputAlphabet, O errorOutput)
-
-
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 interfaceATManager<I,O>
- 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 interfaceATManager<I,O>
- Parameters:
procedure
- the call symbol that identifies the procedure- Returns:
- the terminating sequence for the given procedure
-
scanCounterexample
public Pair<Set<I>,Set<I>> scanCounterexample(DefaultQuery<I,Word<O>> counterexample)
Description copied from interface:ATManager
Extracts from a positive counterexample (potentially new) access sequences and terminating sequences.- Specified by:
scanCounterexample
in interfaceATManager<I,O>
- Parameters:
counterexample
- the counterexample- Returns:
- a
Pair
ofSet
s 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 MealyMachine<?,SymbolWrapper<I>,?,O>> 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 interfaceATManager<I,O>
- Parameters:
procedures
- aMap
from call symbols to the respective procedural (hypothesis) modelsproviders
- aMap
from call symbols toAccessSequenceTransformer
sinputs
- aCollection
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.
-
-