Browse Source
- Removed enum to infer the correct formula (sub-)class, instead used
- Removed enum to infer the correct formula (sub-)class, instead used
"check" which calls the correct check function in the model checker. - The dot output was modified to work with the refactored names - Also, it uses now filestreams instead of C style output - and the iterators from the matrix class - Included new (stub) test case for output (and general parsing)main
23 changed files with 922 additions and 208 deletions
-
62src/formula/AP.h
-
110src/formula/And.h
-
124src/formula/BoundedUntil.h
-
85src/formula/Next.h
-
82src/formula/Not.h
-
109src/formula/Or.h
-
42src/formula/PCTLPathFormula.h
-
41src/formula/PCTLStateFormula.h
-
17src/formula/PCTLformula.h
-
104src/formula/ProbabilisticOperator.h
-
108src/formula/Until.h
-
27src/formula/formulaTypes.h
-
4src/modelChecker/DtmcPrctlModelChecker.cpp
-
65src/modelChecker/DtmcPrctlModelChecker.h
-
20src/models/AtomicPropositionsLabeling.h
-
7src/models/Dtmc.h
-
4src/parser/parser.cpp
-
4src/parser/readPrctlFile.cpp
-
2src/parser/readPrctlFile.h
-
71src/utility/utility.cpp
-
2src/utility/utility.h
-
24test/parser/parse_dtmc_test.cpp
-
4test/parser/read_tra_file_test.cpp
@ -1,27 +0,0 @@ |
|||||
/* |
|
||||
* formulaTypes.h |
|
||||
* |
|
||||
* Created on: 21.10.2012 |
|
||||
* Author: Thomas Heinemann |
|
||||
*/ |
|
||||
|
|
||||
#ifndef FORMULATYPES_H_ |
|
||||
#define FORMULATYPES_H_ |
|
||||
|
|
||||
enum stateFormulaTypes { |
|
||||
AND, |
|
||||
AP, |
|
||||
NOT, |
|
||||
OR, |
|
||||
PROBABILISTIC |
|
||||
}; |
|
||||
|
|
||||
enum pathFormulaTypes { |
|
||||
NEXT, |
|
||||
UNTIL, |
|
||||
BOUNDED_UNTIL, |
|
||||
EVENTUALLY, |
|
||||
ALWAYS |
|
||||
}; |
|
||||
|
|
||||
#endif /* FORMULATYPES_H_ */ |
|
@ -0,0 +1,24 @@ |
|||||
|
/*
|
||||
|
* parse_dtmc_test.cpp |
||||
|
* |
||||
|
* Created on: 03.12.2012 |
||||
|
* Author: Thomas Heinemann |
||||
|
*/ |
||||
|
|
||||
|
|
||||
|
#include "gtest/gtest.h"
|
||||
|
#include "mrmc-config.h"
|
||||
|
#include "src/utility/utility.h"
|
||||
|
|
||||
|
TEST(ParseDtmcTest, parseAndOutput) { |
||||
|
mrmc::models::Dtmc<double>* myDtmc; |
||||
|
ASSERT_NO_THROW(myDtmc = mrmc::utility::parseDTMC( |
||||
|
MRMC_CPP_TESTS_BASE_PATH "/parser/tra_files/pctl_general_input_01.tra", |
||||
|
MRMC_CPP_TESTS_BASE_PATH "/parser/lab_files/pctl_general_input_01.lab")); |
||||
|
|
||||
|
ASSERT_NO_THROW(mrmc::utility::dtmcToDot(myDtmc, MRMC_CPP_TESTS_BASE_PATH "/parser/output.dot")); |
||||
|
|
||||
|
delete myDtmc; |
||||
|
} |
||||
|
|
||||
|
|
Reference in new issue
xxxxxxxxxx