Exemplo n.º 1
0
 def __init__(self):
     EventSource.__init__(self)
     self.random = random.Random()
     self.state = "ready" # states: ready / running / finished / error
     self.runinstance = None
     self.sequence = controlseq.ControlSequence()
     self.history_instances = []
Exemplo n.º 2
0
 def export_sequence(self, index):
     time = utils.time_to_string(self.get_event_time(index))
     name = "Tracelog upto {0}".format(time)
     sequence = controlseq.ControlSequence(name)
     ri = self.first_runinstance.copy()
     for i in xrange(index):
         event_pointer = self.timeline[i]
         trace = self.traces[event_pointer["process"]]
         trace.pointer = event_pointer["pointer"]
         trace.process_event(ri)
         if ri.last_event == "fire":
             sequence.add_transition_start(ri.last_event_process,
                                           ri.last_event_activity.transition.get_name())
         elif ri.last_event == "finish":
             sequence.add_transition_finish(ri.last_event_process)
         elif ri.last_event == "receive":
             sequence.add_receive(ri.last_event_process,
                                  ri.last_event_activity.origin_id)
     return sequence
Exemplo n.º 3
0
def load_project_from_xml(root, filename):
    target_env_name = root.get("target_env")
    if target_env_name is None:  # For backward compatability
        target_env_name = root.get("extenv", "C++")
    project = create_project(filename, target_env_name)
    project.library_rpc = utils.xml_bool(root, "library-rpc", False)
    project.library_octave = utils.xml_bool(root, "library-octave", False)
    loader = BasicLoader(project)
    if root.find("configuration") is not None:
        load_configuration(root.find("configuration"), project, loader)
    for e in root.findall("net"):
        project.add_net(load_net(e, project, loader))
    assert project.nets
    for e in root.findall("sequence"):
        project.sequences.append(controlseq.ControlSequence(element=e))
    project.build_net = project.nets[0]

    project.id_counter += 1

    return project
Exemplo n.º 4
0
 def export_control_sequence(self, name, element):
     sequence = controlseq.ControlSequence(element=element)
     sequence.name = name
     self.app.save_sequence_into_project(sequence)