Browse Source

Merge branch 'master' into parametricSystems

Former-commit-id: 5763f8b9df
tempestpy_adaptions
dehnert 10 years ago
parent
commit
71e0ac470a
  1. 2
      src/counterexamples/SMTMinimalCommandSetGenerator.h
  2. 2
      src/logic/BinaryPathFormula.cpp
  3. 2
      src/logic/BinaryStateFormula.cpp
  4. 6
      src/modelchecker/prctl/SparseMdpPrctlModelChecker.h
  5. 3
      src/utility/cli.h

2
src/counterexamples/SMTMinimalCommandSetGenerator.h

@ -1693,7 +1693,7 @@ namespace storm {
storm::models::Mdp<T> subMdp = labeledMdp.restrictChoiceLabels(commandSet); storm::models::Mdp<T> subMdp = labeledMdp.restrictChoiceLabels(commandSet);
storm::modelchecker::SparseMdpPrctlModelChecker<T> modelchecker(subMdp); storm::modelchecker::SparseMdpPrctlModelChecker<T> modelchecker(subMdp);
LOG4CPLUS_DEBUG(logger, "Invoking model checker."); LOG4CPLUS_DEBUG(logger, "Invoking model checker.");
std::vector<T> result = modelchecker.checkUntil(false, phiStates, psiStates, false).first;
std::vector<T> result = modelchecker.computeUntilProbabilitiesHelper(false, phiStates, psiStates, false)
LOG4CPLUS_DEBUG(logger, "Computed model checking results."); LOG4CPLUS_DEBUG(logger, "Computed model checking results.");
totalModelCheckingTime += std::chrono::high_resolution_clock::now() - modelCheckingClock; totalModelCheckingTime += std::chrono::high_resolution_clock::now() - modelCheckingClock;

2
src/logic/BinaryPathFormula.cpp

@ -44,10 +44,12 @@ namespace storm {
void BinaryPathFormula::gatherAtomicExpressionFormulas(std::vector<std::shared_ptr<AtomicExpressionFormula const>>& atomicExpressionFormulas) const { void BinaryPathFormula::gatherAtomicExpressionFormulas(std::vector<std::shared_ptr<AtomicExpressionFormula const>>& atomicExpressionFormulas) const {
this->getLeftSubformula().gatherAtomicExpressionFormulas(atomicExpressionFormulas); this->getLeftSubformula().gatherAtomicExpressionFormulas(atomicExpressionFormulas);
this->getLeftSubformula().gatherAtomicExpressionFormulas(atomicExpressionFormulas);
} }
void BinaryPathFormula::gatherAtomicLabelFormulas(std::vector<std::shared_ptr<AtomicLabelFormula const>>& atomicLabelFormulas) const { void BinaryPathFormula::gatherAtomicLabelFormulas(std::vector<std::shared_ptr<AtomicLabelFormula const>>& atomicLabelFormulas) const {
this->getLeftSubformula().gatherAtomicLabelFormulas(atomicLabelFormulas); this->getLeftSubformula().gatherAtomicLabelFormulas(atomicLabelFormulas);
this->getRightSubformula().gatherAtomicLabelFormulas(atomicLabelFormulas);
} }
} }
} }

2
src/logic/BinaryStateFormula.cpp

@ -44,10 +44,12 @@ namespace storm {
void BinaryStateFormula::gatherAtomicExpressionFormulas(std::vector<std::shared_ptr<AtomicExpressionFormula const>>& atomicExpressionFormulas) const { void BinaryStateFormula::gatherAtomicExpressionFormulas(std::vector<std::shared_ptr<AtomicExpressionFormula const>>& atomicExpressionFormulas) const {
this->getLeftSubformula().gatherAtomicExpressionFormulas(atomicExpressionFormulas); this->getLeftSubformula().gatherAtomicExpressionFormulas(atomicExpressionFormulas);
this->getRightSubformula().gatherAtomicExpressionFormulas(atomicExpressionFormulas);
} }
void BinaryStateFormula::gatherAtomicLabelFormulas(std::vector<std::shared_ptr<AtomicLabelFormula const>>& atomicLabelFormulas) const { void BinaryStateFormula::gatherAtomicLabelFormulas(std::vector<std::shared_ptr<AtomicLabelFormula const>>& atomicLabelFormulas) const {
this->getLeftSubformula().gatherAtomicLabelFormulas(atomicLabelFormulas); this->getLeftSubformula().gatherAtomicLabelFormulas(atomicLabelFormulas);
this->getRightSubformula().gatherAtomicLabelFormulas(atomicLabelFormulas);
} }
} }
} }

6
src/modelchecker/prctl/SparseMdpPrctlModelChecker.h

@ -7,6 +7,11 @@
#include "src/solver/NondeterministicLinearEquationSolver.h" #include "src/solver/NondeterministicLinearEquationSolver.h"
namespace storm { namespace storm {
namespace counterexamples {
template<typename ValueType>
class SMTMinimalCommandSetGenerator;
}
namespace modelchecker { namespace modelchecker {
// Forward-declare other model checkers to make them friend classes. // Forward-declare other model checkers to make them friend classes.
@ -17,6 +22,7 @@ namespace storm {
class SparseMdpPrctlModelChecker : public AbstractModelChecker { class SparseMdpPrctlModelChecker : public AbstractModelChecker {
public: public:
friend class SparseMarkovAutomatonCslModelChecker<ValueType>; friend class SparseMarkovAutomatonCslModelChecker<ValueType>;
friend class counterexamples::SMTMinimalCommandSetGenerator<ValueType>;
explicit SparseMdpPrctlModelChecker(storm::models::Mdp<ValueType> const& model); explicit SparseMdpPrctlModelChecker(storm::models::Mdp<ValueType> const& model);
explicit SparseMdpPrctlModelChecker(storm::models::Mdp<ValueType> const& model, std::shared_ptr<storm::solver::NondeterministicLinearEquationSolver<ValueType>> nondeterministicLinearEquationSolver); explicit SparseMdpPrctlModelChecker(storm::models::Mdp<ValueType> const& model, std::shared_ptr<storm::solver::NondeterministicLinearEquationSolver<ValueType>> nondeterministicLinearEquationSolver);

3
src/utility/cli.h

@ -278,9 +278,8 @@ namespace storm {
typename storm::builder::ExplicitPrismModelBuilder<double>::Options options; typename storm::builder::ExplicitPrismModelBuilder<double>::Options options;
if (formula) { if (formula) {
options = storm::builder::ExplicitPrismModelBuilder<double>::Options(*formula.get()); options = storm::builder::ExplicitPrismModelBuilder<double>::Options(*formula.get());
} else {
options.addConstantDefinitionsFromString(program, settings.getConstantDefinitionString());
} }
options.addConstantDefinitionsFromString(program, settings.getConstantDefinitionString());
// Then, build the model from the symbolic description. // Then, build the model from the symbolic description.
result = storm::builder::ExplicitPrismModelBuilder<double>::translateProgram(program, options); result = storm::builder::ExplicitPrismModelBuilder<double>::translateProgram(program, options);

Loading…
Cancel
Save