Package net.maswag.falcaun
Class AdaptiveSTLList<I>
java.lang.Object
net.maswag.falcaun.AbstractAdaptiveSTLUpdater<I>
net.maswag.falcaun.AdaptiveSTLList<I>
- Type Parameters:
I- Type of the input at each step
- All Implemented Interfaces:
BlackBoxOracle<net.automatalib.automaton.transducer.MealyMachine<?,,String, ?, String>, String, net.automatalib.word.Word<String>> BlackBoxOracle.MealyBlackBoxOracle<String,,String> EquivalenceOracle<net.automatalib.automaton.transducer.MealyMachine<?,,String, ?, String>, String, net.automatalib.word.Word<String>> EquivalenceOracle.MealyEquivalenceOracle<String,,String> InclusionOracle<net.automatalib.automaton.transducer.MealyMachine<?,,String, ?, String>, String, net.automatalib.word.Word<String>> InclusionOracle.MealyInclusionOracle<String,,String> AdaptiveSTLUpdater<I>
Adaptive updater of STL/LTL formulas
- Author:
- Junya Shijubo
- See Also:
-
Nested Class Summary
Nested ClassesNested classes/interfaces inherited from interface de.learnlib.oracle.BlackBoxOracle
BlackBoxOracle.DFABlackBoxOracle<I extends Object>, BlackBoxOracle.MealyBlackBoxOracle<I extends Object,O extends Object> Nested classes/interfaces inherited from interface de.learnlib.oracle.EquivalenceOracle
EquivalenceOracle.DFAEquivalenceOracle<I extends Object>, EquivalenceOracle.MealyEquivalenceOracle<I extends Object,O extends Object>, EquivalenceOracle.MooreEquivalenceOracle<I extends Object, O extends Object> Nested classes/interfaces inherited from interface de.learnlib.oracle.InclusionOracle
InclusionOracle.DFAInclusionOracle<I extends Object>, InclusionOracle.MealyInclusionOracle<I extends Object,O extends Object> -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final List<List<TemporalLogic<I>>>private final List<TemporalLogic<I>>private final List<TemporalLogic<I>>private final List<List<AdaptiveSTLList.IntervalTL<I>>>private final List<List<TemporalLogic<I>>>private final List<TemporalLogic<I>>private final intFields inherited from class net.maswag.falcaun.AbstractAdaptiveSTLUpdater
EDGE_PARSER, emptinessOracle, inclusionOracle, initialized, inputAlphabet, memOracle, modelChecker -
Constructor Summary
ConstructorsConstructorDescriptionAdaptiveSTLList(Collection<? extends TemporalLogic<I>> STLProperties) AdaptiveSTLList(Collection<? extends TemporalLogic<I>> STLProperties, int timeWindow) AdaptiveSTLList(TemporalLogic<I> propertyOracle) -
Method Summary
Modifier and TypeMethodDescriptionbooleanChecks if all the Signal Temporal Logic (STL) properties have been disproved.private List<AdaptiveSTLList.IntervalTL<I>>findIntervalSTL(TemporalLogic<I> stl, Function<TemporalLogic<I>, TemporalLogic<I>> frame) find intervals that can be strengthenedprivate List<TemporalLogic<I>>generateStrengthenedSTL(TemporalLogic<I> targetStl) generate syntactically strengthened STL formulasprivate List<AdaptiveSTLList.IntervalTL<I>>initializeIntervalSTLproperties(TemporalLogic<I> targetSTL) list up intervals of temporal operators in target STL formulas that can be strengthenedprivate TemporalLogic<I>nextStrengthenedSTL(int targetIdx) protected voidnotifyFalsifiedProperty(List<Integer> falsifiedIndices) Notify that subset of this.getLTLProperties are falsified by the currently learned model.voidreset()Remove all the non-initial STL formulasprivate List<TemporalLogic<I>>strengthenSTL(TemporalLogic<I> stl) syntactically strengthen an STL/LTL formulaMethods inherited from class net.maswag.falcaun.AbstractAdaptiveSTLUpdater
addSTLProperties, addSTLProperty, findCounterExample, getPropertyOracles, newlyFalsifiedFormula, removeSTLProperties, removeSTLProperty, setMapper, setMemOracle, stream, toLTLString, toStringMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface net.maswag.falcaun.AdaptiveSTLUpdater
getLTLProperties, getSTLProperties, list, setInputAlphabet, sizeMethods inherited from interface de.learnlib.oracle.InclusionOracle
isCounterExample
-
Field Details
-
initialSTLs
-
targetSTLs
-
strengthenedSTLProperties
-
candidateSTLProperties
-
intervalSTLProperties
-
falsifiedSTLProperties
-
timeWindow
private final int timeWindow
-
-
Constructor Details
-
AdaptiveSTLList
public AdaptiveSTLList() -
AdaptiveSTLList
-
AdaptiveSTLList
-
AdaptiveSTLList
- Parameters:
STLProperties- The list of STL/LTL formulas to verifytimeWindow- The maximum time window of the STL formulas. This is typically the number of steps in each simulation.
-
-
Method Details
-
strengthenSTL
syntactically strengthen an STL/LTL formula- Parameters:
stl- a target STL formula to be strengthen- Returns:
- list of
TemporalLogic<I>objects
-
notifyFalsifiedProperty
Notify that subset of this.getLTLProperties are falsified by the currently learned model.- Overrides:
notifyFalsifiedPropertyin classAbstractAdaptiveSTLUpdater<I>- Parameters:
falsifiedIndices- The set of indices of the falsified LTL formulas
-
generateStrengthenedSTL
generate syntactically strengthened STL formulas- Parameters:
targetStl- a target STL/LTL formula- Returns:
- list of strengthened formulas
-
initializeIntervalSTLproperties
private List<AdaptiveSTLList.IntervalTL<I>> initializeIntervalSTLproperties(TemporalLogic<I> targetSTL) list up intervals of temporal operators in target STL formulas that can be strengthened- Parameters:
targetSTL- a target STL/LTL formula- Returns:
- list of
-
findIntervalSTL
private List<AdaptiveSTLList.IntervalTL<I>> findIntervalSTL(TemporalLogic<I> stl, Function<TemporalLogic<I>, TemporalLogic<I>> frame) find intervals that can be strengthened- Parameters:
stl- target STL formulaframe- outer frame of param 'stl'- Returns:
- list of
AdaptiveSTLList.IntervalTLobject
-
nextStrengthenedSTL
-
allDisproved
public boolean allDisproved()Description copied from interface:AdaptiveSTLUpdaterChecks if all the Signal Temporal Logic (STL) properties have been disproved.- Returns:
trueif all STL properties have been disproved, otherwisefalse.
-
reset
public void reset()Remove all the non-initial STL formulas
-