<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>RBPSim: A Resource-aware Extension of BPSim Using Workflow Resource Patterns</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Nehal Afifi</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Ahmed Awad</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Hisham M. Abdelsalam</string-name>
          <email>h.abdelsalam@fci-cu.edu.eg</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Faculty of Computers and Information, Cairo University</institution>
          ,
          <addr-line>Giza</addr-line>
          ,
          <country country="EG">Egypt</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>One of the main limitations affecting business process simulation approaches is the incorrect modeling of human resources. The BPSim standard is acknowledged as a first step towards streamlining the experience of business process simulation and providing a tool independent exchange format for so-called simulation scenarios. Unfortunately, with respect to the human resource perspective, the standardization effort did not advance behind modeling resources as quantities required for the different process elements. Workflow resource patterns outline resources' distribution and utilization. This paper is taking a first step towards combining BPSim standard with the well-known workflow resource patterns through RBPSim: a resource-aware extension of BPSim standard.</p>
      </abstract>
      <kwd-group>
        <kwd>BPSim</kwd>
        <kwd>workflow resource patterns</kwd>
        <kwd>business process simulation</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Motivation</title>
      <p>Analysis of business process models has for a long time focused on verification,
e.g. soundness [ ], and validation, e.g. compliance checking [ ]. Simulation as
an important analysis approach for business processes has received very little
attention from researchers [ ]. Simulation attempts to predict how the real-world
processes will operate through various “What-if” scenarios [ , ].</p>
      <p>For simulating business processes, we need to model at least three perspectives:
control flow, data and resources [ ]. One of the main issues affecting the current
business process simulation approaches is modeling human resource in a naïve
manner [ ]. Resources are referred to either by quantities within a role or
explicitly. To enrich simulation models with appropriate specifications of resource
requirements, we need a standard definition of a resource model to be used in
any Business Process Simulation(BPS) experiment [ ].</p>
      <p>The Business Process Simulation (BPSim) standard version . [ ],
developed by WfMC, allows business process models specified in either BPMN [ ]
or XPDL [ ] to be augmented with simulation-specific parameters such as task
durations, branching probabilities, case arrival rates, etc. The BPSim metamodel
is not fully elaborated regarding the resource perspective. Oversimplified resource
modeling and omitting workflow resource patters can cause unsuccessful
simulations [ , , ]. Resources require richer representation with respect to work
preference, speed and realistic allocation plan and working schedule regard to
work items. BPSim limitations in modeling resources have been discussed in [ , ].
However, the standard is extensible as it defines a meta-model for its elements
and extension points.</p>
      <p>In this paper, we take a first step towards extending BPSim to enrich
resources specification. We use the well-known workflow resource patterns [ ]
as the means to express resource’s selection and allocation strategies during a
simulation scenario. The rest of the paper is organized as the following: section
discusses extending BPSim standard with workflow resource patterns, an
evaluation example is presented in Section . Section concludes the paper with an
outlook on future work.</p>
    </sec>
    <sec id="sec-2">
      <title>Extending BPSim with Workflow Resource Patterns</title>
      <p>In this section we discuss the level of support offered by BPSim regarding human
resources. We present our extension of BPSim metamodel for more expressive
resources representation in simulation scenarios. This extension is based on the
well-known workflow resource patterns [ , ].
Workflow resource patterns specify resources representation, selection and
utilization within the process model and are divided into seven groups [ , ].
. Creation patterns are concerned with which resources are eligible?. That is
out of all available resources R, a Creation pattern cp is responsible for finding
set Rcp ⊆ R which represents the candidate resources where any of them can
execute the respective task t. Rcp can be either specified by properties that each
resource r ∈ Rcp must possess to be able to execute t or it can be specified by
explicitly enumerating its members; . Push patterns are concerned with How
to pick one of the eligible resources?. Push patterns are more on the execution or
simulation time assignment of a work item wi to a resource r ∈ Rcp where wi
is the instance of task t within a specific process instance. So, the enforcement
of a Push pattern should result in at most one specific resource being assigned
to the work item whereas enforcement of a Creation pattern results in a set
of candidate resources Rcp. Note that Rcp might be empty in case of none of
the available resources possesses sufficient capabilities to perform t; . Pull
patterns the difference between Push and Pull patterns is that transitions in
Push patterns are stated by the system while in Pull patterns resources may
have the ability to initiate transitions, reorder their working queue and select the
next work item to be executed; . Detour patterns refer to interruptions to
work items either by the system or by resources executing them; . Auto-Start
patterns refer to the triggering of work items by specific events either through
creation or allocation; . Visibility patterns determining work item visibility
for a resource and . Multiple Resource patterns are concerned with tasks
that require more than one resource working on it concurrently.</p>
      <p>Following a divide-and-conquer approach, in this paper, we are concerned
