#include "model_instantiator.h" #include "storm/models/sparse/Model.h" template using Model = storm::models::sparse::Model; template using Dtmc = storm::models::sparse::Dtmc; template using Mdp = storm::models::sparse::Mdp; template using Ctmc = storm::models::sparse::Ctmc; template using MarkovAutomaton = storm::models::sparse::MarkovAutomaton; // Model instantiator void define_model_instantiator(py::module& m) { py::class_, Dtmc>>(m, "PDtmcInstantiator", "Instantiate PDTMCs to DTMCs") .def(py::init>(), "parametric model"_a) .def("instantiate", &storm::utility::ModelInstantiator, Dtmc>::instantiate, "Instantiate model with given parameter values") ; py::class_,Mdp>>(m, "PMdpInstantiator", "Instantiate PMDPs to MDPs") .def(py::init>(), "parametric model"_a) .def("instantiate", &storm::utility::ModelInstantiator, Mdp>::instantiate, "Instantiate model with given parameter values") ; py::class_,Ctmc>>(m, "PCtmcInstantiator", "Instantiate PCTMCs to CTMCs") .def(py::init>(), "parametric model"_a) .def("instantiate", &storm::utility::ModelInstantiator, Ctmc>::instantiate, "Instantiate model with given parameter values"); py::class_,MarkovAutomaton>>(m, "PMaInstantiator", "Instantiate PMAs to MAs") .def(py::init>(), "parametric model"_a) .def("instantiate", &storm::utility::ModelInstantiator, MarkovAutomaton>::instantiate, "Instantiate model with given parameter values"); }