|  | @ -25,10 +25,32 @@ namespace storm { | 
		
	
		
			
				|  |  |          |  |  |          | 
		
	
		
			
				|  |  |         template<typename ValueType> |  |  |         template<typename ValueType> | 
		
	
		
			
				|  |  |         DFTState<ValueType>::DFTState(storm::storage::BitVector const& status, DFT<ValueType> const& dft, DFTStateGenerationInfo const& stateGenerationInfo, size_t id) : mStatus(status), mId(id), mDft(dft), mStateGenerationInfo(stateGenerationInfo) { |  |  |         DFTState<ValueType>::DFTState(storm::storage::BitVector const& status, DFT<ValueType> const& dft, DFTStateGenerationInfo const& stateGenerationInfo, size_t id) : mStatus(status), mId(id), mDft(dft), mStateGenerationInfo(stateGenerationInfo) { | 
		
	
		
			
				|  |  |             // TODO implement
 |  |  |  | 
		
	
		
			
				|  |  |             assert(false); |  |  |  | 
		
	
		
			
				|  |  |  |  |  |              | 
		
	
		
			
				|  |  |  |  |  |             for(size_t index = 0; index < mDft.nrElements(); ++index) { | 
		
	
		
			
				|  |  |  |  |  |                 // Initialize currently failable BE
 | 
		
	
		
			
				|  |  |  |  |  |                 if (mDft.isBasicElement(index) && isOperational(index)) { | 
		
	
		
			
				|  |  |  |  |  |                     if (!mDft.getBasicElement(index)->isColdBasicElement() || !mDft.hasRepresentant(index) || isActive(mDft.getRepresentant(index)->id())) { | 
		
	
		
			
				|  |  |  |  |  |                         mIsCurrentlyFailableBE.push_back(index); | 
		
	
		
			
				|  |  |  |  |  |                         STORM_LOG_TRACE("Currently failable: " << mDft.getBasicElement(index)->toString()); | 
		
	
		
			
				|  |  |  |  |  |                     } | 
		
	
		
			
				|  |  |  |  |  |                 } else if (mDft.getElement(index)->isSpareGate()) { | 
		
	
		
			
				|  |  |  |  |  |                     // Initialize used representants
 | 
		
	
		
			
				|  |  |  |  |  |                     uint_fast64_t useId = uses(index); | 
		
	
		
			
				|  |  |  |  |  |                     mUsedRepresentants.push_back(useId); | 
		
	
		
			
				|  |  |  |  |  |                     STORM_LOG_TRACE("Spare " << index << " uses " << useId); | 
		
	
		
			
				|  |  |  |  |  |                 } | 
		
	
		
			
				|  |  |             } |  |  |             } | 
		
	
		
			
				|  |  |              |  |  |              | 
		
	
		
			
				|  |  |  |  |  |             // Initialize failable dependencies
 | 
		
	
		
			
				|  |  |  |  |  |             for (size_t dependencyId : mDft.getDependencies()) { | 
		
	
		
			
				|  |  |  |  |  |                 std::shared_ptr<DFTDependency<ValueType> const> dependency = mDft.getDependency(dependencyId); | 
		
	
		
			
				|  |  |  |  |  |                 assert(dependencyId == dependency->id()); | 
		
	
		
			
				|  |  |  |  |  |                 if (hasFailed(dependency->triggerEvent()->id()) && getElementState(dependency->dependentEvent()->id()) == DFTElementState::Operational) { | 
		
	
		
			
				|  |  |  |  |  |                     mFailableDependencies.push_back(dependencyId); | 
		
	
		
			
				|  |  |  |  |  |                     STORM_LOG_TRACE("New dependency failure: " << dependency->toString()); | 
		
	
		
			
				|  |  |  |  |  |                 } | 
		
	
		
			
				|  |  |  |  |  |             } | 
		
	
		
			
				|  |  |  |  |  |         } | 
		
	
		
			
				|  |  | 
 |  |  | 
 | 
		
	
		
			
				|  |  |         template<typename ValueType> |  |  |         template<typename ValueType> | 
		
	
		
			
				|  |  |         DFTElementState DFTState<ValueType>::getElementState(size_t id) const { |  |  |         DFTElementState DFTState<ValueType>::getElementState(size_t id) const { | 
		
	
	
		
			
				|  | 
 |