| 
					
					
						
							
						
					
					
				 | 
				@ -525,7 +525,11 @@ namespace storm { | 
			
		
		
	
		
			
				 | 
				 | 
				                    } | 
				 | 
				 | 
				                    } | 
			
		
		
	
		
			
				 | 
				 | 
				                    STORM_LOG_TRACE("Exit rates: " << modelComponents.exitRates); | 
				 | 
				 | 
				                    STORM_LOG_TRACE("Exit rates: " << modelComponents.exitRates); | 
			
		
		
	
		
			
				 | 
				 | 
				
 | 
				 | 
				 | 
				
 | 
			
		
		
	
		
			
				 | 
				 | 
				                    std::shared_ptr<storm::models::sparse::MarkovAutomaton<ValueType>> ma = std::make_shared<storm::models::sparse::MarkovAutomaton<ValueType>>(std::move(matrix), std::move(labeling), modelComponents.markovianStates, modelComponents.exitRates); | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				                    storm::storage::sparse::ModelComponents<ValueType> maComponents(std::move(matrix), std::move(labeling)); | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				                    maComponents.rateTransitions = true; | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				                    maComponents.markovianStates = modelComponents.markovianStates; | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				                    maComponents.exitRates = modelComponents.exitRates; | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				                    std::shared_ptr<storm::models::sparse::MarkovAutomaton<ValueType>> ma = std::make_shared<storm::models::sparse::MarkovAutomaton<ValueType>>(std::move(maComponents)); | 
			
		
		
	
		
			
				 | 
				 | 
				                    if (ma->hasOnlyTrivialNondeterminism()) { | 
				 | 
				 | 
				                    if (ma->hasOnlyTrivialNondeterminism()) { | 
			
		
		
	
		
			
				 | 
				 | 
				                        // Markov automaton can be converted into CTMC
 | 
				 | 
				 | 
				                        // Markov automaton can be converted into CTMC
 | 
			
		
		
	
		
			
				 | 
				 | 
				                        // TODO Matthias: change components which were not moved accordingly
 | 
				 | 
				 | 
				                        // TODO Matthias: change components which were not moved accordingly
 | 
			
		
		
	
	
		
			
				| 
					
						
							
						
					
					
						
							
						
					
					
				 | 
				@ -573,9 +577,17 @@ namespace storm { | 
			
		
		
	
		
			
				 | 
				 | 
				
 | 
				 | 
				 | 
				
 | 
			
		
		
	
		
			
				 | 
				 | 
				                std::shared_ptr<storm::models::sparse::MarkovAutomaton<ValueType>> ma; | 
				 | 
				 | 
				                std::shared_ptr<storm::models::sparse::MarkovAutomaton<ValueType>> ma; | 
			
		
		
	
		
			
				 | 
				 | 
				                if (copy) { | 
				 | 
				 | 
				                if (copy) { | 
			
		
		
	
		
			
				 | 
				 | 
				                    ma = std::make_shared<storm::models::sparse::MarkovAutomaton<ValueType>>(modelComponents.transitionMatrix, modelComponents.stateLabeling, modelComponents.markovianStates, modelComponents.exitRates); | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				                    storm::storage::sparse::ModelComponents<ValueType> maComponents(modelComponents.transitionMatrix, modelComponents.stateLabeling); | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				                    maComponents.rateTransitions = true; | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				                    maComponents.markovianStates = modelComponents.markovianStates; | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				                    maComponents.exitRates = modelComponents.exitRates; | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				                    std::shared_ptr<storm::models::sparse::MarkovAutomaton<ValueType>> ma = std::make_shared<storm::models::sparse::MarkovAutomaton<ValueType>>(std::move(maComponents)); | 
			
		
		
	
		
			
				 | 
				 | 
				                } else { | 
				 | 
				 | 
				                } else { | 
			
		
		
	
		
			
				 | 
				 | 
				                    ma = std::make_shared<storm::models::sparse::MarkovAutomaton<ValueType>>(std::move(modelComponents.transitionMatrix), std::move(modelComponents.stateLabeling), std::move(modelComponents.markovianStates), std::move(modelComponents.exitRates)); | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				                    storm::storage::sparse::ModelComponents<ValueType> maComponents(std::move(modelComponents.transitionMatrix), std::move(modelComponents.stateLabeling)); | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				                    maComponents.rateTransitions = true; | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				                    maComponents.markovianStates = std::move(modelComponents.markovianStates); | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				                    maComponents.exitRates = std::move(modelComponents.exitRates); | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				                    std::shared_ptr<storm::models::sparse::MarkovAutomaton<ValueType>> ma = std::make_shared<storm::models::sparse::MarkovAutomaton<ValueType>>(std::move(maComponents)); | 
			
		
		
	
		
			
				 | 
				 | 
				                } | 
				 | 
				 | 
				                } | 
			
		
		
	
		
			
				 | 
				 | 
				                if (ma->hasOnlyTrivialNondeterminism()) { | 
				 | 
				 | 
				                if (ma->hasOnlyTrivialNondeterminism()) { | 
			
		
		
	
		
			
				 | 
				 | 
				                    // Markov automaton can be converted into CTMC
 | 
				 | 
				 | 
				                    // Markov automaton can be converted into CTMC
 | 
			
		
		
	
	
		
			
				| 
					
						
							
						
					
					
					
				 | 
				
  |