<!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>
      <journal-title-group>
        <journal-title>G. Havur); cristinacabanillas@us.es (C. Cabanillas); axel.polleres@wu.ac.at (A. Polleres)</journal-title>
      </journal-title-group>
    </journal-meta>
    <article-meta>
      <title-group>
        <article-title>BRANCH: An ASP Systems Benchmark for Resource Allocation in Business Processes*</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Giray Havur</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Cristina Cabanillas</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Axel Polleres</string-name>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Siemens AG Austria, Technology</institution>
          ,
          <addr-line>Siemensstraße 90, 1210 Vienna</addr-line>
          ,
          <country country="AT">Austria</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Universidad de Sevilla</institution>
          ,
          <addr-line>Avda. Reina Mercedes s/n, ETS Ingeniería Informática, 41012 Seville</addr-line>
          ,
          <country country="ES">Spain</country>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>Vienna University of Economics and Business</institution>
          ,
          <addr-line>Welthandelsplatz 1, 1020 Vienna</addr-line>
          ,
          <country country="AT">Austria</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2021</year>
      </pub-date>
      <volume>000</volume>
      <fpage>0</fpage>
      <lpage>0002</lpage>
      <abstract>
        <p>The goal of BRANCH is to benchmark Answer Set Programming (ASP) systems to test their performance when dealing with the task of automatically allocating resources to business process activities. Like many other scheduling problems, the allocation of resources and starting times to process activities is a challenging optimization problem, yet it is a crucial step for an optimal execution of the processes. BRANCH has been designed as a configurable benchmark equipped with instance generators that produce problem instances of diferent size and hardness with respect to adjustable parameters. This application-oriented benchmark supports the BPM community to find the ASP systems and implementations that perform better in solving the resource allocation problem.</p>
      </abstract>
      <kwd-group>
        <kwd>eol&gt;answer set programming</kwd>
        <kwd>benchmark</kwd>
        <kwd>resource allocation</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction and Significance to BPM</title>
      <p>
        As an integral part of business processes, resources have to be considered throughout all
