diff --git a/force_bdss/data_sources/base_data_source.py b/force_bdss/data_sources/base_data_source.py index 49c114082a4ce68b0301f31e3f31e02959c8b06e..469ed8b902cc9d237139bf6b53ef6e2a952a20e8 100644 --- a/force_bdss/data_sources/base_data_source.py +++ b/force_bdss/data_sources/base_data_source.py @@ -12,5 +12,8 @@ class BaseDataSource(six.with_metaclass(abc.ABCMeta)): def name(self): return self.bundle.name + @abc.abstractmethod def run(self): + """Executes the data source evaluation/fetching and returns + the list of results as a DataSourceResult instance.""" pass diff --git a/force_bdss/data_sources/data_source_result.py b/force_bdss/data_sources/data_source_result.py new file mode 100644 index 0000000000000000000000000000000000000000..17e52fb1eca6bb140c32a09ae22e7fb3bc768048 --- /dev/null +++ b/force_bdss/data_sources/data_source_result.py @@ -0,0 +1,22 @@ +from traits.api import HasTraits, Array, List, String, Instance + +from .base_data_source import BaseDataSource + + +class DataSourceResult(HasTraits): + """Represents the result of a simulator. + It contains the resulting cuba key, the associated uncertainty and the + originating simulator. + Difference between uncertainty and quality: uncertainty is a numerical value + of the value, as in the case of an experimental simulation. + quality is the level of accuracy of the (e.g.c omputational) method, as + the importance and reliability of that value. It should be an enumeration + value such as HIGH, MEDIUM, POOR""" + + originator = Instance(BaseDataSource) + value_types = List(String) + results = Array(shape=(None, None)) + accuracy = Array(shape=(None, None)) + quality = Array(shape=(None, None)) + +