Hybrid Query Processing Engine for Coprocessing in Database Systems
HyPE
pluginloader.cpp
Go to the documentation of this file.
00001 
00002 #include <iostream>
00003 
00004 #include <plugins/pluginloader.hpp>
00005 //Statistical Methods
00006 #include <plugins/statistical_methods/least_squares.hpp>
00007 #include <plugins/statistical_methods/multi_dim_least_squares.hpp>
00008 //Recomputation Heuristics
00009 #include <plugins/recomputation_heuristics/periodic_recomputation.hpp>
00010 #include <plugins/recomputation_heuristics/oneshot_computation.hpp>
00011 //Optimization Criterias
00012 #include <plugins/optimization_criterias/response_time.hpp>
00013 #include <plugins/optimization_criterias/response_time_advanced.hpp>
00014 #include <plugins/optimization_criterias/throughput.hpp>
00015 #include <plugins/optimization_criterias/throughput2.hpp>
00016 #include <plugins/optimization_criterias/simple_round_robin_throughput.hpp>
00017 #include <plugins/optimization_criterias/probability_based_outsourcing.hpp>
00018 
00019 namespace hype{
00020    namespace core{
00021       
00022    bool PluginLoader::loadPlugins(){
00023       //add Statistical Methods
00024       if(!StatisticalMethodFactorySingleton::Instance().Register("Least Squares 1D", &Least_Squares_Method_1D::create))
00025             std::cout << "failed to load plugin! " << "'Least Squares 1D'" << std::endl;
00026       if(!StatisticalMethodFactorySingleton::Instance().Register("Least Squares 2D", &Least_Squares_Method_2D::create))
00027             std::cout << "failed to load plugin! " << "'Least Squares 2D'" << std::endl;           
00028       //add Recomputation Heuristics
00029       RecomputationHeuristicFactorySingleton::Instance().Register("Periodic Recomputation",&PeriodicRecomputation::create);
00030       RecomputationHeuristicFactorySingleton::Instance().Register("Oneshot Recomputation",&Oneshotcomputation::create);    
00031       //add Optimization Criterias
00032       OptimizationCriterionFactorySingleton::Instance().Register("Response Time",&ResponseTime::create);
00033       OptimizationCriterionFactorySingleton::Instance().Register("WaitingTimeAwareResponseTime",&WaitingTimeAwareResponseTime::create);      
00034       OptimizationCriterionFactorySingleton::Instance().Register("Throughput",&Throughput::create);      
00035       //OptimizationCriterionFactorySingleton::Instance().Register("Throughput2",&Throughput2::create);  
00036       OptimizationCriterionFactorySingleton::Instance().Register("Simple Round Robin",&SimpleRoundRobin::create); 
00037       OptimizationCriterionFactorySingleton::Instance().Register("ProbabilityBasedOutsourcing",&ProbabilityBasedOutsourcing::create);     
00038       OptimizationCriterionFactorySingleton::Instance().Register("Throughput2",&ProbabilityBasedOutsourcing::create);   
00039 
00040       
00041       if(!quiet) std::cout << "[HyPE]: Loading Plugins..." << std::endl;
00042       return true;
00043    }
00044 
00045    };//end namespace core
00046 }; //end namespace hype
00047 
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines