STORM_LOG_THROW(parsedStructure.count("variables")<2,storm::exceptions::InvalidJaniException,"Variable-declarations can be given at most once for global variables.");
STORM_LOG_THROW(variableStructure.count("name")==1,storm::exceptions::InvalidJaniException,"Variable (scope: "+scopeDescription+") must have a name");
std::stringname=getString(variableStructure.at("name"),"variable-name in "+scopeDescription+"-scope");
STORM_LOG_THROW(variableStructure.count("type")==1,storm::exceptions::InvalidJaniException,"Variable '"+name+"' (scope: "+scopeDescription+") must have a (single) type-declaration.");
STORM_LOG_THROW(variableStructure.count("initial-value")==1,storm::exceptions::InvalidJaniException,"Initial value for variable '"+name+"' + (scope: "+scopeDescription+") must be given once.");
// Read initial value before; that makes creation later on a bit easier, and has as an additional benefit that we do not need to check whether the variable occurs also on the assignment.
storm::expressions::ExpressioninitExpr=parseExpression(variableStructure.at("initial-value"),"Initial value of variable "+name+" (scope: "+scopeDescription+")");
STORM_LOG_THROW(false,storm::exceptions::InvalidJaniException,"Unknown type description "<<variableStructure.at("type").dump()<<" for Variable '"<<name<<"' (scope: "<<scopeDescription<<")");
}
}// TODO support other types.
if(variableStructure.at("type").is_object()){
}
else{
STORM_LOG_THROW(false,storm::exceptions::InvalidJaniException,"Unknown type description, "<<variableStructure.at("type").dump()<<" for Variable '"<<name<<"' (scope: "<<scopeDescription<<")");