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
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)
|