From e89e08975410ba28b3bafdee96fdc5f567935926 Mon Sep 17 00:00:00 2001
From: dehnert <dehnert@cs.rwth-aachen.de>
Date: Fri, 13 Feb 2015 10:30:50 +0100
Subject: [PATCH] Removed parametric main files.

Former-commit-id: 526f0754bb9679678c3e4fee6bda44b1d165345e
---
 src/stormParametric.cpp | 146 ----------------------------------------
 src/stormParametric.h   |  33 ---------
 2 files changed, 179 deletions(-)
 delete mode 100644 src/stormParametric.cpp
 delete mode 100644 src/stormParametric.h

diff --git a/src/stormParametric.cpp b/src/stormParametric.cpp
deleted file mode 100644
index bcc7e0d02..000000000
--- a/src/stormParametric.cpp
+++ /dev/null
@@ -1,146 +0,0 @@
-// Include generated headers.
-#include "storm-config.h"
-
-#include <tuple>
-#include <sstream>
-
-// Include other headers.
-#include "src/exceptions/BaseException.h"
-#include "src/utility/macros.h"
-#include "src/utility/cli.h"
-#include "src/utility/export.h"
-#include "src/modelchecker/reachability/CollectConstraints.h"
-
-//#include "src/modelchecker/reachability/DirectEncoding.h"
-#include "src/storage/DeterministicModelBisimulationDecomposition.h"
-#include "src/modelchecker/reachability/SparseDtmcEliminationModelChecker.h"
-#include "src/storage/parameters.h"
-#include "src/models/Dtmc.h"
-
-template<typename ValueType>
-void printApproximateResult(ValueType const& value) {
-    // Intentionally left empty.
-}
-
-template<>
-void printApproximateResult(storm::RationalFunction const& value) {
-    if (value.isConstant()) {
-        STORM_PRINT_AND_LOG(" (approximately " << std::setprecision(30) << carl::toDouble(value.constantPart()) << ")" << std::endl);
-    }
-}
-
-template<typename ValueType>
-void check() {
-    // From this point on we are ready to carry out the actual computations.
-    // Program Translation Time Measurement, Start
-    std::chrono::high_resolution_clock::time_point programTranslationStart = std::chrono::high_resolution_clock::now();
-    
-    if (storm::settings::generalSettings().isSymbolicSet()) {
-        std::string programFile = storm::settings::generalSettings().getSymbolicModelFilename();
-        std::string constants = storm::settings::generalSettings().getConstantDefinitionString();
-        storm::prism::Program program = storm::parser::PrismParser::parse(programFile);
-        
-        boost::optional<std::shared_ptr<storm::logic::Formula>> formula;
-        if (storm::settings::generalSettings().isPropertySet()) {
-            formula = storm::parser::FormulaParser(program.getManager().getSharedPointer()).parseFromString(storm::settings::generalSettings().getProperty());
-        }
-        
-        typename storm::builder::ExplicitPrismModelBuilder<ValueType>::Options options;
-        if (formula) {
-            options = typename storm::builder::ExplicitPrismModelBuilder<ValueType>::Options(*formula.get());
-        }
-        options.addConstantDefinitionsFromString(program, storm::settings::generalSettings().getConstantDefinitionString());
-        
-        std::shared_ptr<storm::models::AbstractModel<ValueType>> model = storm::builder::ExplicitPrismModelBuilder<ValueType>::translateProgram(program, options);
-        
-        // Convert the transition rewards to state rewards if necessary.
-        if (model->hasTransitionRewards()) {
-            model->convertTransitionRewardsToStateRewards();
-        }
-        
-        // Program Translation Time Measurement, End
-        std::chrono::high_resolution_clock::time_point programTranslationEnd = std::chrono::high_resolution_clock::now();
-        std::cout << "Parsing and translating the model took " << std::chrono::duration_cast<std::chrono::milliseconds>(programTranslationEnd - programTranslationStart).count() << "ms." << std::endl << std::endl;
-        
-        model->printModelInformationToStream(std::cout);
-        
-        if (formula) {
-            STORM_LOG_THROW(model->getType() == storm::models::DTMC, storm::exceptions::InvalidArgumentException, "The given model is not a DTMC and, hence, not currently supported.");
-            std::shared_ptr<storm::models::Dtmc<ValueType>> dtmc = model->template as<storm::models::Dtmc<ValueType>>();
-            
-            storm::modelchecker::SparseDtmcEliminationModelChecker<ValueType> modelchecker(*dtmc);
-            STORM_LOG_THROW(modelchecker.canHandle(*formula.get()), storm::exceptions::InvalidPropertyException, "Model checker cannot handle the property: '" << *formula.get() << "'.");
-            
-            std::cout << "Checking formula " << *formula.get() << std::endl;
-            
-            // Perform bisimulation minimization if requested.
-            if (storm::settings::generalSettings().isBisimulationSet()) {
-                typename storm::storage::DeterministicModelBisimulationDecomposition<ValueType>::Options options(*dtmc, *formula.get());
-                options.weak = storm::settings::bisimulationSettings().isWeakBisimulationSet();
-                
-                storm::storage::DeterministicModelBisimulationDecomposition<ValueType> bisimulationDecomposition(*dtmc, options);
-                *dtmc = std::move(*bisimulationDecomposition.getQuotient()->template as<storm::models::Dtmc<ValueType>>());
-                
-                dtmc->printModelInformationToStream(std::cout);
-            }
-            
-            STORM_LOG_THROW(dtmc, storm::exceptions::InvalidStateException, "Preprocessing went wrong.");
-            
-            storm::modelchecker::reachability::CollectConstraints<ValueType> constraintCollector;
-            constraintCollector(*dtmc);
-            
-            std::unique_ptr<storm::modelchecker::CheckResult> result = modelchecker.check(*formula.get());
-            ValueType valueFunction = result->asExplicitQuantitativeCheckResult<ValueType>()[*model->getInitialStates().begin()];
-            
-            if (storm::settings::parametricSettings().exportResultToFile()) {
-                storm::utility::exportParametricMcResult(valueFunction, constraintCollector);
-            }
-            
-            // Report the result.
-            STORM_PRINT_AND_LOG(std::endl << "Result (initial state): ");
-            result->writeToStream(std::cout, model->getInitialStates());
-            if (std::is_same<ValueType, storm::RationalFunction>::value) {
-                printApproximateResult(valueFunction);
-            }
-            std::cout << std::endl;
-            
-            // Generate derivatives for sensitivity analysis if requested.
-            if (std::is_same<ValueType, storm::RationalFunction>::value && storm::settings::parametricSettings().isDerivativesSet()) {
-                auto allVariables = valueFunction.gatherVariables();
-                
-                if (!allVariables.empty()) {
-                    std::map<storm::Variable, storm::RationalFunction> derivatives;
-                    for (auto const& variable : allVariables) {
-                        derivatives[variable] = valueFunction.derivative(variable);
-                    }
-                    
-                    std::cout << std::endl << "Derivatives (variable; derivative):" << std::endl;
-                    for (auto const& variableDerivativePair : derivatives) {
-                        std::cout << "(" << variableDerivativePair.first << "; " << variableDerivativePair.second << ")" << std::endl;
-                    }
-                }
-            }
-        }
-    }
-}
-
-/*!
- * Main entry point of the executable pstorm.
- */
-int main(const int argc, const char** argv) {
-    try {
-        storm::utility::cli::setUp();
-        storm::utility::cli::printHeader(argc, argv);
-        bool optionsCorrect = storm::utility::cli::parseOptions(argc, argv);
-        
-        check<storm::RationalFunction>();
-        
-        // All operations have now been performed, so we clean up everything and terminate.
-        storm::utility::cli::cleanUp();
-        return 0;
-    } catch (storm::exceptions::BaseException const& exception) {
-        STORM_LOG_ERROR("An exception caused StoRM to terminate. The message of the exception is: " << exception.what());
-    } catch (std::exception const& exception) {
-        STORM_LOG_ERROR("An unexpected exception occurred and caused StoRM to terminate. The message of this exception is: " << exception.what());
-    }
-}
diff --git a/src/stormParametric.h b/src/stormParametric.h
deleted file mode 100644
index cba7e8fe0..000000000
--- a/src/stormParametric.h
+++ /dev/null
@@ -1,33 +0,0 @@
-//
-//
-//
-//#pragma once
-//#include "storage/prism/Program.h"
-//#include "models/AbstractModel.h"
-//#include "storage/parameters.h"
-//
-//namespace storm
-//{
-//	class ParametricStormEntryPoint
-//	{
-//	private:
-//		std::string const& mConstants;
-//		storm::prism::Program const& mProgram;
-//		std::shared_ptr<storm::models::AbstractModel<RationalFunction>> mModel;
-//	public:
-//		ParametricStormEntryPoint(std::string const& constants, storm::prism::Program const& program) :
-//		mConstants(constants),
-//		mProgram(program)
-//		{
-//			
-//		}
-//		
-//		void createModel();
-//		std::string reachabilityToSmt2(std::string const&);
-//		
-//		virtual ~ParametricStormEntryPoint() {}
-//		
-//	};
-//	void storm_parametric(std::string const& constants, storm::prism::Program const&);
-//}
-//