<!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>Coral: Conversational What-If Process Analysis (Extended Abstract)</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Daniel Barón-Espitia</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Marlon Dumas</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Oscar González-Rojas</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Systems and Computing Engineering Department, Universidad de los Andes</institution>
          ,
          <country country="CO">Colombia</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>University of Tartu</institution>
          ,
          <addr-line>Tartu</addr-line>
          ,
          <country country="EE">Estonia</country>
        </aff>
      </contrib-group>
      <fpage>118</fpage>
      <lpage>122</lpage>
      <abstract>
        <p>Process simulation is used to estimate the performance of a process under hypothetical (what-if) scenarios, for example, to estimate what would be the cycle time if one of its tasks is automated. Despite the relevance of process simulation as a tool for planning business process improvements, the adoption of process simulation is hampered by the fact that the specification of what-if scenarios requires technical knowledge. This paper presents Coral, a chatbot that allows business users to specify what-if scenarios in a conversational manner. Coral takes as input a process simulation model, and enables users to interactively configure what-if scenarios in business terms. Coral also allows users to compare the performance of the process under the what-if scenario versus its performance under a baseline scenario.</p>
      </abstract>
      <kwd-group>
        <kwd>eol&gt;What-If process analysis</kwd>
        <kwd>conversational chatbot</kwd>
        <kwd>process simulation</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Significance</title>
      <p>
        The essential idea behind process simulation is to use a simulator tool to generate many
