Description
In stamina::checker::StaminaModelChecker
, two transient analysis are being performed, one for
Note that
but it should be able to be calculated as follows:
So we can use the typical
$$
P_{max} = P_{=?}[\psi\ U^I\ \phi\ \vee\ \hat{s}]
$$
And then get CheckResult
(not sure how yet)
This occurs at StaminaModelChecker.cpp:214
auto result_lower = checker->check(
// env,
storm::modelchecker::CheckTask<>(*(propMin.getRawFormula()), true)
);
min_results->result = result_lower->asExplicitQuantitativeCheckResult<double>()[*model->getInitialStates().begin()];
auto result_upper = checker->check(
// env,
storm::modelchecker::CheckTask<>(*(propMax.getRawFormula()), true)
);
max_results->result = result_upper->asExplicitQuantitativeCheckResult<double>()[*model->getInitialStates().begin()];
This could be changed to something like
auto result_upper = checker->check(
// env,
storm::modelchecker::CheckTask<>(*(propMax.getRawFormula()), true)
);
max_results->result = result_upper->asExplicitQuantitativeCheckResult<double>()[*model->getInitialStates().begin()];
min_results->result = max_results->result - /* Wherever to get p(s_a) */;
I tried result_upper->asExplicitQuantitativeCheckResult<double>()[0]
, as well as a number of other things, (since the absorbing state index is 0
), but this didn't work.