code: def start_process(self, process_name, when, process_run_id=None):
          # type: (Text, datetime.datetime, Optional[str]) -> str
          
          if process_run_id is None:
              process_run_id = uuid.uuid4().urn
          prov_label = "Run of workflow/packed.cwl#main/" + process_name
          self.document.activity(
              process_run_id, None, None,
              {provM.PROV_TYPE: WFPROV["ProcessRun"],
               provM.PROV_LABEL: prov_label})
          self.document.wasAssociatedWith(
              process_run_id, self.engine_uuid, str("wf:main/" + process_name))
          self.document.wasStartedBy(
              process_run_id, None, self.workflow_run_uri,
              when, None, None)
          return process_run_id
docs: Record the start of each Process.