the stages of the Business Process Management (BPM) lifecycle, which iterates from process
discovery and modeling to process execution and monitoring targeting continuous process
improvement [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. At run time, a process execution engine creates instances of a business process
and allocates specific resources to the tasks to be completed according to predefined criteria.
Such criteria are defined in the form of constraints that comprise the characteristics as well as
the number of resources needed for completing each process task. When referred to human
resources, the characteristics are usually reflected in organizational models that contain all the
relevant data about the resources, their roles, their skills and any other valuable information.
Therefore, at the due time for each task only the required number of resources will be picked
up from the set of candidates (i.e. suitable resources according to the resource assignment
constraints) and assigned to the task. The (pre-)execution planning of such assignments and
their scheduling is addressed in resource allocation in business processes (RABP) [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ].
      </p>
      <p>
        The complexity of RABP arises from coordinating the dependencies across a broad set of
resources and process activities as well as from solving potential conflicts (e.g. certain roles are
required to execute certain activities, particular resources cannot be used at the same time, or
diferent resources have to be allocated to diferent activities to avoid conflicts of interest) [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ].
Process-oriented organizations are concerned with carrying out a proper resource allocation
as they aim to optimize one or more process performance measures, which include time, cost,
quality and flexibility [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. Typically, a subset of such objectives is selected and each one in this
subset is assigned a relative priority that defines the respective optimization function.
      </p>
      <p>
        The complexity and practical importance of this issue has prompted BPM researchers to
develop a number of approaches for automatic resource allocation with diferent optimization
functions [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. One way of addressing RABP is by describing it in a knowledge representation
formalism. Answer Set Programming (ASP) [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] has been used to solve various hard
computational problems and proved to maintain a balance between expressiveness, ease of use and
computational efectiveness [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. An ASP program is first grounded by a grounder to a finite set of
clauses where each rule with variables is instantiated as equivalent propositional rules without
variables. Afterwards, a solver searches for answer sets (i.e. solutions) of the ground program.
In the absence of complete information, default behaviours related to an allocated resource (e.g.
assumed/default duration of a generic activity that may be potentially overridden by a known
diferent duration for a specific resource/role) can be elegantly represented in ASP. Thanks to
its flexible modeling constructs, in prior research eforts [
        <xref ref-type="bibr" rid="ref3 ref5">5, 3</xref>
        ] we demonstrated the suitability
of ASP to encode RABP with makespan1 minimization including relatively complex constraints.
This allowed us to identify the RABP problem as a challenging task for state-of-the-art ASP
systems; however, so far a comprehensive set of realistic benchmark instances is missing to
stress-test the performance of ASP systems in practice on this class of problems.
      </p>
      <p>Driven by the relevance of RABP for both BPM and ASP researchers and practitioners,
we have developed BRANCH. In a nutshell, BRANCH provides problem instance generators to
ensure all the input required for RABP, a declarative baseline ASP encoding for the problem
and configuration capabilities such that diferent implementations and combinations of ASP
grounders and solvers can be benchmarked. The BPM community will benefit from a new tool
with a User Interface (UI) to test diferent ASP systems for RABP. In addition, given that one of
the reasons for the limited support for resource allocation in BPM is the lack of existing, openly
available instance data to develop/test new approaches (as companies tend to consider resource
information sensitive), the built-in problem instance generators shall help to fill this gap.</p>
    </sec>
    <sec id="sec-2">
      <title>2. Tool Description</title>
      <p>BRANCH has been implemented in a user-friendly fashion with a simple UI2. Fig. 1(a) shows the
main menu. Its principal functionalities are outlined next.</p>
      <p>Problem (Multi-)Instance Generator: It consists of a process model, an organizational model
1The makespan is the temporal distance from the start to the end of a process execution.
2The UI is implemented via the Python appJar module.</p>
      <p>
        (a)
(b)
(c)
and a temporal knowledge generator, as depicted in Fig. 1(c). The inputs of the process model
generator are the number of activities and the degree of parallelism of the generated process
model. BRANCH uses the Generate block-structured stochastic Petri net plug-in [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] of the process
mining tool ProM [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]. It performs a series of random structured insertion of control-flow
constructs resulting in a random Petri net that is sound, free-choice and block-structured [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]. An
organizational model is then generated using the Role-Based Access Control (RBAC) model [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]
by entering a number of resources and a number of roles that are necessary to create the
model. The RBAC model consists of a resource set, a role set, activity-to-role assignment tuples
specifying which activity can be executed by the resources associated with which role(s), and
tuples of resource-to-role assignments identifying the roles of a resource. Finally, the temporal
knowledge is generated given an upper bound for the execution of the process, a number of
resource-activity specific durations, and a number of role-activity specific durations (apart
from default activity durations). Users can generate multiple problem instances at once via the
multi-instance generator. Each of the previously described numeric inputs are parameterized by
three values (lower limit, mode, and upper limit). Therefore, their respective triangular random
variables are sampled to generate instances.
      </p>
      <p>Problem Instance (resp. Benchmark) Viewer: Generated problem instances (resp.
benchmarks) are listed in a table including the parameters used for their generation. The user can
also remove the instances.</p>
      <p>ASP System Component Configurator: The components of the ASP systems are added by
naming the component, its type and executable path. BRANCH includes the state-of-the-art
ASP grounders gringo and i-dlv, and ASP solvers clasp and wasp.
gringo
idlv
0 20 40 60
Number of grounded instances
clasp(gringo)
wasp(gringo)
clasp(idlv)
wasp(idlv)
104
)B103
M
(
y
r
o
m
e
M102
101
gringo idlv (gcrliansgpo) (gwriansgpo) c(ildalsvp) w(idalsvp) gringo idlv 0Numb1e0r of s2o0lved3in0stanc4e0s
(a) (b) (c) (d)
Figure 2: Memory usage statistics of (a) grounders and (b) solvers, (c) ground program sizes of diferent
grounders, and (d) time usage statistics of grounders and solvers
Benchmark Configurator: To set up a new benchmark instance the user can select problem
instances to include as well as add new ASP systems to be used by selecting and customizing
grounder+solver configurations with the UI shown in Fig. 1(b). A custom problem encoding for
RABP can also be selected if desired and the execution details of the benchmark (e.g. time and
memory limitations) can be further constrained.</p>
      <p>Benchmark Executor: User can select one benchmark instance to execute. The grounding
and solving instances are dynamically listed in the interface monitored.</p>
      <p>Result Viewer: The time and memory usage statistics of ASP grounders and solvers can
be exported in csv format. We also implemented box plots and cactus plots for an easier
interpretation of the benchmark results. The box plots in Fig. 2 report the memory usage
statistics of ASP grounders and solvers of a previously run benchmark3. Therein, the 90% of
the samples are between the upper and lower whiskers. The solid green line represents the
median, and the dashed green line represents the mean of the sample. Fig. 2(a) and Fig. 2(b)
compare the memory usage of grounders and solvers. Fig. 2(c) reports on the ground program
sizes of the instances. The cactus plots in Fig.2(d) separately compare the grounder and solver
time performances. Less steep curves (cf. Fig. 2(d), bottom) and the smaller memory footprint
(cf. Fig. 2(a)) of clasp(gringo) and clasp(i-dlv) – compared to those of wasp(gringo) and
wasp(i-dlv) – indicates that the ASP solver clasp performs better than wasp.</p>
      <p>BRANCH follows the applicable basic principles of experimental design by providing (i)
randomization via the multi-instance generator, and (ii) replication via the benchmark configurator
and benchmark executor. The benchmark software, a video that screencasts the tool and a
separate tutorial document are available at https://urban.ai.wu.ac.at/~havur/bpmdemo2021/.</p>
      <p>
        3Our baseline benchmark run comprises 4 diferent ASP Systems (i.e. grounder+solver): gringo+clasp,
gringo+wasp, i-dlv+clasp, and i-dlv+wasp; and 70 problem instances. The (lower, mode, upper) values for the
problem instance generation are: number of activities (4, 40, 80), number of resources (2, 20, 80), number of roles
(1, 10, 40), upper bound (50, 500, 1000). Time/memory limit per problem instance run is 7200s/16GB.
BRANCH emerged after a formalization of the RABP problem and stable implementations
with ASP [
        <xref ref-type="bibr" rid="ref3 ref5">5, 3</xref>
        ]. These implementations were tested with real data provided by a partner
company as well as in the SHAPEworks tool [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ]. The tests performed showed that RABP
is challenging for the current ASP systems that received the highest performance scores in
former ASP Programming Competitions [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ]. The problem instance generator incorporated in
BRANCH is capable of generating problem instances in real-world sizes which pose a challenge
on state-of-the-art ASP systems.
      </p>
      <p>Future optimizations of the ASP problem encoding to improve its computational eficiency
might increase the applicability of BRANCH. The benchmark could also be extended to enable
the comparison of other formalisms. Such extensions might prove quite beneficial to both the
logic programming and the BPM communities.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>M.</given-names>
            <surname>Dumas</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M. L.</given-names>
            <surname>Rosa</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Mendling</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H. A.</given-names>
            <surname>Reijers</surname>
          </string-name>
          ,
          <source>Fundamentals of Business Process Management (Second Edition)</source>
          , Springer,
          <year>2018</year>
          . doi:
          <volume>10</volume>
          .1007/978-3-
          <fpage>662</fpage>
          -56509-4.
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>C.</given-names>
            <surname>Cabanillas</surname>
          </string-name>
          ,
          <article-title>Process-</article-title>
          and
          <string-name>
            <surname>Resource-Aware Information</surname>
          </string-name>
          Systems, in: Int.
          <source>Enterprise Distributed Object Computing Conf. (EDOC)</source>
          ,
          <source>IEEE Computer Society</source>
          ,
          <year>2016</year>
          , pp.
          <fpage>1</fpage>
          -
          <lpage>10</lpage>
          . doi:
          <volume>10</volume>
          .1109/EDOC.
          <year>2016</year>
          .
          <volume>7579383</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>G.</given-names>
            <surname>Havur</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Cabanillas</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Mendling</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Polleres</surname>
          </string-name>
          ,
          <article-title>Resource Allocation with Dependencies in Business Process Management Systems</article-title>
          ,
          <source>in: Int. Conf. on Business Process Management (BPM) - Forum</source>
          , volume
          <volume>260</volume>
          , Springer,
          <year>2016</year>
          , pp.
          <fpage>3</fpage>
          -
          <lpage>19</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>M.</given-names>
            <surname>Gebser</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Kaminski</surname>
          </string-name>
          , B. Kaufmann, T. Schaub,
          <article-title>Answer set solving in practice</article-title>
          ,
          <source>Synthesis Lectures on Artificial Intelligence and Machine Learning</source>
          <volume>6</volume>
          (
          <year>2012</year>
          )
          <fpage>1</fpage>
          -
          <lpage>238</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>G.</given-names>
            <surname>Havur</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Cabanillas</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Mendling</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Polleres</surname>
          </string-name>
          ,
          <string-name>
            <surname>Automated Resource</surname>
          </string-name>
          <article-title>Allocation in Business Processes with Answer Set Programming</article-title>
          ,
          <source>in: BPM Workshops (BPI)</source>
          , volume
          <volume>256</volume>
          , Springer,
          <year>2015</year>
          , pp.
          <fpage>191</fpage>
          -
          <lpage>203</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>A.</given-names>
            <surname>Rogge-Solti</surname>
          </string-name>
          ,
          <article-title>Block-structured stochastic Petri net generator (ProM plug-in)</article-title>
          , http://www. promtools.org/,
          <year>2014</year>
          . Accessed:
          <fpage>2021</fpage>
          -21-06.
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <surname>W. M. P. van der Aalst</surname>
          </string-name>
          ,
          <source>Process Mining - Data Science in Action (Second Edition)</source>
          , Springer,
          <year>2016</year>
          . doi:
          <volume>10</volume>
          .1007/978-3-
          <fpage>662</fpage>
          -49851-4.
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <surname>W. M. van der Aalst</surname>
          </string-name>
          ,
          <article-title>Structural characterizations of sound workflow nets</article-title>
          ,
          <source>Computing Science Reports</source>
          <volume>96</volume>
          (
          <year>1996</year>
          )
          <fpage>18</fpage>
          -
          <lpage>22</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>A.</given-names>
            <surname>Colantonio</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R. Di</given-names>
            <surname>Pietro</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Ocello</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N. V.</given-names>
            <surname>Verde</surname>
          </string-name>
          ,
          <article-title>A formal framework to elicit roles with business meaning in RBAC systems, in: ACM symposium on Access control models and technologies (SACMAT)</article-title>
          , ACM,
          <year>2009</year>
          , pp.
          <fpage>85</fpage>
          -
          <lpage>94</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10] S. Bala, G. Havur,
          <string-name>
            <given-names>S.</given-names>
            <surname>Sperl</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Steyskal</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Haselböck</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Mendling</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Polleres</surname>
          </string-name>
          ,
          <article-title>Shapeworks: A bpms extension for complex process management</article-title>
          .,
          <source>in: BPM Demo Track</source>
          , volume
          <volume>1789</volume>
          <source>of CEUR Workshop Proceedings, CEUR-WS.org</source>
          ,
          <year>2016</year>
          , pp.
          <fpage>50</fpage>
          -
          <lpage>55</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>M.</given-names>
            <surname>Gebser</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Maratea</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Ricca</surname>
          </string-name>
          ,
          <article-title>The seventh Answer Set Programming Competition: Design and results</article-title>
          ,
          <source>Theory and Practice of Logic Programming</source>
          <volume>20</volume>
          (
          <year>2020</year>
          )
          <fpage>176</fpage>
          -
          <lpage>204</lpage>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>