// If we can reach a state that is reachable from goal, but which is not a goal state, it means that the transformation to expected rewards is not possible.
// If we can reach a state that is reachable from goal, but which is not a goal state, it means that the transformation to expected rewards is not possible.
STORM_LOG_INFO("Objective "<<data.objectives.back()->originalFormula<<" is transformed to an expected total/cumulative reward property.");
STORM_LOG_INFO("Objective "<<*data.objectives.back()->originalFormula<<" is transformed to an expected total/cumulative reward property.");
// Transform to expected total rewards:
// Transform to expected total rewards:
// build stateAction reward vector that gives (one*transitionProbability) reward whenever a transition leads from a reachableFromInit state to a goalState
// build stateAction reward vector that gives (one*transitionProbability) reward whenever a transition leads from a reachableFromInit state to a goalState
// If we can reach a state that is reachable from goal but which is not a goal state, it means that the transformation to expected total rewards is not possible.
// If we can reach a state that is reachable from goal but which is not a goal state, it means that the transformation to expected total rewards is not possible.
STORM_LOG_THROW(false,storm::exceptions::InvalidPropertyException,"The formula "<<formula<<" neither considers reachability probabilities nor reachability rewards "<<(data.model->isOfType(storm::models::ModelType::MarkovAutomaton)?"nor reachability time":"")<<". This is not supported.");
STORM_LOG_THROW(false,storm::exceptions::InvalidPropertyException,"The formula "<<formula<<" neither considers reachability probabilities nor reachability rewards "<<(data.model->isOfType(storm::models::ModelType::MarkovAutomaton)?"nor reachability time":"")<<". This is not supported.");
}
}
}else{
}else{
STORM_LOG_INFO("Objective "<<data.objectives.back()->originalFormula<<" can not be transformed to an expected total/cumulative reward property.");
STORM_LOG_INFO("Objective "<<*data.objectives.back()->originalFormula<<" can not be transformed to an expected total/cumulative reward property.");
STORM_LOG_THROW(false,storm::exceptions::InvalidPropertyException,"The formula "<<formula<<" neither considers reachability probabilities nor reachability rewards "<<(data.model->isOfType(storm::models::ModelType::MarkovAutomaton)?"nor reachability time":"")<<". This is not supported.");
STORM_LOG_THROW(false,storm::exceptions::InvalidPropertyException,"The formula "<<formula<<" neither considers reachability probabilities nor reachability rewards "<<(data.model->isOfType(storm::models::ModelType::MarkovAutomaton)?"nor reachability time":"")<<". This is not supported.");