// Child not found -> find first dependent event to assure that child is dependency
// Child not found -> find first dependent event to assure that child is dependency
// TODO: Not sure whether this is the intended behaviour?
// TODO: Not sure whether this is the intended behaviour?
autoitFind=mElements.find(child+"_1");
autoitFind=mElements.find(child+"_1");
STORM_LOG_ASSERT(itFind!=mElements.end(),"Child '"<<child<<"' for gate '"<<gate->name()<<"' not found.");
STORM_LOG_ASSERT(itFind->second->isDependency(),"Child is no dependency.");
STORM_LOG_THROW(itFind!=mElements.end(),storm::exceptions::WrongFormatException,"Child '"<<child<<"' for gate '"<<gate->name()<<"' not found.");
STORM_LOG_THROW(itFind->second->isDependency(),storm::exceptions::WrongFormatException,"Child '"<<child<<"'is no dependency.");
STORM_LOG_TRACE("Ignore functional dependency "<<child<<" in gate "<<gate->name());
STORM_LOG_TRACE("Ignore functional dependency "<<child<<" in gate "<<gate->name());
}
}
}
}
@ -47,7 +47,7 @@ namespace storm {
for(auto&elem:mRestrictionChildNames){
for(auto&elem:mRestrictionChildNames){
for(autoconst&childName:elem.second){
for(autoconst&childName:elem.second){
autoitFind=mElements.find(childName);
autoitFind=mElements.find(childName);
STORM_LOG_ASSERT(itFind!=mElements.end(),"Child not found.");
STORM_LOG_THROW(itFind!=mElements.end(),storm::exceptions::WrongFormatException,"Child '"<<childName<<"' for gate '"<<elem.first->name()<<"' not found.");
DFTElementPointerchildElement=itFind->second;
DFTElementPointerchildElement=itFind->second;
STORM_LOG_THROW(childElement->isGate()||childElement->isBasicElement(),storm::exceptions::WrongFormatException,"Child '"<<childElement->name()<<"' of restriction '"<<elem.first->name()<<"' must be gate or BE.");
STORM_LOG_THROW(childElement->isGate()||childElement->isBasicElement(),storm::exceptions::WrongFormatException,"Child '"<<childElement->name()<<"' of restriction '"<<elem.first->name()<<"' must be gate or BE.");
STORM_LOG_ASSERT(itFind!=mElements.end(),"Child '"<<childName<<"' not found");
STORM_LOG_THROW(itFind!=mElements.end(),storm::exceptions::WrongFormatException,"Child '"<<childName<<"' for gate '"<<elem.first->name()<<"' not found.");
DFTElementPointerchildElement=itFind->second;
DFTElementPointerchildElement=itFind->second;
if(!first){
if(!first){
STORM_LOG_THROW(childElement->isBasicElement(),storm::exceptions::WrongFormatException,"Child '"<<childName<<"' of dependency '"<<elem.first->name()<<"' must be BE.");
STORM_LOG_THROW(childElement->isBasicElement(),storm::exceptions::WrongFormatException,"Child '"<<childName<<"' of dependency '"<<elem.first->name()<<"' must be BE.");