You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

32 lines
1015 B

from . import storage
from .storage import *
class ModelInstantiator:
"""
Class for instantiating models.
"""
def __init__(self, model):
"""
Constructor.
:param model: Model.
"""
if model.model_type == ModelType.MDP:
self._instantiator = PmdpInstantiator(model)
elif model.model_type == ModelType.DTMC:
self._instantiator = PdtmcInstantiator(model)
elif model.model_type == ModelType.CTMC:
self._instantiator = PctmcInstantiator(model)
elif model.model_type == ModelType.MA:
self._instantiator = PmaInstantiator(model)
else:
raise StormError("Model type {} not supported".format(model.model_type))
def instantiate(self, valuation):
"""
Instantiate model with given valuation.
:param valuation: Valuation from parameter to value.
:return: Instantiated model.
"""
return self._instantiator.instantiate(valuation)