Topic
Prev Next

BPSim Cost Parameters

BPSim 1.0 provides the means to set cost parameters and receive cost statistics from process simulation experiments. BPSim provides a framework to determine variable costs according to two parameters, both related to the level of activity performed in the simulated process. These parameters are:

  • Completion cost ('Fixed Cost' in the BPSim specification) - The cost incurred whenever an operation is completed; this cost can be related to Task, Process, Sub-Process, Call Activity or Resource elements
  • Time cost ('Unit Cost' in the BPSim specification) - The cost incurred whenever a task, process, sub-process, call activity or resource is busy for a period of time

The cost parameters are supported on Activities, resources and processes.

  • Activity - Completion cost is incurred whenever an Activity finishes; Time cost (Unit Cost * Time) is incurred whenever an activity finishes
  • Resource - Completion cost is incurred whenever each involved resource finishes an activity; Time cost (Unit Cost * Time) is incurred whenever each involved resource finishes an activity
  • Process - Completion cost is incurred whenever a process finishes; Time cost (Unit Cost * Time) is incurred whenever a process finishes

Those costs that are known without the need for simulation - for example, overall labor employment costs - are not supported by BPSim.

In this topic, we discuss two examples that demonstrate the configuration and simulation of cost parameters.

  • Set Cost on Activity
  • Set Cost on Resource

Set Cost Parameters on Activity

Create the BPMN Model (Activities)

  • In the Project Browser, create a StartEvent1, a GlobalTask1, two AbstractTasks, and an EndEvent1
  • Ctrl+drag the elements from the Project Browser onto a diagram, pasting GlobalTask1 as an Invocation (Call Activity) called call global (100+2*10)
  • Give the elements names and connect them with Sequence Flows; the two AbstractTasks should be called:
         -  Task (100+3*30) and
         -  Task (100+4*20)

BPSim Configuration

Create a Business Process Simulation configuration Artifact in the diagram, right-click on it and select the 'Configure BPSim' option, then set the configuration to link to the Package containing the BPMN model elements and configure these BPSim parameters as indicated.

Parameter

Settings

Scenario Parameters

  • Click on the 'Scenario' tab and, for the 'Time Unit' parameter, click on the 'Value' drop-down arrow and select 'hours'
  • In the 'Value' field for the 'Duration' parameter, set the value to '0001 00:00:00' (1 day)

This Time Unit is used to calculate the Time Cost (Time cost = Unit Cost * Time), so make sure the Unit Cost is based on the correct Time Unit.

Control Parameters

  • On the left side of the dialog, expand the 'StartEvent' group and click on StartEvent1
  • Click on the 'New Parameter' drop-down arrow and select 'TriggerCount'
  • In the 'Value' field type '1'

Time Parameters

On the left side of the dialog, expand the 'Activities' group.

  • Click on Task(100+4*20) and on the 'Time' tab, then click on the 'New Parameter' drop-down arrow and select 'ProcessingTime'; set the 'Value' field to '000:000:000 004:00:00' (4 hours)
  • Click on Task(100+3*30) and do the same, setting the 'Value' field to '000:000:000 003:00:00' (3 hours)

Expand the 'GlobalTask' group.

  • Click on GlobalTask1 and do the same, setting the 'Value' field to '000:000:000 002:00:00' (2 hours)

Cost Parameters

  • Click on Task(100+4*20) and on the 'Cost' tab, then click on the 'New Parameter' drop-down arrow and select:
         -  'FixedCost' - in the 'Value' field click on the button, select the 'Constant' tab and 'Floating', and in the 'Constant Floating' field type '100'; click on the OK button
         -  'UnitCost' - do the same, setting the 'Constant Floating' field to '20'
  • Click on Task(100+3*30) and do the same, setting:
         -  'FixedCost' to '100
         -  'UnitCost' to '30'
  • Click on GlobalTask1 and do the same, setting:
         -  'FixedCost' to '100
         -  'UnitCost' to '10'
  • Expand the 'BusinessProcess' group, click on BPSim Cost and do the same, setting:
         -  'FixedCost' to '50'
         -  'UnitCost' to '5

Simulation

  • From the 'Configure BPSim' dialog toolbar, click on the Run button; the 'BPSim Simulation Controller' dialog displays
  • Click on the Run button and select 'Standard Simulation'
  • When the simulation is complete, click on the button on the 'BPMN Simulation Controller' dialog toolbar; the 'BPMN Simulation Report View' displays
  • Filter the report by clicking on the button and selecting 'Show only Non-Empty Items'

Analysis

Activity

Analysis

Task(100+4*20)

  • Total Completion Cost is 100, matching the FixedCost (100) setting in BPSim
  • Total Time Cost is 80, calculated as ProcessingTime (4 hours) * UnitCost (20/hour)

Task(100+3*30)

  • Total Completion Cost is 100, matching the FixedCost (100) setting in BPSim
  • Total Time Cost is 90, calculated as ProcessingTime (3 hours) * UnitCost (30/hour)

