I
- the input typeA
- the automaton typeP
- the property typeL
- the Lasso typepublic abstract class AbstractUnfoldingModelChecker<I,A,P,L extends Lasso<I,?>> extends Object implements ModelCheckerLasso<I,A,P,L>
ModelCheckerLasso
that 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 an 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.
ModelCheckerLasso.DFAModelCheckerLasso<I,P>, ModelCheckerLasso.MealyModelCheckerLasso<I,O,P>
ModelChecker.DFAModelChecker<I,P,R>, ModelChecker.MealyModelChecker<I,O,P,R>
Modifier | Constructor and Description |
---|---|
protected |
AbstractUnfoldingModelChecker(int minimumUnfolds,
double multiplier)
Constructs a new AbstractUnfoldingModelChecker.
|
Modifier and Type | Method and Description |
---|---|
int |
getMinimumUnfolds()
Returns the minimum number of times a loop must be unrolled.
|
double |
getMultiplier()
Return the multiplier for the number of times a loop of the lasso must be unrolled, relative to the size of the
hypothesis.
|
void |
setMinimumUnfolds(int minimumUnfolds)
Set the minimum number of times a loop must be unrolled.
|
void |
setMultiplier(double multiplier)
Set the multiplier for the number of times a loop of the lasso must be unrolled, relative to the size of the
hypothesis.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
computeUnfolds
findCounterExample
protected AbstractUnfoldingModelChecker(int minimumUnfolds, double multiplier)
minimumUnfolds
- the minimum number of unfolds.multiplier
- the multiplierIllegalArgumentException
- when minimumUnfolds < 1 || multiplier < 0.0
.public int getMinimumUnfolds()
ModelCheckerLasso
getMinimumUnfolds
in interface ModelCheckerLasso<I,A,P,L extends Lasso<I,?>>
public void setMinimumUnfolds(@UnknownInitialization AbstractUnfoldingModelChecker<I,A,P,L extends Lasso<I,?>> this, int minimumUnfolds)
ModelCheckerLasso
setMinimumUnfolds
in interface ModelCheckerLasso<I,A,P,L extends Lasso<I,?>>
minimumUnfolds
- the minimumpublic void setMultiplier(@UnknownInitialization AbstractUnfoldingModelChecker<I,A,P,L extends Lasso<I,?>> this, double multiplier)
ModelCheckerLasso
setMultiplier
in interface ModelCheckerLasso<I,A,P,L extends Lasso<I,?>>
multiplier
- the multiplierpublic double getMultiplier()
ModelCheckerLasso
getMultiplier
in interface ModelCheckerLasso<I,A,P,L extends Lasso<I,?>>
Copyright © 2020. All rights reserved.