|  | @ -48,52 +48,49 @@ namespace storm { | 
		
	
		
			
				|  |  |                             priorities[i] = (-(mDft.getElement(i)->rank()) + mDft.maxRank()) * 2 + 5; |  |  |                             priorities[i] = (-(mDft.getElement(i)->rank()) + mDft.maxRank()) * 2 + 5; | 
		
	
		
			
				|  |  |                     } |  |  |                     } | 
		
	
		
			
				|  |  |                 } else { |  |  |                 } else { | 
		
	
		
			
				|  |  |                     // make sure every element has a unique priority by working with the rank
 |  |  |  | 
		
	
		
			
				|  |  |                     std::map<uint64_t, uint64_t> rankMap; |  |  |  | 
		
	
		
			
				|  |  |                     std::map<uint64_t, uint64_t> rankCounter; |  |  |  | 
		
	
		
			
				|  |  |                     // initialize rankMap
 |  |  |  | 
		
	
		
			
				|  |  |                     for (std::size_t i = 0; i <= mDft.maxRank(); i++) { |  |  |  | 
		
	
		
			
				|  |  |                         rankMap[i] = 0; |  |  |  | 
		
	
		
			
				|  |  |                         rankCounter[i] = 0; |  |  |  | 
		
	
		
			
				|  |  |                     } |  |  |  | 
		
	
		
			
				|  |  |                     // Count the number of elements with each rank and get max. grade of dependency
 |  |  |  | 
		
	
		
			
				|  |  |                     uint64_t maxNrChildren = 0; |  |  |  | 
		
	
		
			
				|  |  |                     uint64_t maxGrade = 0; |  |  |  | 
		
	
		
			
				|  |  |                     uint64_t numberDependencies = 0; |  |  |  | 
		
	
		
			
				|  |  |  |  |  |                     // Define some variables
 | 
		
	
		
			
				|  |  |  |  |  |                     u_int64_t maxNrOfChildren = 0; | 
		
	
		
			
				|  |  |  |  |  |                     u_int64_t maxNrDependentEvents = 0; | 
		
	
		
			
				|  |  |  |  |  |                     // Iterate over all elements of the DFT and sort them into the list
 | 
		
	
		
			
				|  |  |  |  |  |                     std::list<size_t> elementList; | 
		
	
		
			
				|  |  |                     for (std::size_t i = 0; i < mDft.nrElements(); i++) { |  |  |                     for (std::size_t i = 0; i < mDft.nrElements(); i++) { | 
		
	
		
			
				|  |  |                         ++rankMap[mDft.getElement(i)->rank()]; |  |  |  | 
		
	
		
			
				|  |  |                         ++rankCounter[mDft.getElement(i)->rank()]; |  |  |  | 
		
	
		
			
				|  |  |                         if (mDft.getElement(i)->type() == storm::storage::DFTElementType::PDEP) { |  |  |                         if (mDft.getElement(i)->type() == storm::storage::DFTElementType::PDEP) { | 
		
	
		
			
				|  |  |                             numberDependencies++; |  |  |  | 
		
	
		
			
				|  |  |                             uint64_t nrDependentEvents = |  |  |  | 
		
	
		
			
				|  |  |                                     sizeof((std::static_pointer_cast<storm::storage::DFTDependency<ValueType> const>( |  |  |  | 
		
	
		
			
				|  |  |                                             mDft.getElement(i)))->dependentEvents()); |  |  |  | 
		
	
		
			
				|  |  |                             if (nrDependentEvents > maxGrade) { |  |  |  | 
		
	
		
			
				|  |  |                                 maxGrade = nrDependentEvents; |  |  |  | 
		
	
		
			
				|  |  |                             } |  |  |  | 
		
	
		
			
				|  |  |                         } |  |  |  | 
		
	
		
			
				|  |  |                         if (mDft.getElement(i)->nrChildren() > maxNrChildren) |  |  |  | 
		
	
		
			
				|  |  |                             maxNrChildren = mDft.getElement(i)->nrChildren(); |  |  |  | 
		
	
		
			
				|  |  |                     } |  |  |  | 
		
	
		
			
				|  |  |                     STORM_LOG_DEBUG("MaxGrade " << maxGrade); |  |  |  | 
		
	
		
			
				|  |  | 
 |  |  |  | 
		
	
		
			
				|  |  |                     uint64_t dependency_priority = mDft.nrElements() + 1; |  |  |  | 
		
	
		
			
				|  |  |                     for (std::size_t i = 0; i < mDft.nrElements(); i++) { |  |  |  | 
		
	
		
			
				|  |  |                         if (mDft.getElement(i)->type() == storm::storage::DFTElementType::PDEP) { |  |  |  | 
		
	
		
			
				|  |  |                             priorities[i] = dependency_priority; |  |  |  | 
		
	
		
			
				|  |  |                             dependency_priority++; |  |  |  | 
		
	
		
			
				|  |  |  |  |  |                             // For dependencies, get the maximal number of dependent events
 | 
		
	
		
			
				|  |  |  |  |  |                             auto dependency = std::static_pointer_cast<storm::storage::DFTDependency<ValueType> const>( | 
		
	
		
			
				|  |  |  |  |  |                                     mDft.getElement(i)); | 
		
	
		
			
				|  |  |  |  |  |                             uint64_t nrDependentEvents = (dependency->dependentEvents()).size(); | 
		
	
		
			
				|  |  |  |  |  |                             if (nrDependentEvents > maxNrDependentEvents) { | 
		
	
		
			
				|  |  |  |  |  |                                 maxNrDependentEvents = nrDependentEvents; | 
		
	
		
			
				|  |  |  |  |  |                             } | 
		
	
		
			
				|  |  |  |  |  |                         } | 
		
	
		
			
				|  |  |  |  |  |                         // Get the maximum number of children
 | 
		
	
		
			
				|  |  |  |  |  |                         if (maxNrOfChildren < mDft.getElement(i)->nrChildren()) { | 
		
	
		
			
				|  |  |  |  |  |                             maxNrOfChildren = mDft.getElement(i)->nrChildren(); | 
		
	
		
			
				|  |  |  |  |  |                         } | 
		
	
		
			
				|  |  |  |  |  |                         // Organize the elements according to their rank
 | 
		
	
		
			
				|  |  |  |  |  |                         if (!elementList.empty()) { | 
		
	
		
			
				|  |  |  |  |  |                             std::list<size_t>::iterator it = elementList.begin(); | 
		
	
		
			
				|  |  |  |  |  |                             // Make sure dependencies are always in the front
 | 
		
	
		
			
				|  |  |  |  |  |                             while ((mDft.getElement(*it)->rank()) < (mDft.getElement(i)->rank()) | 
		
	
		
			
				|  |  |  |  |  |                                    || mDft.getElement(*it)->type() == storm::storage::DFTElementType::PDEP) { | 
		
	
		
			
				|  |  |  |  |  |                                 it++; | 
		
	
		
			
				|  |  |  |  |  |                             } | 
		
	
		
			
				|  |  |  |  |  |                             elementList.insert(it, i); | 
		
	
		
			
				|  |  |                         } else { |  |  |                         } else { | 
		
	
		
			
				|  |  |                             // Offset saves the number of elements with higher rank than the current element
 |  |  |  | 
		
	
		
			
				|  |  |                             uint64_t offset = 0; |  |  |  | 
		
	
		
			
				|  |  |                             for (std::size_t j = mDft.maxRank(); j > mDft.getElement(i)->rank(); --j) { |  |  |  | 
		
	
		
			
				|  |  |                                 offset += rankMap[j]; |  |  |  | 
		
	
		
			
				|  |  |  |  |  |                             elementList.push_back(i); | 
		
	
		
			
				|  |  |                         } |  |  |                         } | 
		
	
		
			
				|  |  |                             // Set priority according to rank such that all elements with the same rank have a unique prio
 |  |  |  | 
		
	
		
			
				|  |  |                             priorities[i] = |  |  |  | 
		
	
		
			
				|  |  |                                     (offset + rankCounter[mDft.getElement(i)->rank()]) * (maxNrChildren + 3) + |  |  |  | 
		
	
		
			
				|  |  |                                     mDft.nrElements() + maxGrade * numberDependencies + 4; |  |  |  | 
		
	
		
			
				|  |  |                             rankCounter[mDft.getElement(i)->rank()]--; |  |  |  | 
		
	
		
			
				|  |  |                     } |  |  |                     } | 
		
	
		
			
				|  |  |  |  |  |                     // Get the necessary length for priority intervals
 | 
		
	
		
			
				|  |  |  |  |  |                     // Note that additional priorities are necessary
 | 
		
	
		
			
				|  |  |  |  |  |                     u_int64_t priorityIntervalLength = std::max(maxNrDependentEvents, maxNrOfChildren) + 4; | 
		
	
		
			
				|  |  |  |  |  | 
 | 
		
	
		
			
				|  |  |  |  |  |                     // Define a running variable for the current priority
 | 
		
	
		
			
				|  |  |  |  |  |                     // Initialize it with an offset for the DC priorities + first interval length as prios give upper interval limit
 | 
		
	
		
			
				|  |  |  |  |  |                     u_int64_t currentPrio = mDft.nrElements() + priorityIntervalLength; | 
		
	
		
			
				|  |  |  |  |  | 
 | 
		
	
		
			
				|  |  |  |  |  |                     for (std::list<size_t>::iterator it = elementList.begin(); it != elementList.end(); ++it) { | 
		
	
		
			
				|  |  |  |  |  |                         priorities[*it] = currentPrio; | 
		
	
		
			
				|  |  |  |  |  |                         currentPrio += priorityIntervalLength; | 
		
	
		
			
				|  |  |                     } |  |  |                     } | 
		
	
		
			
				|  |  |                 } |  |  |                 } | 
		
	
		
			
				|  |  | 
 |  |  | 
 | 
		
	
	
		
			
				|  | @ -174,11 +171,6 @@ namespace storm { | 
		
	
		
			
				|  |  |                     std::shared_ptr<storm::storage::DFTBE<ValueType> const> dftBE) { |  |  |                     std::shared_ptr<storm::storage::DFTBE<ValueType> const> dftBE) { | 
		
	
		
			
				|  |  |                 double xcenter = mDft.getElementLayoutInfo(dftBE->id()).x; |  |  |                 double xcenter = mDft.getElementLayoutInfo(dftBE->id()).x; | 
		
	
		
			
				|  |  |                 double ycenter = mDft.getElementLayoutInfo(dftBE->id()).y; |  |  |                 double ycenter = mDft.getElementLayoutInfo(dftBE->id()).y; | 
		
	
		
			
				|  |  |                 uint64_t propagationPrio = 0; |  |  |  | 
		
	
		
			
				|  |  |                 if (extendedPriorities) |  |  |  | 
		
	
		
			
				|  |  |                     propagationPrio = (getFailPriority(dftBE) - mDft.nrElements() - 3) / 3 + 3; |  |  |  | 
		
	
		
			
				|  |  |                 else |  |  |  | 
		
	
		
			
				|  |  |                     propagationPrio = dontCarePriority; |  |  |  | 
		
	
		
			
				|  |  | 
 |  |  | 
 | 
		
	
		
			
				|  |  |                 uint64_t failedPlace = addFailedPlace(dftBE, storm::gspn::LayoutInfo(xcenter + 3.0, ycenter)); |  |  |                 uint64_t failedPlace = addFailedPlace(dftBE, storm::gspn::LayoutInfo(xcenter + 3.0, ycenter)); | 
		
	
		
			
				|  |  | 
 |  |  | 
 | 
		
	
	
		
			
				|  | @ -221,7 +213,7 @@ namespace storm { | 
		
	
		
			
				|  |  |                             dependencyPropagationPlaces.emplace(dftBE->id(), dependencyPropagationPlace); |  |  |                             dependencyPropagationPlaces.emplace(dftBE->id(), dependencyPropagationPlace); | 
		
	
		
			
				|  |  |                             builder.setPlaceLayoutInfo(dependencyPropagationPlace, |  |  |                             builder.setPlaceLayoutInfo(dependencyPropagationPlace, | 
		
	
		
			
				|  |  |                                                        storm::gspn::LayoutInfo(xcenter + 10.0, ycenter - 5.0)); |  |  |                                                        storm::gspn::LayoutInfo(xcenter + 10.0, ycenter - 5.0)); | 
		
	
		
			
				|  |  |                             uint64_t tPropagationFailed = builder.addImmediateTransition(propagationPrio, 0.0, |  |  |  | 
		
	
		
			
				|  |  |  |  |  |                             uint64_t tPropagationFailed = builder.addImmediateTransition(dontCarePriority, 0.0, | 
		
	
		
			
				|  |  |                                                                                          dftBE->name() + "_prop_fail"); |  |  |                                                                                          dftBE->name() + "_prop_fail"); | 
		
	
		
			
				|  |  |                             builder.setTransitionLayoutInfo(tPropagationFailed, |  |  |                             builder.setTransitionLayoutInfo(tPropagationFailed, | 
		
	
		
			
				|  |  |                                                             storm::gspn::LayoutInfo(xcenter + 8.0, ycenter)); |  |  |                                                             storm::gspn::LayoutInfo(xcenter + 8.0, ycenter)); | 
		
	
	
		
			
				|  | @ -229,7 +221,7 @@ namespace storm { | 
		
	
		
			
				|  |  |                             builder.addInputArc(failedPlace, tPropagationFailed); |  |  |                             builder.addInputArc(failedPlace, tPropagationFailed); | 
		
	
		
			
				|  |  |                             builder.addOutputArc(tPropagationFailed, failedPlace); |  |  |                             builder.addOutputArc(tPropagationFailed, failedPlace); | 
		
	
		
			
				|  |  |                             builder.addOutputArc(tPropagationFailed, dependencyPropagationPlace); |  |  |                             builder.addOutputArc(tPropagationFailed, dependencyPropagationPlace); | 
		
	
		
			
				|  |  |                             uint64_t tPropagationDontCare = builder.addImmediateTransition(propagationPrio, 0.0, |  |  |  | 
		
	
		
			
				|  |  |  |  |  |                             uint64_t tPropagationDontCare = builder.addImmediateTransition(dontCarePriority, 0.0, | 
		
	
		
			
				|  |  |                                                                                            dftBE->name() + |  |  |                                                                                            dftBE->name() + | 
		
	
		
			
				|  |  |                                                                                            "_prop_dontCare"); |  |  |                                                                                            "_prop_dontCare"); | 
		
	
		
			
				|  |  |                             builder.setTransitionLayoutInfo(tPropagationDontCare, |  |  |                             builder.setTransitionLayoutInfo(tPropagationDontCare, | 
		
	
	
		
			
				|  | @ -259,6 +251,8 @@ namespace storm { | 
		
	
		
			
				|  |  |                     builder.addOutputArc(tPassive, unavailablePlace); |  |  |                     builder.addOutputArc(tPassive, unavailablePlace); | 
		
	
		
			
				|  |  |                 } |  |  |                 } | 
		
	
		
			
				|  |  | 
 |  |  | 
 | 
		
	
		
			
				|  |  |  |  |  |                 if (extendedPriorities) | 
		
	
		
			
				|  |  |  |  |  |                     dontCarePriority++; | 
		
	
		
			
				|  |  |             } |  |  |             } | 
		
	
		
			
				|  |  | 
 |  |  | 
 | 
		
	
		
			
				|  |  |             template<typename ValueType> |  |  |             template<typename ValueType> | 
		
	
	
		
			
				|  | @ -299,11 +293,6 @@ namespace storm { | 
		
	
		
			
				|  |  |                     std::shared_ptr<storm::storage::DFTAnd<ValueType> const> dftAnd) { |  |  |                     std::shared_ptr<storm::storage::DFTAnd<ValueType> const> dftAnd) { | 
		
	
		
			
				|  |  |                 double xcenter = mDft.getElementLayoutInfo(dftAnd->id()).x; |  |  |                 double xcenter = mDft.getElementLayoutInfo(dftAnd->id()).x; | 
		
	
		
			
				|  |  |                 double ycenter = mDft.getElementLayoutInfo(dftAnd->id()).y; |  |  |                 double ycenter = mDft.getElementLayoutInfo(dftAnd->id()).y; | 
		
	
		
			
				|  |  |                 uint64_t propagationPrio = 0; |  |  |  | 
		
	
		
			
				|  |  |                 if (extendedPriorities) |  |  |  | 
		
	
		
			
				|  |  |                     propagationPrio = (getFailPriority(dftAnd) - mDft.nrElements() - 3) / 3 + 3; |  |  |  | 
		
	
		
			
				|  |  |                 else |  |  |  | 
		
	
		
			
				|  |  |                     propagationPrio = dontCarePriority; |  |  |  | 
		
	
		
			
				|  |  | 
 |  |  | 
 | 
		
	
		
			
				|  |  |                 uint64_t failedPlace = addFailedPlace(dftAnd, storm::gspn::LayoutInfo(xcenter, ycenter - 3.0)); |  |  |                 uint64_t failedPlace = addFailedPlace(dftAnd, storm::gspn::LayoutInfo(xcenter, ycenter - 3.0)); | 
		
	
		
			
				|  |  | 
 |  |  | 
 | 
		
	
	
		
			
				|  | @ -327,7 +316,7 @@ namespace storm { | 
		
	
		
			
				|  |  |                             uint64_t propagationPlace = builder.addPlace(1, 0, dftAnd->name() + "_prop"); |  |  |                             uint64_t propagationPlace = builder.addPlace(1, 0, dftAnd->name() + "_prop"); | 
		
	
		
			
				|  |  |                             builder.setPlaceLayoutInfo(propagationPlace, |  |  |                             builder.setPlaceLayoutInfo(propagationPlace, | 
		
	
		
			
				|  |  |                                                        storm::gspn::LayoutInfo(xcenter + 12.0, ycenter + 8.0)); |  |  |                                                        storm::gspn::LayoutInfo(xcenter + 12.0, ycenter + 8.0)); | 
		
	
		
			
				|  |  |                             uint64_t tPropagationFailed = builder.addImmediateTransition(propagationPrio, 0.0, |  |  |  | 
		
	
		
			
				|  |  |  |  |  |                             uint64_t tPropagationFailed = builder.addImmediateTransition(dontCarePriority, 0.0, | 
		
	
		
			
				|  |  |                                                                                          dftAnd->name() + "_prop_fail"); |  |  |                                                                                          dftAnd->name() + "_prop_fail"); | 
		
	
		
			
				|  |  |                             builder.setTransitionLayoutInfo(tPropagationFailed, |  |  |                             builder.setTransitionLayoutInfo(tPropagationFailed, | 
		
	
		
			
				|  |  |                                                             storm::gspn::LayoutInfo(xcenter + 10.0, ycenter + 6.0)); |  |  |                                                             storm::gspn::LayoutInfo(xcenter + 10.0, ycenter + 6.0)); | 
		
	
	
		
			
				|  | @ -335,7 +324,7 @@ namespace storm { | 
		
	
		
			
				|  |  |                             builder.addInputArc(failedPlace, tPropagationFailed); |  |  |                             builder.addInputArc(failedPlace, tPropagationFailed); | 
		
	
		
			
				|  |  |                             builder.addOutputArc(tPropagationFailed, failedPlace); |  |  |                             builder.addOutputArc(tPropagationFailed, failedPlace); | 
		
	
		
			
				|  |  |                             builder.addOutputArc(tPropagationFailed, propagationPlace); |  |  |                             builder.addOutputArc(tPropagationFailed, propagationPlace); | 
		
	
		
			
				|  |  |                             uint64_t tPropagationDontCare = builder.addImmediateTransition(propagationPrio, 0.0, |  |  |  | 
		
	
		
			
				|  |  |  |  |  |                             uint64_t tPropagationDontCare = builder.addImmediateTransition(dontCarePriority, 0.0, | 
		
	
		
			
				|  |  |                                                                                            dftAnd->name() + |  |  |                                                                                            dftAnd->name() + | 
		
	
		
			
				|  |  |                                                                                            "_prop_dontCare"); |  |  |                                                                                            "_prop_dontCare"); | 
		
	
		
			
				|  |  |                             builder.setTransitionLayoutInfo(tPropagationDontCare, |  |  |                             builder.setTransitionLayoutInfo(tPropagationDontCare, | 
		
	
	
		
			
				|  | @ -384,6 +373,8 @@ namespace storm { | 
		
	
		
			
				|  |  |                     builder.addInputArc(getFailedPlace(child), tFailed); |  |  |                     builder.addInputArc(getFailedPlace(child), tFailed); | 
		
	
		
			
				|  |  |                     builder.addOutputArc(tFailed, getFailedPlace(child)); |  |  |                     builder.addOutputArc(tFailed, getFailedPlace(child)); | 
		
	
		
			
				|  |  |                 } |  |  |                 } | 
		
	
		
			
				|  |  |  |  |  |                 if (extendedPriorities) | 
		
	
		
			
				|  |  |  |  |  |                     dontCarePriority++; | 
		
	
		
			
				|  |  |             } |  |  |             } | 
		
	
		
			
				|  |  | 
 |  |  | 
 | 
		
	
		
			
				|  |  |             template<typename ValueType> |  |  |             template<typename ValueType> | 
		
	
	
		
			
				|  | @ -391,11 +382,6 @@ namespace storm { | 
		
	
		
			
				|  |  |                     std::shared_ptr<storm::storage::DFTOr<ValueType> const> dftOr) { |  |  |                     std::shared_ptr<storm::storage::DFTOr<ValueType> const> dftOr) { | 
		
	
		
			
				|  |  |                 double xcenter = mDft.getElementLayoutInfo(dftOr->id()).x; |  |  |                 double xcenter = mDft.getElementLayoutInfo(dftOr->id()).x; | 
		
	
		
			
				|  |  |                 double ycenter = mDft.getElementLayoutInfo(dftOr->id()).y; |  |  |                 double ycenter = mDft.getElementLayoutInfo(dftOr->id()).y; | 
		
	
		
			
				|  |  |                 uint64_t propagationPrio = 0; |  |  |  | 
		
	
		
			
				|  |  |                 if (extendedPriorities) |  |  |  | 
		
	
		
			
				|  |  |                     propagationPrio = (getFailPriority(dftOr) - mDft.nrElements() - 3) / 3 + 3; |  |  |  | 
		
	
		
			
				|  |  |                 else |  |  |  | 
		
	
		
			
				|  |  |                     propagationPrio = dontCarePriority; |  |  |  | 
		
	
		
			
				|  |  | 
 |  |  | 
 | 
		
	
		
			
				|  |  |                 uint64_t failedPlace = addFailedPlace(dftOr, storm::gspn::LayoutInfo(xcenter, ycenter - 3.0)); |  |  |                 uint64_t failedPlace = addFailedPlace(dftOr, storm::gspn::LayoutInfo(xcenter, ycenter - 3.0)); | 
		
	
		
			
				|  |  | 
 |  |  | 
 | 
		
	
	
		
			
				|  | @ -413,7 +399,7 @@ namespace storm { | 
		
	
		
			
				|  |  |                             uint64_t propagationPlace = builder.addPlace(1, 0, dftOr->name() + "_prop"); |  |  |                             uint64_t propagationPlace = builder.addPlace(1, 0, dftOr->name() + "_prop"); | 
		
	
		
			
				|  |  |                             builder.setPlaceLayoutInfo(propagationPlace, |  |  |                             builder.setPlaceLayoutInfo(propagationPlace, | 
		
	
		
			
				|  |  |                                                        storm::gspn::LayoutInfo(xcenter + 12.0, ycenter + 8.0)); |  |  |                                                        storm::gspn::LayoutInfo(xcenter + 12.0, ycenter + 8.0)); | 
		
	
		
			
				|  |  |                             uint64_t tPropagationFailed = builder.addImmediateTransition(propagationPrio, 0.0, |  |  |  | 
		
	
		
			
				|  |  |  |  |  |                             uint64_t tPropagationFailed = builder.addImmediateTransition(dontCarePriority, 0.0, | 
		
	
		
			
				|  |  |                                                                                          dftOr->name() + "_prop_fail"); |  |  |                                                                                          dftOr->name() + "_prop_fail"); | 
		
	
		
			
				|  |  |                             builder.setTransitionLayoutInfo(tPropagationFailed, |  |  |                             builder.setTransitionLayoutInfo(tPropagationFailed, | 
		
	
		
			
				|  |  |                                                             storm::gspn::LayoutInfo(xcenter + 10.0, ycenter + 6.0)); |  |  |                                                             storm::gspn::LayoutInfo(xcenter + 10.0, ycenter + 6.0)); | 
		
	
	
		
			
				|  | @ -421,7 +407,7 @@ namespace storm { | 
		
	
		
			
				|  |  |                             builder.addInputArc(failedPlace, tPropagationFailed); |  |  |                             builder.addInputArc(failedPlace, tPropagationFailed); | 
		
	
		
			
				|  |  |                             builder.addOutputArc(tPropagationFailed, failedPlace); |  |  |                             builder.addOutputArc(tPropagationFailed, failedPlace); | 
		
	
		
			
				|  |  |                             builder.addOutputArc(tPropagationFailed, propagationPlace); |  |  |                             builder.addOutputArc(tPropagationFailed, propagationPlace); | 
		
	
		
			
				|  |  |                             uint64_t tPropagationDontCare = builder.addImmediateTransition(propagationPrio, 0.0, |  |  |  | 
		
	
		
			
				|  |  |  |  |  |                             uint64_t tPropagationDontCare = builder.addImmediateTransition(dontCarePriority, 0.0, | 
		
	
		
			
				|  |  |                                                                                            dftOr->name() + |  |  |                                                                                            dftOr->name() + | 
		
	
		
			
				|  |  |                                                                                            "_prop_dontCare"); |  |  |                                                                                            "_prop_dontCare"); | 
		
	
		
			
				|  |  |                             builder.setTransitionLayoutInfo(tPropagationDontCare, |  |  |                             builder.setTransitionLayoutInfo(tPropagationDontCare, | 
		
	
	
		
			
				|  | @ -486,6 +472,8 @@ namespace storm { | 
		
	
		
			
				|  |  |                     builder.addInputArc(getFailedPlace(child), tFailed); |  |  |                     builder.addInputArc(getFailedPlace(child), tFailed); | 
		
	
		
			
				|  |  |                     builder.addOutputArc(tFailed, getFailedPlace(child)); |  |  |                     builder.addOutputArc(tFailed, getFailedPlace(child)); | 
		
	
		
			
				|  |  |                 } |  |  |                 } | 
		
	
		
			
				|  |  |  |  |  |                 if (extendedPriorities) | 
		
	
		
			
				|  |  |  |  |  |                     dontCarePriority++; | 
		
	
		
			
				|  |  |             } |  |  |             } | 
		
	
		
			
				|  |  | 
 |  |  | 
 | 
		
	
		
			
				|  |  |             template<typename ValueType> |  |  |             template<typename ValueType> | 
		
	
	
		
			
				|  | @ -495,11 +483,6 @@ namespace storm { | 
		
	
		
			
				|  |  | 
 |  |  | 
 | 
		
	
		
			
				|  |  |                 double xcenter = mDft.getElementLayoutInfo(dftVot->id()).x; |  |  |                 double xcenter = mDft.getElementLayoutInfo(dftVot->id()).x; | 
		
	
		
			
				|  |  |                 double ycenter = mDft.getElementLayoutInfo(dftVot->id()).y; |  |  |                 double ycenter = mDft.getElementLayoutInfo(dftVot->id()).y; | 
		
	
		
			
				|  |  |                 uint64_t propagationPrio = 0; |  |  |  | 
		
	
		
			
				|  |  |                 if (extendedPriorities) |  |  |  | 
		
	
		
			
				|  |  |                     propagationPrio = (getFailPriority(dftVot) - mDft.nrElements() - 3) / 3 + 3; |  |  |  | 
		
	
		
			
				|  |  |                 else |  |  |  | 
		
	
		
			
				|  |  |                     propagationPrio = dontCarePriority; |  |  |  | 
		
	
		
			
				|  |  | 
 |  |  | 
 | 
		
	
		
			
				|  |  |                 uint64_t failedPlace = addFailedPlace(dftVot, storm::gspn::LayoutInfo(xcenter, ycenter - 3.0)); |  |  |                 uint64_t failedPlace = addFailedPlace(dftVot, storm::gspn::LayoutInfo(xcenter, ycenter - 3.0)); | 
		
	
		
			
				|  |  | 
 |  |  | 
 | 
		
	
	
		
			
				|  | @ -551,7 +534,7 @@ namespace storm { | 
		
	
		
			
				|  |  |                             uint64_t propagationPlace = builder.addPlace(1, 0, dftVot->name() + "_prop"); |  |  |                             uint64_t propagationPlace = builder.addPlace(1, 0, dftVot->name() + "_prop"); | 
		
	
		
			
				|  |  |                             builder.setPlaceLayoutInfo(propagationPlace, |  |  |                             builder.setPlaceLayoutInfo(propagationPlace, | 
		
	
		
			
				|  |  |                                                        storm::gspn::LayoutInfo(xcenter + 12.0, ycenter + 8.0)); |  |  |                                                        storm::gspn::LayoutInfo(xcenter + 12.0, ycenter + 8.0)); | 
		
	
		
			
				|  |  |                             uint64_t tPropagationFailed = builder.addImmediateTransition(propagationPrio, 0.0, |  |  |  | 
		
	
		
			
				|  |  |  |  |  |                             uint64_t tPropagationFailed = builder.addImmediateTransition(dontCarePriority, 0.0, | 
		
	
		
			
				|  |  |                                                                                          dftVot->name() + "_prop_fail"); |  |  |                                                                                          dftVot->name() + "_prop_fail"); | 
		
	
		
			
				|  |  |                             builder.setTransitionLayoutInfo(tPropagationFailed, |  |  |                             builder.setTransitionLayoutInfo(tPropagationFailed, | 
		
	
		
			
				|  |  |                                                             storm::gspn::LayoutInfo(xcenter + 10.0, ycenter + 6.0)); |  |  |                                                             storm::gspn::LayoutInfo(xcenter + 10.0, ycenter + 6.0)); | 
		
	
	
		
			
				|  | @ -559,7 +542,7 @@ namespace storm { | 
		
	
		
			
				|  |  |                             builder.addInputArc(failedPlace, tPropagationFailed); |  |  |                             builder.addInputArc(failedPlace, tPropagationFailed); | 
		
	
		
			
				|  |  |                             builder.addOutputArc(tPropagationFailed, failedPlace); |  |  |                             builder.addOutputArc(tPropagationFailed, failedPlace); | 
		
	
		
			
				|  |  |                             builder.addOutputArc(tPropagationFailed, propagationPlace); |  |  |                             builder.addOutputArc(tPropagationFailed, propagationPlace); | 
		
	
		
			
				|  |  |                             uint64_t tPropagationDontCare = builder.addImmediateTransition(propagationPrio, 0.0, |  |  |  | 
		
	
		
			
				|  |  |  |  |  |                             uint64_t tPropagationDontCare = builder.addImmediateTransition(dontCarePriority, 0.0, | 
		
	
		
			
				|  |  |                                                                                            dftVot->name() + |  |  |                                                                                            dftVot->name() + | 
		
	
		
			
				|  |  |                                                                                            "_prop_dontCare"); |  |  |                                                                                            "_prop_dontCare"); | 
		
	
		
			
				|  |  |                             builder.setTransitionLayoutInfo(tPropagationDontCare, |  |  |                             builder.setTransitionLayoutInfo(tPropagationDontCare, | 
		
	
	
		
			
				|  | @ -597,6 +580,8 @@ namespace storm { | 
		
	
		
			
				|  |  |                         } |  |  |                         } | 
		
	
		
			
				|  |  |                     } |  |  |                     } | 
		
	
		
			
				|  |  |                 } |  |  |                 } | 
		
	
		
			
				|  |  |  |  |  |                 if (extendedPriorities) | 
		
	
		
			
				|  |  |  |  |  |                     dontCarePriority++; | 
		
	
		
			
				|  |  |             } |  |  |             } | 
		
	
		
			
				|  |  | 
 |  |  | 
 | 
		
	
		
			
				|  |  |             template<typename ValueType> |  |  |             template<typename ValueType> | 
		
	
	
		
			
				|  | @ -605,11 +590,6 @@ namespace storm { | 
		
	
		
			
				|  |  |                 //TODO Layouting
 |  |  |                 //TODO Layouting
 | 
		
	
		
			
				|  |  |                 double xcenter = mDft.getElementLayoutInfo(dftPand->id()).x; |  |  |                 double xcenter = mDft.getElementLayoutInfo(dftPand->id()).x; | 
		
	
		
			
				|  |  |                 double ycenter = mDft.getElementLayoutInfo(dftPand->id()).y; |  |  |                 double ycenter = mDft.getElementLayoutInfo(dftPand->id()).y; | 
		
	
		
			
				|  |  |                 uint64_t propagationPrio = 0; |  |  |  | 
		
	
		
			
				|  |  |                 if (extendedPriorities) |  |  |  | 
		
	
		
			
				|  |  |                     propagationPrio = (getFailPriority(dftPand) - mDft.nrElements() - 3) / 3 + 3; |  |  |  | 
		
	
		
			
				|  |  |                 else |  |  |  | 
		
	
		
			
				|  |  |                     propagationPrio = dontCarePriority; |  |  |  | 
		
	
		
			
				|  |  | 
 |  |  | 
 | 
		
	
		
			
				|  |  |                 uint64_t failedPlace = addFailedPlace(dftPand, storm::gspn::LayoutInfo(xcenter + 3.0, ycenter - 3.0)); |  |  |                 uint64_t failedPlace = addFailedPlace(dftPand, storm::gspn::LayoutInfo(xcenter + 3.0, ycenter - 3.0)); | 
		
	
		
			
				|  |  | 
 |  |  | 
 | 
		
	
	
		
			
				|  | @ -684,11 +664,11 @@ namespace storm { | 
		
	
		
			
				|  |  |                     uint64_t propagationPlace = builder.addPlace(1, 0, dftPand->name() + "_prop"); |  |  |                     uint64_t propagationPlace = builder.addPlace(1, 0, dftPand->name() + "_prop"); | 
		
	
		
			
				|  |  |                     builder.setPlaceLayoutInfo(propagationPlace, |  |  |                     builder.setPlaceLayoutInfo(propagationPlace, | 
		
	
		
			
				|  |  |                                                storm::gspn::LayoutInfo(xcenter + 12.0, ycenter + 8.0)); |  |  |                                                storm::gspn::LayoutInfo(xcenter + 12.0, ycenter + 8.0)); | 
		
	
		
			
				|  |  |                     uint64_t tPropagationFailed = builder.addImmediateTransition(propagationPrio, 0.0, |  |  |  | 
		
	
		
			
				|  |  |  |  |  |                     uint64_t tPropagationFailed = builder.addImmediateTransition(dontCarePriority, 0.0, | 
		
	
		
			
				|  |  |                                                                                  dftPand->name() + "_prop_fail"); |  |  |                                                                                  dftPand->name() + "_prop_fail"); | 
		
	
		
			
				|  |  |                     builder.setTransitionLayoutInfo(tPropagationFailed, |  |  |                     builder.setTransitionLayoutInfo(tPropagationFailed, | 
		
	
		
			
				|  |  |                                                     storm::gspn::LayoutInfo(xcenter + 10.0, ycenter + 6.0)); |  |  |                                                     storm::gspn::LayoutInfo(xcenter + 10.0, ycenter + 6.0)); | 
		
	
		
			
				|  |  |                     uint64_t tPropagationFailsafe = builder.addImmediateTransition(propagationPrio, 0.0, |  |  |  | 
		
	
		
			
				|  |  |  |  |  |                     uint64_t tPropagationFailsafe = builder.addImmediateTransition(dontCarePriority, 0.0, | 
		
	
		
			
				|  |  |                                                                                    dftPand->name() + "_prop_failsafe"); |  |  |                                                                                    dftPand->name() + "_prop_failsafe"); | 
		
	
		
			
				|  |  |                     builder.setTransitionLayoutInfo(tPropagationFailsafe, |  |  |                     builder.setTransitionLayoutInfo(tPropagationFailsafe, | 
		
	
		
			
				|  |  |                                                     storm::gspn::LayoutInfo(xcenter + 8.0, ycenter + 6.0)); |  |  |                                                     storm::gspn::LayoutInfo(xcenter + 8.0, ycenter + 6.0)); | 
		
	
	
		
			
				|  | @ -721,7 +701,7 @@ namespace storm { | 
		
	
		
			
				|  |  |                                                        storm::gspn::LayoutInfo(xcenter + 16.0, ycenter + 4.0)); |  |  |                                                        storm::gspn::LayoutInfo(xcenter + 16.0, ycenter + 4.0)); | 
		
	
		
			
				|  |  |                             builder.addInhibitionArc(dontCarePlace, tDontCare); |  |  |                             builder.addInhibitionArc(dontCarePlace, tDontCare); | 
		
	
		
			
				|  |  |                             builder.addOutputArc(tDontCare, dontCarePlace); |  |  |                             builder.addOutputArc(tDontCare, dontCarePlace); | 
		
	
		
			
				|  |  |                             uint64_t tPropagationDontCare = builder.addImmediateTransition(propagationPrio, 0.0, |  |  |  | 
		
	
		
			
				|  |  |  |  |  |                             uint64_t tPropagationDontCare = builder.addImmediateTransition(dontCarePriority, 0.0, | 
		
	
		
			
				|  |  |                                                                                            dftPand->name() + |  |  |                                                                                            dftPand->name() + | 
		
	
		
			
				|  |  |                                                                                            "_prop_dontCare"); |  |  |                                                                                            "_prop_dontCare"); | 
		
	
		
			
				|  |  |                             builder.setTransitionLayoutInfo(tPropagationDontCare, |  |  |                             builder.setTransitionLayoutInfo(tPropagationDontCare, | 
		
	
	
		
			
				|  | @ -737,6 +717,8 @@ namespace storm { | 
		
	
		
			
				|  |  |                         } |  |  |                         } | 
		
	
		
			
				|  |  |                     } |  |  |                     } | 
		
	
		
			
				|  |  |                 } |  |  |                 } | 
		
	
		
			
				|  |  |  |  |  |                 if (extendedPriorities) | 
		
	
		
			
				|  |  |  |  |  |                     dontCarePriority++; | 
		
	
		
			
				|  |  |             } |  |  |             } | 
		
	
		
			
				|  |  | 
 |  |  | 
 | 
		
	
		
			
				|  |  |             template<typename ValueType> |  |  |             template<typename ValueType> | 
		
	
	
		
			
				|  | @ -745,11 +727,6 @@ namespace storm { | 
		
	
		
			
				|  |  | 
 |  |  | 
 | 
		
	
		
			
				|  |  |                 double xcenter = mDft.getElementLayoutInfo(dftPor->id()).x; |  |  |                 double xcenter = mDft.getElementLayoutInfo(dftPor->id()).x; | 
		
	
		
			
				|  |  |                 double ycenter = mDft.getElementLayoutInfo(dftPor->id()).y; |  |  |                 double ycenter = mDft.getElementLayoutInfo(dftPor->id()).y; | 
		
	
		
			
				|  |  |                 uint64_t propagationPrio = 0; |  |  |  | 
		
	
		
			
				|  |  |                 if (extendedPriorities) |  |  |  | 
		
	
		
			
				|  |  |                     propagationPrio = (getFailPriority(dftPor) - mDft.nrElements() - 3) / 3 + 3; |  |  |  | 
		
	
		
			
				|  |  |                 else |  |  |  | 
		
	
		
			
				|  |  |                     propagationPrio = dontCarePriority; |  |  |  | 
		
	
		
			
				|  |  | 
 |  |  | 
 | 
		
	
		
			
				|  |  |                 uint64_t delayPlace = 0; |  |  |                 uint64_t delayPlace = 0; | 
		
	
		
			
				|  |  | 
 |  |  | 
 | 
		
	
	
		
			
				|  | @ -823,11 +800,11 @@ namespace storm { | 
		
	
		
			
				|  |  |                     uint64_t propagationPlace = builder.addPlace(1, 0, dftPor->name() + "_prop"); |  |  |                     uint64_t propagationPlace = builder.addPlace(1, 0, dftPor->name() + "_prop"); | 
		
	
		
			
				|  |  |                     builder.setPlaceLayoutInfo(propagationPlace, |  |  |                     builder.setPlaceLayoutInfo(propagationPlace, | 
		
	
		
			
				|  |  |                                                storm::gspn::LayoutInfo(xcenter + 12.0, ycenter + 8.0)); |  |  |                                                storm::gspn::LayoutInfo(xcenter + 12.0, ycenter + 8.0)); | 
		
	
		
			
				|  |  |                     uint64_t tPropagationFailed = builder.addImmediateTransition(propagationPrio, 0.0, |  |  |  | 
		
	
		
			
				|  |  |  |  |  |                     uint64_t tPropagationFailed = builder.addImmediateTransition(dontCarePriority, 0.0, | 
		
	
		
			
				|  |  |                                                                                  dftPor->name() + "_prop_fail"); |  |  |                                                                                  dftPor->name() + "_prop_fail"); | 
		
	
		
			
				|  |  |                     builder.setTransitionLayoutInfo(tPropagationFailed, |  |  |                     builder.setTransitionLayoutInfo(tPropagationFailed, | 
		
	
		
			
				|  |  |                                                     storm::gspn::LayoutInfo(xcenter + 10.0, ycenter + 6.0)); |  |  |                                                     storm::gspn::LayoutInfo(xcenter + 10.0, ycenter + 6.0)); | 
		
	
		
			
				|  |  |                     uint64_t tPropagationFailsafe = builder.addImmediateTransition(propagationPrio, 0.0, |  |  |  | 
		
	
		
			
				|  |  |  |  |  |                     uint64_t tPropagationFailsafe = builder.addImmediateTransition(dontCarePriority, 0.0, | 
		
	
		
			
				|  |  |                                                                                    dftPor->name() + "_prop_failsafe"); |  |  |                                                                                    dftPor->name() + "_prop_failsafe"); | 
		
	
		
			
				|  |  |                     builder.setTransitionLayoutInfo(tPropagationFailsafe, |  |  |                     builder.setTransitionLayoutInfo(tPropagationFailsafe, | 
		
	
		
			
				|  |  |                                                     storm::gspn::LayoutInfo(xcenter + 8.0, ycenter + 6.0)); |  |  |                                                     storm::gspn::LayoutInfo(xcenter + 8.0, ycenter + 6.0)); | 
		
	
	
		
			
				|  | @ -860,7 +837,7 @@ namespace storm { | 
		
	
		
			
				|  |  |                                                        storm::gspn::LayoutInfo(xcenter + 16.0, ycenter + 4.0)); |  |  |                                                        storm::gspn::LayoutInfo(xcenter + 16.0, ycenter + 4.0)); | 
		
	
		
			
				|  |  |                             builder.addInhibitionArc(dontCarePlace, tDontCare); |  |  |                             builder.addInhibitionArc(dontCarePlace, tDontCare); | 
		
	
		
			
				|  |  |                             builder.addOutputArc(tDontCare, dontCarePlace); |  |  |                             builder.addOutputArc(tDontCare, dontCarePlace); | 
		
	
		
			
				|  |  |                             uint64_t tPropagationDontCare = builder.addImmediateTransition(propagationPrio, 0.0, |  |  |  | 
		
	
		
			
				|  |  |  |  |  |                             uint64_t tPropagationDontCare = builder.addImmediateTransition(dontCarePriority, 0.0, | 
		
	
		
			
				|  |  |                                                                                            dftPor->name() + |  |  |                                                                                            dftPor->name() + | 
		
	
		
			
				|  |  |                                                                                            "_prop_dontCare"); |  |  |                                                                                            "_prop_dontCare"); | 
		
	
		
			
				|  |  |                             builder.setTransitionLayoutInfo(tPropagationDontCare, |  |  |                             builder.setTransitionLayoutInfo(tPropagationDontCare, | 
		
	
	
		
			
				|  | @ -876,7 +853,8 @@ namespace storm { | 
		
	
		
			
				|  |  |                         } |  |  |                         } | 
		
	
		
			
				|  |  |                     } |  |  |                     } | 
		
	
		
			
				|  |  |                 } |  |  |                 } | 
		
	
		
			
				|  |  | 
 |  |  |  | 
		
	
		
			
				|  |  |  |  |  |                 if (extendedPriorities) | 
		
	
		
			
				|  |  |  |  |  |                     dontCarePriority++; | 
		
	
		
			
				|  |  |             } |  |  |             } | 
		
	
		
			
				|  |  | 
 |  |  | 
 | 
		
	
		
			
				|  |  |             template<typename ValueType> |  |  |             template<typename ValueType> | 
		
	
	
		
			
				|  | @ -884,11 +862,6 @@ namespace storm { | 
		
	
		
			
				|  |  |                     std::shared_ptr<storm::storage::DFTSpare<ValueType> const> dftSpare) { |  |  |                     std::shared_ptr<storm::storage::DFTSpare<ValueType> const> dftSpare) { | 
		
	
		
			
				|  |  |                 double xcenter = mDft.getElementLayoutInfo(dftSpare->id()).x; |  |  |                 double xcenter = mDft.getElementLayoutInfo(dftSpare->id()).x; | 
		
	
		
			
				|  |  |                 double ycenter = mDft.getElementLayoutInfo(dftSpare->id()).y; |  |  |                 double ycenter = mDft.getElementLayoutInfo(dftSpare->id()).y; | 
		
	
		
			
				|  |  |                 uint64_t propagationPrio = 0; |  |  |  | 
		
	
		
			
				|  |  |                 if (extendedPriorities) |  |  |  | 
		
	
		
			
				|  |  |                     propagationPrio = (getFailPriority(dftSpare) - mDft.nrElements() - 3) / 3 + 3; |  |  |  | 
		
	
		
			
				|  |  |                 else |  |  |  | 
		
	
		
			
				|  |  |                     propagationPrio = dontCarePriority; |  |  |  | 
		
	
		
			
				|  |  | 
 |  |  | 
 | 
		
	
		
			
				|  |  |                 uint64_t failedPlace = addFailedPlace(dftSpare, storm::gspn::LayoutInfo(xcenter + 10.0, ycenter - 8.0)); |  |  |                 uint64_t failedPlace = addFailedPlace(dftSpare, storm::gspn::LayoutInfo(xcenter + 10.0, ycenter - 8.0)); | 
		
	
		
			
				|  |  | 
 |  |  | 
 | 
		
	
	
		
			
				|  | @ -997,7 +970,7 @@ namespace storm { | 
		
	
		
			
				|  |  |                                                                          dftSpare->name() + "_prop"); |  |  |                                                                          dftSpare->name() + "_prop"); | 
		
	
		
			
				|  |  |                             builder.setPlaceLayoutInfo(propagationPlace, |  |  |                             builder.setPlaceLayoutInfo(propagationPlace, | 
		
	
		
			
				|  |  |                                                        storm::gspn::LayoutInfo(xcenter + 12.0, ycenter + 8.0)); |  |  |                                                        storm::gspn::LayoutInfo(xcenter + 12.0, ycenter + 8.0)); | 
		
	
		
			
				|  |  |                             uint64_t tPropagationFailed = builder.addImmediateTransition(propagationPrio, 0.0, |  |  |  | 
		
	
		
			
				|  |  |  |  |  |                             uint64_t tPropagationFailed = builder.addImmediateTransition(dontCarePriority, 0.0, | 
		
	
		
			
				|  |  |                                                                                          dftSpare->name() + |  |  |                                                                                          dftSpare->name() + | 
		
	
		
			
				|  |  |                                                                                          "_prop_fail"); |  |  |                                                                                          "_prop_fail"); | 
		
	
		
			
				|  |  |                             builder.setTransitionLayoutInfo(tPropagationFailed, |  |  |                             builder.setTransitionLayoutInfo(tPropagationFailed, | 
		
	
	
		
			
				|  | @ -1006,7 +979,7 @@ namespace storm { | 
		
	
		
			
				|  |  |                             builder.addInputArc(failedPlace, tPropagationFailed); |  |  |                             builder.addInputArc(failedPlace, tPropagationFailed); | 
		
	
		
			
				|  |  |                             builder.addOutputArc(tPropagationFailed, failedPlace); |  |  |                             builder.addOutputArc(tPropagationFailed, failedPlace); | 
		
	
		
			
				|  |  |                             builder.addOutputArc(tPropagationFailed, propagationPlace); |  |  |                             builder.addOutputArc(tPropagationFailed, propagationPlace); | 
		
	
		
			
				|  |  |                             uint64_t tPropagationDontCare = builder.addImmediateTransition(propagationPrio, 0.0, |  |  |  | 
		
	
		
			
				|  |  |  |  |  |                             uint64_t tPropagationDontCare = builder.addImmediateTransition(dontCarePriority, 0.0, | 
		
	
		
			
				|  |  |                                                                                            dftSpare->name() + |  |  |                                                                                            dftSpare->name() + | 
		
	
		
			
				|  |  |                                                                                            "_prop_dontCare"); |  |  |                                                                                            "_prop_dontCare"); | 
		
	
		
			
				|  |  |                             builder.setTransitionLayoutInfo(tPropagationDontCare, |  |  |                             builder.setTransitionLayoutInfo(tPropagationDontCare, | 
		
	
	
		
			
				|  | @ -1049,6 +1022,8 @@ namespace storm { | 
		
	
		
			
				|  |  |                     builder.addOutputArc(tNextConsiders.back(), unavailablePlace); |  |  |                     builder.addOutputArc(tNextConsiders.back(), unavailablePlace); | 
		
	
		
			
				|  |  |                     builder.addOutputArc(tNextClaims.back(), unavailablePlace); |  |  |                     builder.addOutputArc(tNextClaims.back(), unavailablePlace); | 
		
	
		
			
				|  |  |                 } |  |  |                 } | 
		
	
		
			
				|  |  |  |  |  |                 if (extendedPriorities) | 
		
	
		
			
				|  |  |  |  |  |                     dontCarePriority++; | 
		
	
		
			
				|  |  |             } |  |  |             } | 
		
	
		
			
				|  |  | 
 |  |  | 
 | 
		
	
		
			
				|  |  |             template<typename ValueType> |  |  |             template<typename ValueType> | 
		
	
	
		
			
				|  | @ -1115,6 +1090,7 @@ namespace storm { | 
		
	
		
			
				|  |  |                     if (!smart || mDft.isRepresentative(child->id())) { |  |  |                     if (!smart || mDft.isRepresentative(child->id())) { | 
		
	
		
			
				|  |  |                         builder.addOutputArc(tForwardFailure, unavailablePlaces.at(child->id())); |  |  |                         builder.addOutputArc(tForwardFailure, unavailablePlaces.at(child->id())); | 
		
	
		
			
				|  |  |                     } |  |  |                     } | 
		
	
		
			
				|  |  |  |  |  |                     propagationPriority--; | 
		
	
		
			
				|  |  |                 } |  |  |                 } | 
		
	
		
			
				|  |  | 
 |  |  | 
 | 
		
	
		
			
				|  |  |                 // Don't Care
 |  |  |                 // Don't Care
 | 
		
	
	
		
			
				|  | @ -1166,6 +1142,8 @@ namespace storm { | 
		
	
		
			
				|  |  |                 if (failedPlace == 0) { |  |  |                 if (failedPlace == 0) { | 
		
	
		
			
				|  |  |                     failedPlaces.push_back(failedPlace); |  |  |                     failedPlaces.push_back(failedPlace); | 
		
	
		
			
				|  |  |                 } |  |  |                 } | 
		
	
		
			
				|  |  |  |  |  |                 if (extendedPriorities) | 
		
	
		
			
				|  |  |  |  |  |                     dontCarePriority++; | 
		
	
		
			
				|  |  |             } |  |  |             } | 
		
	
		
			
				|  |  | 
 |  |  | 
 | 
		
	
		
			
				|  |  |             template<typename ValueType> |  |  |             template<typename ValueType> | 
		
	
	
		
			
				|  | @ -1252,16 +1230,9 @@ namespace storm { | 
		
	
		
			
				|  |  |                     std::shared_ptr<const storm::storage::DFTElement<ValueType> > dftElement, |  |  |                     std::shared_ptr<const storm::storage::DFTElement<ValueType> > dftElement, | 
		
	
		
			
				|  |  |                     storm::gspn::LayoutInfo const &layoutInfo) { |  |  |                     storm::gspn::LayoutInfo const &layoutInfo) { | 
		
	
		
			
				|  |  |                 uint64_t dontcareTransition; |  |  |                 uint64_t dontcareTransition; | 
		
	
		
			
				|  |  |                 if (extendedPriorities) { |  |  |  | 
		
	
		
			
				|  |  |                 dontcareTransition = builder.addImmediateTransition(dontCarePriority, 0.0, |  |  |                 dontcareTransition = builder.addImmediateTransition(dontCarePriority, 0.0, | 
		
	
		
			
				|  |  |                                                                         dftElement->name() + STR_DONTCARE + |  |  |                                                                         dftElement->name() + STR_DONTCARE + | 
		
	
		
			
				|  |  |                                                                         "_transition"); |  |  |                                                                         "_transition"); | 
		
	
		
			
				|  |  |                     dontCarePriority++; |  |  |  | 
		
	
		
			
				|  |  |                 } else { |  |  |  | 
		
	
		
			
				|  |  |                     dontcareTransition = builder.addImmediateTransition(dontCarePriority, 0.0, |  |  |  | 
		
	
		
			
				|  |  |                                                                         dftElement->name() + STR_DONTCARE + |  |  |  | 
		
	
		
			
				|  |  |                                                                         "_transition"); |  |  |  | 
		
	
		
			
				|  |  |                 } |  |  |  | 
		
	
		
			
				|  |  |                 dontcareTransitions.emplace(dftElement->id(), dontcareTransition); |  |  |                 dontcareTransitions.emplace(dftElement->id(), dontcareTransition); | 
		
	
		
			
				|  |  |                 builder.setTransitionLayoutInfo(dontcareTransition, layoutInfo); |  |  |                 builder.setTransitionLayoutInfo(dontcareTransition, layoutInfo); | 
		
	
		
			
				|  |  |                 return dontcareTransition; |  |  |                 return dontcareTransition; | 
		
	
	
		
			
				|  | 
 |