Package net.automatalib.modelchecking
Class AbstractUnfoldingModelChecker<I,A,P,L extends Lasso<I,?>>
- java.lang.Object
-
- net.automatalib.modelchecking.AbstractUnfoldingModelChecker<I,A,P,L>
-
- Type Parameters:
I- the input typeA- the automaton typeP- the property typeL- the Lasso type
- All Implemented Interfaces:
ModelChecker<I,A,P,L>,ModelCheckerLasso<I,A,P,L>
public abstract class AbstractUnfoldingModelChecker<I,A,P,L extends Lasso<I,?>> extends Object implements ModelCheckerLasso<I,A,P,L>
AnModelCheckerLassothat can unfold loops of lassos.Unfolding a lasso is done according to two conditions: 1. the lasso has to be unfolded a minimum number of times (
getMinimumUnfolds(). 2. the lasso has to be unfolded relative to the number of states in a hypothesis, multiplied by some double (getMultiplier().Note that one can unfold a lasso a fixed number of times if the multiplier is set to
0.0. Also note that a lasso needs to be unfolded at least once, and the multiplier can not be negative.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface net.automatalib.modelchecking.ModelChecker
ModelChecker.DFAModelChecker<I extends Object,P extends Object,R extends Object>, ModelChecker.MealyModelChecker<I extends Object,O extends Object,P extends Object,R extends Object>
-
Nested classes/interfaces inherited from interface net.automatalib.modelchecking.ModelCheckerLasso
ModelCheckerLasso.DFAModelCheckerLasso<I extends Object,P extends Object>, ModelCheckerLasso.MealyModelCheckerLasso<I extends Object,O extends Object,P extends Object>
-
-
Constructor Summary
Constructors Modifier Constructor Description protectedAbstractUnfoldingModelChecker(int minimumUnfolds, double multiplier)Constructs a new AbstractUnfoldingModelChecker.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description intgetMinimumUnfolds()doublegetMultiplier()voidsetMinimumUnfolds(int minimumUnfolds)voidsetMultiplier(double multiplier)-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface net.automatalib.modelchecking.ModelChecker
findCounterExample
-
Methods inherited from interface net.automatalib.modelchecking.ModelCheckerLasso
computeUnfolds
-
-
-
-
Constructor Detail
-
AbstractUnfoldingModelChecker
protected AbstractUnfoldingModelChecker(int minimumUnfolds, double multiplier)Constructs a new AbstractUnfoldingModelChecker.- Parameters:
minimumUnfolds- the minimum number of unfolds.multiplier- the multiplier- Throws:
IllegalArgumentException- whenminimumUnfolds < 1 || multiplier < 0.0.
-
-
Method Detail
-
getMinimumUnfolds
public int getMinimumUnfolds()
- Specified by:
getMinimumUnfoldsin interfaceModelCheckerLasso<I,A,P,L extends Lasso<I,?>>
-
setMinimumUnfolds
public void setMinimumUnfolds(@UnknownInitialization AbstractUnfoldingModelChecker<I,A,P,L extends Lasso<I,?>> this, int minimumUnfolds)
- Specified by:
setMinimumUnfoldsin interfaceModelCheckerLasso<I,A,P,L extends Lasso<I,?>>
-
setMultiplier
public void setMultiplier(@UnknownInitialization AbstractUnfoldingModelChecker<I,A,P,L extends Lasso<I,?>> this, double multiplier)
- Specified by:
setMultiplierin interfaceModelCheckerLasso<I,A,P,L extends Lasso<I,?>>
-
getMultiplier
public double getMultiplier()
- Specified by:
getMultiplierin interfaceModelCheckerLasso<I,A,P,L extends Lasso<I,?>>
-
-