Example #1
0
    def _process_task_dict(self):
        # Normalize the resource portion of each task vector
        print "--> Processing task dict ... "

        for tid in self.task_dict:
            deno = self.task_dict[tid][2]/cr_constant.DEFAULT_TIME_UNIT

            for i in range(len(self.task_dict[tid][-1])):
                self.task_dict[tid][-1][i] /= deno

            self.task_dict[tid] = ResVectorFactory.convert_to_tuple(self.task_dict[tid])
            self._add_to_user_dict(self.task_dict[tid][1], tid)
Example #2
0
    def _check_residual(self, ev, threshold):
        tid = ev[0]
        next_time = ev[1] + cr_constant.DEFAULT_TIME_UNIT

        if (tid, next_time) in self.event_time_dict or tid in self.residual_instance_dict:
            return False
        else:
            residual_life = ResVectorFactory.compute_residual_life(self.task_dict[tid])
            if residual_life <= threshold:
                return False
            else:
                self.residual_instance_dict[tid] = residual_life
                return True
Example #3
0
    def read_data(self):
        print "--> Reading data ... "

        with open(self.data_file, 'r') as in_file:
            for line in in_file.readlines()[1:]:
                rv = ResVectorFactory.factory(line)

                self.event_time_seq.append((rv[0], rv[3]))
                self.event_time_dict[(rv[0], rv[3])] = 1

                self._add_to_task_dict(rv)

            self._process_task_dict()
        print "--> Reading data completed."
        return self
Example #4
0
    def read_data(self):
        print "--> Reading data ... "

        with open(self.data_file, 'r') as in_file:
            for line in in_file.readlines()[1:]:

                rv = ResVectorFactory.factory(line)

                if rv[0] not in self.task_dict:  # Record only the first occurrence
                    self.event_seq.append((rv[0], rv[3]))

                self.event_time_dict[(rv[0], rv[3])] = 1

                self._add_to_task_dict(rv)
                # self._add_to_req_dict(rv)

            self._process_task_dict()
        print "--> Reading data completed."