diff options
Diffstat (limited to 'rumba/model.py')
-rw-r--r-- | rumba/model.py | 21 |
1 files changed, 11 insertions, 10 deletions
diff --git a/rumba/model.py b/rumba/model.py index 4c3985d..1fa007c 100644 --- a/rumba/model.py +++ b/rumba/model.py @@ -532,16 +532,17 @@ class Experiment: self.compute_ipcps() @abc.abstractmethod - def run_prototype(self): + def install_prototype(self): raise Exception('run_prototype() method not implemented') - def run(self): - try: - # Realize the experiment testbed (testbed-specific) - self.testbed.swap_in(self) + @abc.abstractmethod + def bootstrap_prototype(self): + raise Exception('run_prototype() method not implemented') + + def swap_in(self): + # Realize the experiment testbed (testbed-specific) + self.testbed.swap_in(self) - # Run the experiment using the prototype (prototype-specific) - self.run_prototype() - finally: - # No matter what happens, undo the testbed (testbed-specific) - self.testbed.swap_out(self) + def swap_out(self): + # Undo the testbed (testbed-specific) + self.testbed.swap_out(self) |