hypothetical instances from a simulation model, run these instances step-by-step, and record
each step in this execution. The output of a simulator then includes the simulation logs, as well
as statistics on cycle times, average waiting times, and average resource utilization [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. The
configuration of a simulation model requires the specification of execution parameters related to
the elements of a process model (e.g. tasks, gateways, events). These parameters correspond to:
the inter-arrival time and distribution probability of new instances, the distribution probability
and processing times for each task, the timetables available to execute the process, the available
resources (i.e., type, amount, cost), the timetables associated with the resources, the resources
associated with the tasks, and the probability for each gateway branch.
      </p>
      <p>Each time a what-if scenario is defined, multiple changes must be performed at a flow level
(changes to the process model) and at the instances and task level (changes to the simulation
parameters). Despite current process simulation tools (e.g. BIMP, Apromore) allow specifying
process changes, its specification is quite complex due to technical knowledge to configure and
execute what-if scenarios within each tool. For instance, the business user would like to assess
the impact of modifying existing resources due to the fact that a percentage of the current
resources will be on a temporal leave. The implementation of this what-if scenario requires a
user to know the usage of a specific simulation tool, to configure it, and to configure multiple
process changes within it. The latter implies to create a new resource within the process by
assigning its attributes (e.g. ID, name, amount, cost per hour, and working timetables if fits
with existing ones), to associate the resource with the diferent tasks. This requires specific and
technical knowledge on the selected tool.</p>
      <p>This paper presents Coral, a conversational Chatbot to generate What-If scenarios in a
business-related environment. Coral has the ability to read a process simulation model and
to guide business users to define desired changes in terms of a predefined set of high level
what-if intentions or scenarios. Coral creates a new simulation model from the user intentions,
executes this model into an existing simulation tool, and then presents to the user the expected
performance of the what-if scenario in contrast with the performance of the baseline simulation.
Coral acts as a domain-specific language that integrates diferent process-aware systems to ease
the creation of what-if scenarios.</p>
    </sec>
    <sec id="sec-2">
      <title>2. Scope and Maturity</title>
      <p>Coral interacts with its users via a text interface, to identify a simulation intention and to create
a corresponding what-if simulation scenario. Coral then makes the corresponding changes
to the initial simulation scenario, triggers the simulation, and displays the expected process
performance metrics. Coral is also able to make comparisons between diferent simulation
scenarios and summarize the diferences. Coral allows business users to specify the following
types of simulation intentions (what-if scenarios), for which specific process changes are
defined as a conversation.</p>
      <p>• Increase of demand.
• Decrease of demand.
• Adding resources.
• Modifying existing resources.
• Removing existing resources.
• Optimizing tasks by reducing the execution time.
• Delaying tasks by increasing the execution time.
• Creating working timetables.
• Modifying working timetables.
• Automating tasks.</p>
      <p>• Comparing generated models.</p>
      <p>Coral is at an early stage of development. The tool has been validated via examples and
internal acceptance tests by the authors. It has not undergone external validations.</p>
    </sec>
    <sec id="sec-3">
      <title>3. Architecture</title>
      <p>We created a conversational interface and a set of actions to automate the defined what-if
scenarios. These Coral’s components are implemented on the Rasa Framework, an open source
conversational AI framework. Coral uses the Rasa’s Core component to detect the intention
corresponding to text entered by the user. Coral uses the Rasa’s NLU component to execute a
programmed simulation action based on the detected intention and to return the response to
the user.</p>
      <p>
        Coral takes as input a process simulation model (process model and simulation parameters)
built manually by using process simulation tools or built automatically by using data-driven
simulation tools (e.g. Simod [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]). From this model, the above-mentioned what-if intentions
can be specified in the form of text inputs. Each scenario is associated with an intention in the
chatbot. Once a certain intention is predicted, Coral executes the corresponding actions for
capturing user decisions (high level simulation parameters) for implementing what-if scenarios.
For instance, if an intention for adding a resource is detected, the action will extract the
timetables and tasks available to be assigned to the new resource. The action also validates
the consistency of the information provided by the user (e.g. allow the addition of unique
resources).
      </p>
      <p>Once all the scenario parameters are specified, Coral creates a new simulation scenario
containing all modifications defined by the user. Coral executes the simulation by using the
BIMP Simulator, and then it consolidates the simulation results (performance metrics) which
are displayed to the user.</p>
      <p>Figure 1 illustrates a conversation to simulate the scenario of a demand increase of 50%. It
also illustrates the related implementation components.</p>
      <p>Coral’s backend has been developed in Python and its frontend in React JS. Coral’s frontend
allows interacting with the Chatbot and generating simulation scenarios using text inputs.
The frontend was created by adapting existing code available at https://github.com/smfcoder/
Rasa-Chatbot-with-React-JS-Interface.git. This allowed us to integrate Coral’s blocks of code
that were created within the components of the Rasa framework. Figure 2 illustrates the Coral’s
frontend. This screenshot features an example of a conversation where a user requests the
chatbot to simulate a scenario with one additional resource.</p>
    </sec>
    <sec id="sec-4">
      <title>4. Screencast and Links</title>
      <p>A screencast is available at https://youtu.be/BoEx_BHPtq8. This video illustrates the
conversations for creating three diferent What-If scenarios: creating a new resource, creating a working
timetable, and automating a task. The source code, installation, usage tutorial, and testing
simulation models can be downloaded at https://github.com/AdaptiveBProcess/What-If-Chatbot.git.</p>
    </sec>
    <sec id="sec-5">
      <title>5. Conclusion</title>
      <p>What-If scenarios have a great potential to drive the businesses towards operational excellence.
These scenarios allow observing the change in performance metrics when making changes in
the process. Providing the business users with tools to specify what-if scenarios at high level
of abstraction, and without the dependency of using and configuring specific simulation tools,
ease and accelerate the decision-making process to improve business processes.</p>
      <p>The proposed idea of using a chatbot for the purpose of improving the building of simulation
models requires future developments. Future work is directed towards confronting business
users to validate usability and expressiveness of Coral. We plan to improve Coral’s capabilities to
allow business users to load the simulation models directly, to specify their intentions in natural
language, to compare multiple simulation scenarios visually, to customize the performance
metrics in the comparison, among others.</p>
    </sec>
    <sec id="sec-6">
      <title>Acknowledgments</title>
      <p>Work partly funded by the European Research Council (PIX Project).</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>
          , Fundamentals of Business Process Management, Springer-Verlag,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>M.</given-names>
            <surname>Camargo</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Dumas</surname>
          </string-name>
          ,
          <string-name>
            <given-names>O.</given-names>
            <surname>González-Rojas</surname>
          </string-name>
          ,
          <source>Automated discovery of business process simulation models from event logs</source>
          ,
          <source>Decision Support Systems</source>
          <volume>134</volume>
          (
          <year>2020</year>
          )
          <article-title>113284</article-title>
          .
          <source>doi:1 0 . 1 0 1 6 / j . d s s . 2 0</source>
          <volume>2 0 . 1 1 3 2 8 4 .</volume>
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>