STORM_LOG_ASSERT(this->_producedChoices.is_initialized(),"Trying to extract the produced scheduler but none is available. Was there a computation call before?");
STORM_LOG_ASSERT(this->_producedChoices.is_initialized(),"Trying to extract the produced scheduler but none is available. Was there a computation call before?");
STORM_LOG_ASSERT(this->_memoryTransitions.is_initialized(),"Trying to extract the DA transition structure but none is available. Was there a computation call before?");
STORM_LOG_ASSERT(this->_memoryTransitions.is_initialized(),"Trying to extract the DA transition structure but none is available. Was there a computation call before?");
STORM_LOG_ASSERT(this->_memoryInitialStates.is_initialized(),"Trying to extract the initial states of the DA but there are none available. Was there a computation call before?");
STORM_LOG_ASSERT(this->_memoryInitialStates.is_initialized(),"Trying to extract the initial states of the DA but there are none available. Was there a computation call before?");
STORM_LOG_ASSERT(this->_dontCareStates.is_initialized(),"Trying to extract the dontCare states of the Scheduler but there are none available. Was there a computation call before?");
STORM_LOG_ASSERT(this->_dontCareStates.is_initialized(),"Trying to extract the Scheduler-dontCare states but there are none available. Was there a computation call before?");
// Create a memory structure for the MDP scheduler with memory. If hasRelevantStates is set, we only consider initial model states relevant.
// Create a memory structure for the MDP scheduler with memory. If hasRelevantStates is set, we only consider initial model states relevant.
@ -147,7 +147,7 @@ namespace storm {
}
}
for(autoconst&conjunction:dnf){
for(autoconst&conjunction:dnf){
// determine the set of states of the subMDP that can satisfy the condition, remove all states that would violate Fins in the conjunction
// Determine the set of states of the subMDP that can satisfy the condition, remove all states that would violate Fins in the conjunction.
//TODO not defined for memory and unreachable states are not considered
STORM_LOG_THROW(model==nullptr||model->getNumberOfStates()==schedulerChoices.front().size(),storm::exceptions::InvalidOperationException,"The given model is not compatible with this scheduler.");
STORM_LOG_THROW(model==nullptr||model->getNumberOfStates()==schedulerChoices.front().size(),storm::exceptions::InvalidOperationException,"The given model is not compatible with this scheduler.");
STORM_LOG_WARN_COND(!(skipUniqueChoices&&model==nullptr),"Can not skip unique choices if the model is not given.");
STORM_LOG_WARN_COND(!(skipUniqueChoices&&model==nullptr),"Can not skip unique choices if the model is not given.");
STORM_LOG_THROW(isMemorylessScheduler(),storm::exceptions::NotImplementedException,"Json export of schedulers with memory not implemented.");