call global (100+2*10)

  • Total Completion Cost is 100, matching the FixedCost (100) on GlobalTask1 setting in BPSim
  • Total Time Cost is 20, calculated as ProcessingTime (2 hours) * UnitCost (10/hour) on GlobalTask1

BPSim Cost process

  • Total Completion Cost is 50, matching the FixedCost (50) setting in BPSim
  • Total Time Cost is 45, calculated as Total ProcessingTime of all tasks (4 + 3 + 2 = 9 hours) * UnitCost (5/hour)

Set Cost Parameters on Resource

Create the BPMN Model (Resources)

  • In the Project Browser create a StartEvent1, a GlobalTask1, two abstractTasks called Task (by Junior) and Task (by Senior), and an EndEvent1
  • Ctrl+drag the elements from the Project Browser onto a diagram, pasting GlobalTask1 as an Invocation (Call Activity) named call global (by Junior)
  • Connect the elements with Sequence Flows
  • Create two BPMN2.0 Resource elements: Junior Developer and Senior Developer

BPSim Configuration

Create a Business Process Simulation configuration Artifact in the diagram, right-click on it and select the 'Configure BPSim' option, then set the configuration to link to the Package containing the BPMN model elements and configure these BPSim parameters as indicated.

Parameter

Setting

Scenario Parameters

  • Click on the 'Scenario' tab and, for the 'Time Unit' parameter, click on the 'Value' drop-down arrow and select 'hours'
  • In the 'Value' field for the 'Duration' parameter, set the value to '0001 00:00:00' (1 day)

This Time Unit is used to calculate the Time Cost (Time cost = Unit Cost * Time), so make sure that the Unit Cost is based on the correct Time Unit.

Control Parameters

  • On the left side of the dialog, expand the 'StartEvent' group and click on StartEvent1
  • Click on the 'New Parameter' drop-down arrow and select 'TriggerCount'
  • In the 'Value' field type '1'

Time Parameters

On the left side of the dialog, expand the 'Activities' group.

  • Click on Task (by Junior) and on the 'Time' tab, then click on the 'New Parameter' drop-down arrow and select 'ProcessingTime'; set the 'Value' field to '000:000:000 004:00:00' (4 hours)
  • Click on Task (by Senior) and do the same, setting the 'Value' field to '000:000:000 003:00:00' (3 hours)

Expand the 'GlobalTask' group.

  • Click on GlobalTask1 and do the same, setting the 'Value' field to '000:000:000 002:00:00' (2 hours)

Resource Parameters

On the left of the dialog, expand the 'Resource' group.

  • Click on Junior Developer and on the 'Resource' tab, then click on the 'New Parameter' drop-down arrow and select 'Quantity'; in the 'Value' field type '10'
  • Click on Senior Developer and do the same, typing '5' in the 'Value' field

Assign Resource to Activities

On the left of the dialog, expand the 'Activity' group and click on:

  • Task (by Junior) and on the 'Resource Role' tab, then - if the 'Resource Roles defined in BPMN' panel is empty - click on the Add Resource Role button, choose 'Junior Developer' and type '1' in the 'Quantity' field; check that the 'Resource Selection Expression for Activity' panel now contains:
         bpsim::getResource('Junior Developer', 1)
  • call global (by Junior) and do exactly the same thing
  • Task (by Senior) and do the same thing, selecting 'Senior Developer' and setting 'Quantity' to '1'; the 'Resource Selection Expression for Activity' panel should contain:
         bpsim::getResource('Senior Developer', 1)

Cost Parameters

  • Click on Junior Developer and on the 'Cost' tab, then click on the 'New Parameter' drop-down arrow and select:
         -  'FixedCost' - in the 'Value' field click on the button, select the 'Constant' tab and 'Floating', then in the 'Constant Floating'
            field type '100' and in the 'CurrencyUnit' field type 'AUD'; click on the OK button
         -  'UnitCost' - do the same, setting the 'Constant Floating' field to '20'
  • Click on Senior Developer and do the same, setting:
         -  'FixedCost' to '100'
         -  'UnitCost' to '30'

Simulation

  • From the Configure BPSim window toolbar, click on the Run button; the 'BPSim Simulation Controller' dialog displays
  • Click on the Run button and select 'Standard Simulation'
  • When the simulation is complete, click on the button on the 'BPMN Simulation Controller' dialog toolbar; the 'BPMN Simulation Report View' displays
  • Filter the report by clicking on the button and selecting 'Show only Non-Empty Items'

Analysis

Resource

Results

Junior Developer

  • Total Completion Cost is '200', calculated as FixedCost (100) * number of Activities involved (2)
  • Total Time Cost is '120', calculated as ProcessingTime (4 + 2 = 6 hours) * UnitCost (20/hour)

Senior Developer

  • Total Completion Cost is '100', calculated as FixedCost (100) * number of Activities involved (1)
  • Total Time Cost is '90', calculated as ProcessingTime (3 hours) * UnitCost (30/hour)