31template<
typename ValueType>
33 using DFTStatePointer = std::shared_ptr<storm::dft::storage::DFTState<ValueType>>;
99 std::tuple<storm::dft::storage::FailableElements::const_iterator, double, bool>
randomNextFailure();
Next state generator for DFTs.
SimulationStepResult step(storm::dft::storage::FailableElements::const_iterator nextFailElement, bool dependencySuccessful=true)
Perform one simulation step by letting the next element fail.
void resetToState(DFTStatePointer state)
Set the current state back to the given state.
std::tuple< storm::dft::storage::FailableElements::const_iterator, double, bool > randomNextFailure()
Randomly pick an element which fails next (either a BE or a dependency which triggers a BE) and the t...
storm::dft::storage::DFT< ValueType > const & dft
SimulationTraceResult simulateNextStep(double timebound)
Simulate the (randomly chosen) next step and return the outcome of the current (partial) trace.
storm::dft::generator::DftNextStateGenerator< ValueType > generator
storm::dft::storage::DFTStateGenerationInfo const & stateGenerationInfo
void setTime(double time)
Set the elapsed time so far.
double getCurrentTime() const
Get the total elapsed time so far.
SimulationStepResult randomStep()
Perform a random step by using the random number generator.
boost::mt19937 & randomGenerator
SimulationTraceResult simulateCompleteTrace(double timebound)
Perform a complete simulation of a failure trace by using the random number generator.
void resetToInitial()
Set the current state back to the initial state in order to start a new simulation.
void setRandomNumberGenerator(boost::mt19937 &randomNumberGenerator)
Set the random number generator.
DFTStatePointer getCurrentState() const
Get the current DFT state.
Represents a Dynamic Fault Tree.
Iterator for failable elements.
SimulationStepResult
Result of a single simulation step.
SimulationTraceResult
Result of a simulation trace.