class StereotypeExecutor(object): def __init__(self): self.markov_chain = SimpleMarkovChain() self.markov_current_state = 'MakeResponse' # there should be an initial state @ can be random self.inter_arrivals_manager = InterArrivalsManager() self.data_generator = DataGenerator() # self.data_generator.initialize_file_system() # self.sender def initialize_from_stereotype_recipe(self, stereotype_recipe): '''Initialize the Markov Chain states''' self.markov_chain.initialize_from_recipe(stereotype_recipe) self.markov_chain.calculate_chain_relative_probabilities() '''Initialize the inter-arrival times''' self.inter_arrivals_manager.initialize_from_recipe(stereotype_recipe) '''Initialize the file system''' self.data_generator.initialize_file_system() def get_waiting_time(self): return self.inter_arrivals_manager.get_waiting_time(self.markov_chain.previous_state, self.markov_chain.current_state) def next_operation(self): '''Get the next operation to be done''' self.markov_chain.next_step_in_random_navigation() '''Do an execution step as a client''' def execute(self): raise NotImplemented
def __init__(self): self.markov_chain = SimpleMarkovChain() self.markov_current_state = 'MakeResponse' # there should be an initial state @ can be random self.inter_arrivals_manager = InterArrivalsManager() self.data_generator = DataGenerator()