with the first five groups, namely Creation, Push, Pull, Detour and Auto-Start
patterns. We argue that building simulation models where those patterns can
be employed is a first step towards getting more accurate simulation results.
Multiple Resource patterns are currently out of scope and subject for future
research. Visibility patterns are purely related to process enactment and building
of process execution engines, like implementation of work item lists. Thus, they
are not considered for process simulation.
To accomplish an effective business process simulation experiment, process
elements, e.g. tasks, involved in the experiment should include the following [ , ]:
. Required resources: to execute a task, one or more resources should be
available to handle the task based on task-specific requirements; . Execution
duration: resources execution duration for each task is not constant and should
follow a probabilistic distribution; . Resource share-ability: resources are
not dedicating all their time to one task and may divide time simultaneously
between different tasks; . Resource availability: resources may be unavailable
to perform tasks which requires a value attached to the resources indicating
availability; . Context switching overhead: resources may require time intervals
between different tasks execution so another timing interval with a probabilistic
distribution should be included to specify time required between tasks execution
and . Work item selection: resource’s working queue is necessary to organize
work items and specify how resource will select the next work item (FIFO, LIFO
or based on priority). Among the above-mentioned requirements for a simulation
experiment, BPSim covers the following [ ]:</p>
      <p>. ElementParameter indicates the reference to a process element and extended
with a number of parameters: (a) time, (b) control that defines control flow of
BPMN element, (c) cost, (d) priority contains “Interruptible Attribute” specifies
if the execution is interruptible and “Priority Attribute” defines the resource
allocation order based on element priority, (e) property (f) expressions are
added functions such as getResource to select a collection of available resources,
getResourceByRole to select a collection of available resources based on role
and Resource to select an alternative list of available resources and (g) resource
parameter. . ResourceParameter specifies the resource’s availability, quantity,
selection based on defined role list or a number referring to a specific resourceID.
Availability, quantity and role properties are only applicable for an individual
resource element leading to the inability of selecting a specific resources based
on other criteria. . TimeParameter and ControlParameter are neither related
to a resource nor resourcesRole elements although in some cases it might be
needed, TimeParameter could be added to resource and resourceRole BPMN
elements. . CostParameter could be applied to the resource element (but not
the resourceRole element) specifying the cost of resources either by fixed cost
attribute based on resource usage or unit cost attribute based on a time unit [ ].
. PriorityParameter and PropertyParameter are not applicable for resource and
resourceRole elements. Condition attribute in ControlParameter is just a Boolean
and only one condition could be applied to a BPMN element, this parameter
should be modified to handle an expression parameters for filtering the resource
required for task execution.</p>
      <p>Several tools support business process simulation. They are either scientific
prototypes, e.g., BIMP and Desmo-J [ ] or commercial tools, e.g., Bizagi ,
BonitaSoft , Visual Paradigm and Trisotech Modeler . Some of these tools
are BPSim compliant. Freitas et al. [ ], have assessed these tools with respect
to their BPS capabilities. Concerning the resources perspective, all the selected
tools support setting the number of available resources to execute work items,
only Bizagi and Trisotech support allocation plan of resources, none of the tools
supports unavailability of resources and all tools except Visual Paradigm define
the resources working schedule and the resources usage cost. All tools define task
cost while only Trisotech supports defining task execution priority and ability of
interruption while running.</p>
      <p>All mentioned tools that go beyond the resources support in BPSim still are
not fully covering the resource’s perspective. In Section . we discuss BPSim
extended metamodel and provide a systematic way for more expressive resource
representation in simulation scenario.</p>
      <p>.</p>
      <p>Realizing Workflow Resources Patterns in BPSim
