13 bool enableSmartTransformation,
bool mergeDCFailed) {
15 std::set<uint64_t> dontCareElements;
18 for (std::size_t i = 0; i <
dft.nrElements(); i++) {
19 dontCareElements.insert(
dft.getElement(i)->id());
26 gspnTransformator.
transform(priorities, dontCareElements, enableSmartTransformation, mergeDCFailed, extendPriorities);
27 std::shared_ptr<storm::gspn::GSPN>
gspn(gspnTransformator.
obtainGSPN());
33 bool extendPriorities,
bool enableSmartTransformation,
bool mergeDCFailed) {
34 STORM_LOG_THROW(
false, storm::exceptions::NotSupportedException,
"Transformation to GSPN not supported for this data type.");
38 bool addDeadlockProperties) {
41 std::shared_ptr<storm::jani::Model> model(
builder.build(
"dft_gspn"));
44 std::shared_ptr<storm::expressions::ExpressionManager>
const& exprManager =
gspn.getExpressionManager();
48 builder.addTransientVariable(model.get(),
"failed", targetExpression);
49 auto failedFormula = std::make_shared<storm::logic::AtomicExpressionFormula>(targetExpression);
50 auto properties =
builder.getStandardProperties(model.get(), failedFormula,
"Failed",
"a failed state",
true);
51 if (addDeadlockProperties) {
52 auto deadlockProperties =
builder.getDeadlockProperties(model.get());
53 properties.insert(properties.end(), deadlockProperties.begin(), deadlockProperties.end());
56 return std::make_pair(model, properties);
Represents a Dynamic Fault Tree.
storm::expressions::Expression getExpression() const
Retrieves an expression that represents the variable.
storm::expressions::Variable const & getExpressionVariable() const
Retrieves the associated expression variable.
#define STORM_LOG_THROW(cond, exception, message)
std::pair< std::shared_ptr< storm::gspn::GSPN >, uint64_t > transformToGSPN(storm::dft::storage::DFT< double > const &dft, bool enableDC, bool extendPriorities, bool enableSmartTransformation, bool mergeDCFailed)
std::pair< std::shared_ptr< storm::jani::Model >, std::vector< storm::jani::Property > > transformToJani(storm::gspn::GSPN const &gspn, uint64_t toplevelFailedPlace, bool addDeadlockProperties)
Transform GSPN to Jani model.