STORM_LOG_THROW(propertyStructure.count("reward-instants")==0,storm::exceptions::NotSupportedException,"Storm does not support to have a step-instant and a reward-instant in "+scope.description);
STORM_LOG_THROW(propertyStructure.count("reward-instants")==0,storm::exceptions::NotSupportedException,"Storm does not support to have a time-instant and a reward-instant in "+scope.description);
STORM_LOG_THROW(false,storm::exceptions::NotImplementedException,"Smin and Smax are currently not supported");
@ -1403,6 +1416,7 @@ namespace storm {
STORM_LOG_THROW(edgeEntry.at("rate").count("exp")==1,storm::exceptions::InvalidJaniException,"Rate in edge from '"<<sourceLoc<<"' in automaton '"<<name<<"' must have a defing expression.");
rateExpr=parseExpression(edgeEntry.at("rate").at("exp"),scope.refine("rate expression in edge from '"+sourceLoc));
STORM_LOG_THROW(rateExpr.hasNumericalType(),storm::exceptions::InvalidJaniException,"Rate '"<<rateExpr<<"' has not a numerical type");
STORM_LOG_THROW(rateExpr.containsVariables()||rateExpr.evaluateAsRational()>storm::utility::zero<storm::RationalNumber>(),storm::exceptions::InvalidJaniException,"Only positive rates are allowed but rate '"<<rateExpr<<" was found.");
}
// guard
STORM_LOG_THROW(edgeEntry.count("guard")<=1,storm::exceptions::InvalidJaniException,"Guard can be given at most once in edge from '"<<sourceLoc<<"' in automaton '"<<name<<"'");
STORM_LOG_THROW(rewardModelName.is_initialized(),storm::exceptions::InvalidPropertyException,"Unable to find transient variable with for unique reward model.");
STORM_LOG_THROW(model.hasGlobalVariable(rewardModelName.get()),storm::exceptions::InvalidPropertyException,"Unable to find transient variable with name "<<rewardModelName.get()<<".");
STORM_LOG_THROW(rewardModelName.is_initialized(),storm::exceptions::InvalidPropertyException,"Unable to find transient variable for unique reward model.");