1#ifndef STORM_MODELS_SPARSE_MARKOVAUTOMATON_H_ 
    2#define STORM_MODELS_SPARSE_MARKOVAUTOMATON_H_ 
   14template<
class ValueType, 
typename RewardModelType = StandardRewardModel<ValueType>>
 
   31                    std::unordered_map<std::string, RewardModelType> 
const& rewardModels = std::unordered_map<std::string, RewardModelType>());
 
   47                    std::unordered_map<std::string, RewardModelType>&& rewardModels = std::unordered_map<std::string, RewardModelType>());
 
  155    std::shared_ptr<storm::models::sparse::Ctmc<ValueType, RewardModelType>> 
convertToCtmc() 
const;
 
  166    void turnRatesToProbabilities();
 
  171    bool checkIsClosed() 
const;
 
  178    bool checkContainsZenoCycle() 
const;
 
  184    std::vector<ValueType> exitRates;
 
  190    mutable boost::optional<bool> hasZenoCycle;
 
 
This class represents a Markov automaton.
 
void close()
Closes the Markov automaton.
 
bool containsZenoCycle() const
Retrieves whether the Markov automaton contains Zeno cycles.
 
bool isClosed() const
Retrieves whether the Markov automaton is closed.
 
std::shared_ptr< storm::models::sparse::Ctmc< ValueType, RewardModelType > > convertToCtmc() const
Convert the MA to a CTMC.
 
MarkovAutomaton & operator=(MarkovAutomaton< ValueType, RewardModelType > &&other)=default
 
bool isProbabilisticState(storm::storage::sparse::state_type state) const
Retrieves whether the given state is a probabilistic state.
 
MarkovAutomaton & operator=(MarkovAutomaton< ValueType, RewardModelType > const &other)=default
 
bool isMarkovianState(storm::storage::sparse::state_type state) const
Retrieves whether the given state is a Markovian state.
 
bool hasOnlyTrivialNondeterminism() const
 
bool isConvertibleToCtmc() const
Determines whether the Markov automaton can be converted to a CTMC without changing any measures.
 
virtual void printModelInformationToStream(std::ostream &out) const override
Prints information about the model to the specified stream.
 
std::vector< ValueType > const & getExitRates() const
Retrieves the vector representing the exit rates of the states.
 
storm::storage::BitVector const & getMarkovianStates() const
Retrieves the set of Markovian states of the model.
 
ValueType const & getExitRate(storm::storage::sparse::state_type state) const
Retrieves the exit rate of the given state.
 
ValueType getMaximalExitRate() const
Retrieves the maximal exit rate over all states of the model.
 
MarkovAutomaton(MarkovAutomaton< ValueType, RewardModelType > const &other)=default
 
MarkovAutomaton(MarkovAutomaton< ValueType, RewardModelType > &&other)=default
 
bool isHybridState(storm::storage::sparse::state_type state) const
Retrieves whether the given state is a hybrid state, i.e.
 
The base class of sparse nondeterministic models.
 
This class manages the labeling of the state space with a number of (atomic) labels.
 
A bit vector that is internally represented as a vector of 64-bit values.
 
A class that holds a possibly non-square matrix in the compressed row storage format.