@ -179,23 +179,22 @@ namespace storm {
auto const & input = storm : : settings : : getModule < storm : : settings : : modules : : ConversionInputSettings > ( ) ;
// Parse the jani model
auto janiModelProperties = storm : : api : : parseJaniModel ( input . getJaniInputFilename ( ) ) ;
storm : : storage : : SymbolicModelDescription janiModel ( janiModelProperties . first ) ;
auto janiModelProperties = storm : : api : : parseJaniModel ( input . getJaniInputFilename ( ) , storm : : jani : : getAllKnownModelFeatures ( ) ) ;
// Parse properties (if available, otherwise take the ones from the jani file)
std : : vector < storm : : jani : : Property > properties ;
if ( input . isPropertyInputSet ( ) ) {
boost : : optional < std : : set < std : : string > > propertyFilter = storm : : api : : parsePropertyFilter ( input . getPropertyInputFilter ( ) ) ;
properties = storm : : api : : parsePropertiesForSymbolicModelDescription ( input . getPropertyInput ( ) , janiModel , propertyFilter ) ;
properties = storm : : api : : parsePropertiesForSymbolicModelDescription ( input . getPropertyInput ( ) , janiModelProperties . first , propertyFilter ) ;
} else {
for ( auto const & p : janiModelProperties . second ) {
properties . push_back ( p . second ) ;
}
}
// Substitute constant definitions in progra m and properties.
// Substitute constant definitions in model and properties.
std : : string constantDefinitionString = input . getConstantDefinitionString ( ) ;
auto constantDefinitions = janiModel . parseConstantDefinitions ( constantDefinitionString ) ;
janiModel = janiModel . preproces s( constantDefinitions ) ;
auto constantDefinitions = janiModelProperties . first . parseConstantDefinitions ( constantDefinitionString ) ;
auto janiModel = janiModelProperties . first . . defineUndefinedConstant s ( constantDefinitions ) . substituteConstants ( ) ;
if ( ! properties . empty ( ) ) {
properties = storm : : api : : substituteConstantsInProperties ( properties , constantDefinitions ) ;
}
@ -203,7 +202,7 @@ namespace storm {
// Branch on the type of output
auto const & output = storm : : settings : : getModule < storm : : settings : : modules : : ConversionOutputSettings > ( ) ;
if ( output . isJaniOutputSet ( ) ) {
processJaniInputJaniOutput ( janiModel . asJaniModel ( ) , properties ) ;
processJaniInputJaniOutput ( janiModel , properties ) ;
} else {
STORM_LOG_THROW ( false , storm : : exceptions : : InvalidSettingsException , " There is either no outputformat specified or the provided combination of input and output format is not compatible. " ) ;
}