Browse Source
Merge branch 'mtbddIntegration' of https://sselab.de/lab9/private/git/storm into mtbddIntegration
Merge branch 'mtbddIntegration' of https://sselab.de/lab9/private/git/storm into mtbddIntegration
Former-commit-id: 115d7a6c3b
main
16 changed files with 315 additions and 131 deletions
-
1src/logic/Formula.h
-
19src/modelchecker/AbstractModelChecker.cpp
-
67src/modelchecker/results/CheckResult.cpp
-
43src/modelchecker/results/CheckResult.h
-
53src/modelchecker/results/ExplicitQualitativeCheckResult.cpp
-
9src/modelchecker/results/ExplicitQualitativeCheckResult.h
-
47src/modelchecker/results/ExplicitQuantitativeCheckResult.cpp
-
5src/modelchecker/results/ExplicitQuantitativeCheckResult.h
-
15src/modelchecker/results/QualitativeCheckResult.cpp
-
4src/modelchecker/results/QualitativeCheckResult.h
-
13src/modelchecker/results/QuantitativeCheckResult.cpp
-
3src/modelchecker/results/QuantitativeCheckResult.h
-
55src/modelchecker/results/SymbolicQualitativeCheckResult.cpp
-
45src/modelchecker/results/SymbolicQualitativeCheckResult.h
-
0src/modelchecker/results/SymbolicQuantitativeCheckResult.cpp
-
43src/modelchecker/results/SymbolicQuantitativeCheckResult.h
@ -1,7 +1,22 @@ |
|||||
#include "src/modelchecker/results/QualitativeCheckResult.h"
|
#include "src/modelchecker/results/QualitativeCheckResult.h"
|
||||
|
|
||||
|
#include "src/utility/macros.h"
|
||||
|
#include "src/exceptions/InvalidOperationException.h"
|
||||
|
|
||||
namespace storm { |
namespace storm { |
||||
namespace modelchecker { |
namespace modelchecker { |
||||
|
QualitativeCheckResult& QualitativeCheckResult::operator&=(QualitativeCheckResult const& other) { |
||||
|
STORM_LOG_THROW(false, storm::exceptions::InvalidOperationException, "Unable to perform logical 'and' on the two check results."); |
||||
|
} |
||||
|
|
||||
|
QualitativeCheckResult& QualitativeCheckResult::operator|=(QualitativeCheckResult const& other) { |
||||
|
STORM_LOG_THROW(false, storm::exceptions::InvalidOperationException, "Unable to perform logical 'or' on the two check results."); |
||||
|
} |
||||
|
|
||||
|
void QualitativeCheckResult::complement() { |
||||
|
STORM_LOG_THROW(false, storm::exceptions::InvalidOperationException, "Unable to perform logical 'not' on the check result."); |
||||
|
} |
||||
|
|
||||
bool QualitativeCheckResult::isQualitative() const { |
bool QualitativeCheckResult::isQualitative() const { |
||||
return true; |
return true; |
||||
} |
} |
||||
|
@ -0,0 +1,55 @@ |
|||||
|
#include "src/modelcheckers/result/SymbolicQualitativeCheckResult.h"
|
||||
|
|
||||
|
namespace storm { |
||||
|
namespace modelcheckers { |
||||
|
template <storm::dd::DdType Type> |
||||
|
SymbolicQualitativeCheckResult(storm::dd::Dd<Type> const& values) { |
||||
|
|
||||
|
} |
||||
|
|
||||
|
template <storm::dd::DdType Type> |
||||
|
bool isSymbolic() const { |
||||
|
|
||||
|
} |
||||
|
|
||||
|
template <storm::dd::DdType Type> |
||||
|
bool isResultForAllStates() const { |
||||
|
|
||||
|
} |
||||
|
|
||||
|
template <storm::dd::DdType Type> |
||||
|
bool isSymbolicQualitativeCheckResult() const { |
||||
|
|
||||
|
} |
||||
|
|
||||
|
template <storm::dd::DdType Type> |
||||
|
QualitativeCheckResult& operator&=(QualitativeCheckResult const& other) { |
||||
|
|
||||
|
} |
||||
|
|
||||
|
template <storm::dd::DdType Type> |
||||
|
QualitativeCheckResult& operator|=(QualitativeCheckResult const& other) { |
||||
|
|
||||
|
} |
||||
|
|
||||
|
template <storm::dd::DdType Type> |
||||
|
void complement() { |
||||
|
|
||||
|
} |
||||
|
|
||||
|
template <storm::dd::DdType Type> |
||||
|
storm::dd::Dd<Type> const& getTruthValuesVector() const { |
||||
|
|
||||
|
} |
||||
|
|
||||
|
template <storm::dd::DdType Type> |
||||
|
std::ostream& writeToStream(std::ostream& out) const { |
||||
|
|
||||
|
} |
||||
|
|
||||
|
template <storm::dd::DdType Type> |
||||
|
void filter(QualitativeCheckResult const& filter) { |
||||
|
|
||||
|
} |
||||
|
} |
||||
|
} |
@ -0,0 +1,45 @@ |
|||||
|
#ifndef STORM_MODELCHECKER_SYMBOLICQUALITATIVECHECKRESULT_H_ |
||||
|
#define STORM_MODELCHECKER_SYMBOLICQUALITATIVECHECKRESULT_H_ |
||||
|
|
||||
|
#include "src/storage/dd/DdType.h" |
||||
|
#include "src/modelchecker/results/QualitativeCheckResult.h" |
||||
|
#include "src/utility/OsDetection.h" |
||||
|
|
||||
|
namespace storm { |
||||
|
namespace modelchecker { |
||||
|
template <storm::dd::DdType Type> |
||||
|
class SymbolicQualitativeCheckResult : public QualitativeCheckResult { |
||||
|
public: |
||||
|
SymbolicQualitativeCheckResult() = default; |
||||
|
SymbolicQualitativeCheckResult(storm::dd::Dd<Type> const& values); |
||||
|
|
||||
|
SymbolicQualitativeCheckResult(SymbolicQualitativeCheckResult const& other) = default; |
||||
|
SymbolicQualitativeCheckResult& operator=(SymbolicQualitativeCheckResult const& other) = default; |
||||
|
#ifndef WINDOWS |
||||
|
SymbolicQualitativeCheckResult(SymbolicQualitativeCheckResult&& other) = default; |
||||
|
SymbolicQualitativeCheckResult& operator=(SymbolicQualitativeCheckResult&& other) = default; |
||||
|
#endif |
||||
|
|
||||
|
virtual bool isSymbolic() const override; |
||||
|
virtual bool isResultForAllStates() const override; |
||||
|
|
||||
|
virtual bool isSymbolicQualitativeCheckResult() const override; |
||||
|
|
||||
|
virtual QualitativeCheckResult& operator&=(QualitativeCheckResult const& other) override; |
||||
|
virtual QualitativeCheckResult& operator|=(QualitativeCheckResult const& other) override; |
||||
|
virtual void complement() override; |
||||
|
|
||||
|
storm::dd::Dd<Type> const& getTruthValuesVector() const; |
||||
|
|
||||
|
virtual std::ostream& writeToStream(std::ostream& out) const override; |
||||
|
|
||||
|
virtual void filter(QualitativeCheckResult const& filter) override; |
||||
|
|
||||
|
private: |
||||
|
// The values of the qualitative check result. |
||||
|
storm::dd::Dd<Type> truthValues; |
||||
|
}; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
#endif /* STORM_MODELCHECKER_SYMBOLICQUALITATIVECHECKRESULT_H_ */ |
@ -0,0 +1,43 @@ |
|||||
|
#ifndef STORM_MODELCHECKER_SYMBOLICQUANTITATIVECHECKRESULT_H_ |
||||
|
#define STORM_MODELCHECKER_SYMBOLICQUANTITATIVECHECKRESULT_H_ |
||||
|
|
||||
|
#include "src/storage/dd/DdType.h" |
||||
|
#include "src/modelchecker/results/QuantitativeCheckResult.h" |
||||
|
#include "src/utility/OsDetection.h" |
||||
|
|
||||
|
namespace storm { |
||||
|
namespace modelchecker { |
||||
|
template<storm::dd::DdType Type> |
||||
|
class SymbolicQuantitativeCheckResult : public QuantitativeCheckResult { |
||||
|
public: |
||||
|
SymbolicQuantitativeCheckResult(); |
||||
|
SymbolicQuantitativeCheckResult(storm::dd::Dd<Type> const& values); |
||||
|
|
||||
|
SymbolicQuantitativeCheckResult(SymbolicQuantitativeCheckResult const& other) = default; |
||||
|
SymbolicQuantitativeCheckResult& operator=(SymbolicQuantitativeCheckResult const& other) = default; |
||||
|
#ifndef WINDOWS |
||||
|
SymbolicQuantitativeCheckResult(SymbolicQuantitativeCheckResult&& other) = default; |
||||
|
SymbolicQuantitativeCheckResult& operator=(SymbolicQuantitativeCheckResult&& other) = default; |
||||
|
#endif |
||||
|
|
||||
|
virtual std::unique_ptr<CheckResult> compareAgainstBound(storm::logic::ComparisonType comparisonType, double bound) const override; |
||||
|
|
||||
|
virtual bool isSymbolic() const override; |
||||
|
virtual bool isResultForAllStates() const override; |
||||
|
|
||||
|
virtual bool isSymbolicQuantitativeCheckResult() const override; |
||||
|
|
||||
|
storm::dd::Dd<Type> const& getValueVector() const; |
||||
|
|
||||
|
virtual std::ostream& writeToStream(std::ostream& out) const override; |
||||
|
|
||||
|
virtual void filter(QualitativeCheckResult const& filter) override; |
||||
|
|
||||
|
private: |
||||
|
// The values of the quantitative check result. |
||||
|
storm::dd::Dd<Type> values; |
||||
|
}; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
#endif /* STORM_MODELCHECKER_SYMBOLICQUANTITATIVECHECKRESULT_H_ */ |
Write
Preview
Loading…
Cancel
Save
Reference in new issue