Categories

Versions

Execute Process (Productivity)

Synopsis

This operator embeds a complete process (previously written into a file) into the current process.

Description

This operator can be used to embed a complete process definition of a saved process into the current process definition. The saved process will be loaded and executed when the current process reaches this operator. Optionally, the input of this operator can be used as input for the embedded process. In both cases, the output of the saved process will be delivered as output of this operator. Please note that validation checks will not work for a process containing an operator of this type since the check cannot be performed without actually loading the process. The use of this operator can be easily understood by studying the attached Example Process.

Input

  • input

    The Execute Process operator can have multiple inputs. When one input port is connected, another input port becomes available which is ready to accept another input (if any). The order of inputs remains the same. The object supplied at the first input port of the Execute Process operator is available at the first input port of the embedded process. Don't forget to connect all inputs in correct order. Make sure that you have connected the right number of ports.

Output

  • result

    The Execute Process operator can have multiple outputs. When one result port is connected, another result port becomes available which is ready to deliver another output (if any). The order of outputs remains the same. The Object delivered at the first output port of the embedded process is delivered at the first result port of the Execute Process operator. Don't forget to connect all outputs in correct order. Make sure that you have connected the right number of ports.

Parameters

  • process_locationThe location of the process to be embedded is provided here. Range:
  • use_inputThis is an expert parameter. It indicates if the input of this operator should be used as input for the embedded process. This should always be set to true if you want to provide input to the embedded process through the current process. Range: boolean
  • store_outputThis is an expert parameter. It indicates if the operator output should be stored. This applies only if the context of the embedded process defines output locations. Range: boolean
  • propagate_metadata_recursivelyThis is an expert parameter. It determines whether meta data is propagated through the included process. Range: boolean
  • cache_processThis is an expert parameter. It determines if the process should be loaded during execution. If it is checked, the process will not be loaded during the execution. Range: boolean
  • macrosThis is an expert parameter. It defines macros for this sub-process. Range:
  • fail_for_unknown_macrosThis is an expert parameter. It decides which macros you can define at the 'macros' list above. If checked, only macros defined in the embedded process' context can be defined in the 'macros' list above. Range:

Tutorial Processes

The process to be used as an embedded process in the next Example Process

This process does not use the Execute Process operator, rather it is used as an embedded process in the second Example Process . This process uses the Decision Tree operator twice. In both cases input is not provided to the operators in this process. The input ports of the operators are connected with the input ports of the process, thus these operators will receive inputs via another process as we shall see soon. Such a process cannot work at its own, because inputs are missing. Only the mod port is connected to the output in both operators. Always make sure that the input ports of this process are connected in the right way whenever you want this process to receive inputs from other processes.

Executing an embedded process

The Execute Process operator is used in this process. The process location parameter supplies the location of the first Example Process. Make sure you provide the same location here that you used to save the first Example Process. The Retrieve operator is used twice, first it loads the 'Golf' data set and then it is used to load the 'Labor-Negotiations' data set. These data sets are sent as input to the embedded process. The object connected to the first input port of the Execute Process operator is received at the first input port of the embedded process. Thus the 'Golf' data set is provided as input to the first Decision Tree operator. Similarly, the 'Labor-negotiations' data set is provided as input to the second Decision Tree operator. Passing input to the embedded process was possible because the use input parameter was checked. If you uncheck it and run the process again, you will get an error message. Outputs of the embedded process are delivered as outputs of the Execute Process operator in the current process. The order of outputs remains the same. The Decision Tree model of the Labor-negotiations data set is connected to the second res port of the first Example Process, thus it is available at the second res port of the Execute Process operator in the current process.