You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

94 lines
3.2 KiB

#pragma once
#include "storm/settings/modules/ModuleSettings.h"
namespace storm {
namespace settings {
namespace modules {
/*!
* This class represents the settings for the abstraction procedures.
*/
class AbstractionSettings : public ModuleSettings {
public:
enum class PivotSelectionHeuristic {
NearestMaximalDeviation, MostProbablePath, MaxWeightedDeviation
};
enum class SplitMode {
All, None, NonGuard
};
enum class ReuseMode {
All, None, Qualitative, Quantitative
};
/*!
* Creates a new set of abstraction settings.
*/
AbstractionSettings();
/*!
* Retrieves whether the option to use the decomposition was set.
*
* @return True iff the option was set.
*/
bool isUseDecompositionSet() const;
/*!
* Retrieves the selected split mode.
*
* @return The selected split mode.
*/
SplitMode getSplitMode() const;
/*!
* Retrieves whether the option to add all guards was set.
*
* @return True iff the option was set.
*/
bool isAddAllGuardsSet() const;
/*!
* Retrieves whether the option to use interpolation was set.
*
* @return True iff the option was set.
*/
bool isUseInterpolationSet() const;
/*!
* Retrieves the precision that is used for detecting convergence.
*
* @return The precision to use for detecting convergence.
*/
double getPrecision() const;
/*!
* Retrieves the selected heuristic to select pivot blocks.
*
* @return The selected heuristic.
*/
PivotSelectionHeuristic getPivotSelectionHeuristic() const;
/*!
* Retrieves the selected reuse mode.
*
* @return The selected reuse mode.
*/
ReuseMode getReuseMode() const;
const static std::string moduleName;
private:
const static std::string useDecompositionOptionName;
const static std::string splitModeOptionName;
const static std::string addAllGuardsOptionName;
const static std::string useInterpolationOptionName;
const static std::string precisionOptionName;
const static std::string pivotHeuristicOptionName;
const static std::string reuseResultsOptionName;
};
}
}
}