Storm
A Modern Probabilistic Model Checker
Loading...
Searching...
No Matches
EliminateAction.h
Go to the documentation of this file.
1#pragma once
2
4
5// EliminateAction removes the given location from the model. For this, the location must not be initial, satisfy the property, or have a loop. This action
6// assumes that these properties already hold.
7// Since it is not cheap to delete edges, their guards are instead only set to false. It is recommended to execute a RebuildWithoutUnreachableAction after
8// eliminating locations to actually remove edges and the now-unreachable locations.
9
10namespace storm {
11namespace jani {
12namespace elimination_actions {
14 public:
15 explicit EliminateAction(const std::string &automatonName, const std::string &locationName);
16
17 std::string getDescription() override;
18 void doAction(JaniLocalEliminator::Session &session) override;
19
20 private:
21 void eliminateDestination(JaniLocalEliminator::Session &session, Automaton &automaton, Edge &edge, uint64_t destIndex, detail::Edges &outgoing);
22
23 std::string automatonName;
24 std::string locationName;
25};
26} // namespace elimination_actions
27} // namespace jani
28} // namespace storm
void doAction(JaniLocalEliminator::Session &session) override
LabParser.cpp.
Definition cli.cpp:18