In this section, we demonstrate our extension of BPSim metamodel showing
how to address workflow resource patterns discussed in Section . based on the
BPSim standard. Implementaion of the extended metamodel is left for future
work. The extended metamodel is shown in Fig. . The newly added classes are
highlighted with gray.</p>
      <p>BPSim introduces the scenario entity containing all parameters needed to run
a simulation. Each scenario represents one what-if case. Thus, it is defined for
each business process element, e.g. a task, several parameters including, duration,
resources, time unit etc. Resources: entity is the parent for both human and
non-human resources, in this paper we are concerned with HumanResources
to enumerate resources participating in a scenario and describe them with
attributes. Those resources might be referred to later directly or indirectly by a
resourceParameter. ResourceQueue: is used to handle resource’s work items
waiting to be executed. Work items in the resource’s queue could be sorted
based on preference of specific work items, FIFO, priority, LIFO. Role: A human
resource is a member of role which generalizes over OrganizationalGroup and
Position that has (Privileges). A human resource may have execution history
of work items History and a ShiftCalendar indicating the availability. Shift
extends BPSim CalendarParameter [ ].</p>
      <p>http://bimp.cs.ut.ee
https://www.bizagi.com
https://www.bonitasoft.com
https://www.visual-paradigm.com
https://www.trisotech.com/release-notes/bpmn-modeler
3
V
m
a
r
g
a
i
D
s
s
a
l
C
m
i
S
P
B
w
e
N</p>
      <p>Nehal Afifi
et</p>
      <p>al.</p>
      <p>&lt;&lt;interface&gt;&gt;
BusinessProcessModel</p>
      <p>&lt;&lt;interface&gt;&gt;
BusinessProcessModelElement</p>
      <p>+elementRef</p>
      <p>work items including escalation, redo, skip, etc. Auto-Start
Patterns specifies the initial status
of
work item
to Started
so
work item
would
start im
mediately.
], a state parameter indicating the
work item
transition from
creation
to
offering
then
allocation. Work item
is then
started
and moves
either to
completed, failed
or suspended
and
then
resumed.</p>
    </sec>
    <sec id="sec-3">
      <title>Example</title>
      <p>The example explains a simple business process for "Car Maintenance", see Fig. .
When cars arrive, an administration employee receives and records car
information, the selection, offering and allocation of resource are following these patterns:
. Creation (selection): Role-based Distribution, . Push: distribution timing
based on Distribution on Enablement; offering based on Distribution by
OfferMultiple Resources and allocation based on Round Robin. The car is then sent to
the mechanical department where an engineer is selected based on Role-based
Distribution and Capability-based Distribution patterns with experience of 3
years and possession of a certificate. Finally, an accountant receives and records
payments for the work done. The accountant pulls work items from his working
queue based on work item priority. Listing . is an excerpt of the XML for the
simulation scenario parameters based on the extended metamodel from Section .
that realizes the process and patterns discussed above. ElementParameter of
"Receive &amp; record car information"task is defined in lines4 to 13 including the new
updates in ControlParameters (initialStatus) and PriorityParameters
(escalationTiming). ResourcePatterns are defined in lines 8 to 12 specifying creation pattern
(role-based distribution), push patterns (resource offering, resource allocation
and distribution timing). Parameters for the other tasks are defined in lines 13
to 31. Human resources participating in the scenario are defined in lines 32 to 49
specifying resource id, name, capabilities, lagTime, role, organizationalGroup,
position, and resource queue properties.</p>
      <p>Listing . . RBPSim XML for the example</p>
    </sec>
    <sec id="sec-4">
      <title>Conclusion and Outlook</title>
      <p>In this paper, we have introduced RBPSim, a resource-aware extension for
the BPSim metamodel, for better representation of resources within simulation
scenarios. The extension is based on workflow resource patterns. RBPSim provides
a tool independent exchange format for so-called simulation scenarios including
the resources perspective.</p>
      <p>In future, we plan to introduce the remaining resource patterns. Moreover,
we aim at starting an implementation of the extended BPSim metamodel. The
implementation may have two directions. The first is to seek an open source
BPS tool that supports BPSim to apply the extended metamodel. The second
direction is to implement the extension using a general-purpose simulation tool.</p>
    </sec>
  </body>
  <back>
    <ref-list />
  </back>
</article>