py::class_<SymbolicModel<DdType,double>,std::shared_ptr<SymbolicModel<DdType,double>>,ModelBase>model(m,("_"+prefixClassName+"Model").c_str(),"A probabilistic model where transitions are represented by doubles and saved in a symbolic representation");
py::class_<SymbolicDtmc<DdType,double>,std::shared_ptr<SymbolicDtmc<DdType,double>>>(m,(prefixClassName+"Dtmc").c_str(),"DTMC in symbolic representation",model)
py::class_<SymbolicMdp<DdType,double>,std::shared_ptr<SymbolicMdp<DdType,double>>>(m,(prefixClassName+"Mdp").c_str(),"MDP in symbolic representation",model)
py::class_<SymbolicCtmc<DdType,double>,std::shared_ptr<SymbolicCtmc<DdType,double>>>(m,(prefixClassName+"Ctmc").c_str(),"CTMC in symbolic representation",model)
py::class_<SymbolicMarkovAutomaton<DdType,double>,std::shared_ptr<SymbolicMarkovAutomaton<DdType,double>>>(m,(prefixClassName+"MA").c_str(),"MA in symbolic representation",model)
.def("__str__",getModelInfoPrinter<double>("MA"))
;
py::class_<SymbolicRewardModel<DdType,double>>(m,(prefixClassName+"RewardModel").c_str(),"Reward structure for symbolic models")
py::class_<SymbolicModel<DdType,RationalFunction>,std::shared_ptr<SymbolicModel<DdType,RationalFunction>>,ModelBase>modelRatFunc(m,("_"+prefixParametricClassName+"Model").c_str(),"A probabilistic model where transitions are represented by rational functions and saved in a symbolic representation");
py::class_<SymbolicDtmc<DdType,RationalFunction>,std::shared_ptr<SymbolicDtmc<DdType,RationalFunction>>>(m,(prefixParametricClassName+"Dtmc").c_str(),"pDTMC in symbolic representation",modelRatFunc)
py::class_<SymbolicMdp<DdType,RationalFunction>,std::shared_ptr<SymbolicMdp<DdType,RationalFunction>>>(m,(prefixParametricClassName+"Mdp").c_str(),"pMDP in symbolic representation",modelRatFunc)
py::class_<SymbolicCtmc<DdType,RationalFunction>,std::shared_ptr<SymbolicCtmc<DdType,RationalFunction>>>(m,(prefixParametricClassName+"Ctmc").c_str(),"pCTMC in symbolic representation",modelRatFunc)
py::class_<SymbolicMarkovAutomaton<DdType,RationalFunction>,std::shared_ptr<SymbolicMarkovAutomaton<DdType,RationalFunction>>>(m,(prefixParametricClassName+"MA").c_str(),"pMA in symbolic representation",modelRatFunc)