Skip to content

BatchActivity Plugin

BjoernDaase edited this page Mar 20, 2018 · 36 revisions

XML Tag Name

There is no tag in the simulation file.
All the information needed will be provided in the BPMN file as extension attributes. You will se details in the next chapter.

Short description

Batch processing enables a business process, which usually acts on a single item, to bundle the execution of groups of process instances for particular activities in order to improve its performance.
Each batchActivity has four Attributes:
A maxBatchSize, an activationRule, a groupingCharacteristicand anexecutionType`.

Dependencies to other plugins

Deactivate the subProcess plugin, they exclude each other.

Collaborations

If the XES-Logger is active, the batch activities will be logged in there.

Detailed description

The detailed description of the attributes are as follows:

  • maxBatchSize, an integer, that defines how many processes can be executed together.
  • activationRule, which can be either a thresholdRule or a minMaxRule. That defines when a batch is enabled to be executed.
  • groupingCharacteristic which holds several processVariables. They reference to fields of data objects which define the parameters(s) that have to be same, so that equal objects will be processed together.
  • executionType which describes whether the events and tasks of the batch activity will be executed parallel or sequential. Parallel means that all process instances in a batch cluster will be executed together (all instances of a batch will have the exactly same output in the XES file). Sequential says the following: First, all process instances will do the first event/task. When they are all finished, all of them will do the second one etc. until all process instances in this batch cluster have finished the batch activity.

An example for a batchActivity in the BPMN file .The two outer namespaces have to be enumerated with your root tag (in this case bpmn), the inner ones can be either enumerated with either the root or the camunda tag:

<bpmn:subProcess id="Task_0z95iaa" name="Batch Activity">
	<bpmn:extensionElements>
        	<camunda:properties>
          		<camunda:property name="maxBatchSize" value="100" />
          		<camunda:property name="executionType" value="parallel" />
          		<camunda:property name="groupingCharacteristic">
           			<camunda:property name="processVariable" value="RoomRequest.Date"/>
          		</camunda:property>
          		<camunda:property name="activationRule">
            			<camunda:property name="minMaxRule" minInstances="1" minTimeout="PT0S" maxInstances="2" maxTimeout="PT30M">
          		</camunda:property>
        	</camunda:properties>
      </bpmn:extensionElements>
</bpmn:process>

and the corresponding dataObject , which is defined in the simulation file

<bsim:dataInput id="DataObjectReference_0vnqhdu" name="RoomRequest" >
	<bsim:field name="Date" type="long">
		<bsim:uniformDistribution>
			<bsim:lower>0.5</bsim:lower>
			<bsim:upper>21</bsim:upper>
		</bsim:uniformDistribution>
	</bsim:field>
</bsim:dataInput>