STORM_LOG_THROW(!checkTask.getFormula().hasLowerBound(),storm::exceptions::NotSupportedException,"Lower step bounds are not supported.");
STORM_LOG_THROW(checkTask.getFormula().hasUpperBound(),storm::exceptions::NotSupportedException,"Expected a bounded until formula with an upper bound.");
STORM_LOG_THROW(checkTask.getFormula().isStepBounded(),storm::exceptions::NotSupportedException,"Expected a bounded until formula with step bounds.");
STORM_LOG_THROW(checkTask.getFormula().getTimeBoundReference().isStepBound(),storm::exceptions::NotSupportedException,"Expected a bounded until formula with step bounds.");
STORM_LOG_THROW(*stepBound>0,storm::exceptions::NotSupportedException,"Can not apply parameter lifting on step bounded formula: The step bound has to be positive.");
STORM_LOG_THROW(!checkTask.getFormula().hasLowerBound(),storm::exceptions::NotSupportedException,"Lower step bounds are not supported.");
STORM_LOG_THROW(checkTask.getFormula().hasUpperBound(),storm::exceptions::NotSupportedException,"Expected a bounded until formula with an upper bound.");
STORM_LOG_THROW(checkTask.getFormula().isStepBounded(),storm::exceptions::NotSupportedException,"Expected a bounded until formula with step bounds.");
STORM_LOG_THROW(checkTask.getFormula().getTimeBoundReference().isStepBound(),storm::exceptions::NotSupportedException,"Expected a bounded until formula with step bounds.");
STORM_LOG_THROW(*stepBound>0,storm::exceptions::NotSupportedException,"Can not apply parameter lifting on step bounded formula: The step bound has to be positive.");
STORM_LOG_THROW(!pathFormula.isStepBounded(),storm::exceptions::NotImplementedException,"Currently step-bounded properties on CTMCs are not supported.");
STORM_LOG_THROW(!pathFormula.getTimeBoundReference().isStepBound(),storm::exceptions::NotImplementedException,"Currently step-bounded properties on CTMCs are not supported.");
STORM_LOG_THROW(!pathFormula.isStepBounded(),storm::exceptions::NotImplementedException,"Currently step-bounded properties on CTMCs are not supported.");
STORM_LOG_THROW(!pathFormula.getTimeBoundReference().isStepBound(),storm::exceptions::NotImplementedException,"Currently step-bounded properties on CTMCs are not supported.");
STORM_LOG_THROW(!pathFormula.isStepBounded(),storm::exceptions::NotImplementedException,"Currently step-bounded properties on MAs are not supported.");
STORM_LOG_THROW(!pathFormula.getTimeBoundReference().isStepBound(),storm::exceptions::NotImplementedException,"Currently step-bounded properties on MAs are not supported.");
STORM_LOG_THROW(!data.originalModel.isOfType(storm::models::ModelType::MarkovAutomaton)||!formula.isStepBounded(),storm::exceptions::InvalidPropertyException,"Multi-objective model checking currently does not support STEP-bounded properties for Markov automata.");
STORM_LOG_THROW(!data.originalModel.isOfType(storm::models::ModelType::MarkovAutomaton)||!formula.getTimeBoundReference().isStepBound(),storm::exceptions::InvalidPropertyException,"Multi-objective model checking currently does not support STEP-bounded properties for Markov automata.");
if(formula.hasLowerBound()){
STORM_LOG_THROW(!formula.getLowerBound().containsVariables(),storm::exceptions::InvalidPropertyException,"The lower time bound for the formula "<<formula<<" still contains variables");
STORM_LOG_THROW(false,storm::exceptions::NotSupportedException,"Instant/Cumul. Reward for reward constraints not supported currently.");
STORM_LOG_THROW(false,storm::exceptions::NotSupportedException,"Instant Reward for reward constraints not supported currently.");
}
//STORM_LOG_THROW(!accTime && !accSteps, storm::exceptions::NotSupportedException, "Storm only allows accumulation if a step- or time-bound is given.");
@ -353,7 +353,7 @@ namespace storm {
upperBound--;
}
STORM_LOG_THROW(upperBound>=0,storm::exceptions::InvalidJaniException,"Step-bounds cannot be negative");
STORM_LOG_THROW(pi.hasUpperBound(),storm::exceptions::NotSupportedException,"Storm only supports time-bounded until with an upper bound.");
STORM_LOG_THROW(propertyStructure.at("reward-bounds").count("exp")==1,storm::exceptions::InvalidJaniException,"Expecting reward-expression for operator "<<opString<<" in "<<context);
storm::expressions::ExpressionrewExpr=parseExpression(propertyStructure.at("reward-bounds").at("exp"),"Reward expression in "+context,globalVars,constants);
STORM_LOG_THROW(!rewExpr.isVariable(),storm::exceptions::NotSupportedException,"Storm currently does not support complex reward expressions.");