<!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>Ark Automate - an Open-Source Platform for Robotic Process Automation</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Lukas Hüller</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Kay Erik Jenß</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Sandro Speh</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Daniel Woelki</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Maximilian Völker</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Mathias Weske</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Hasso Plattner Institute, University of Potsdam</institution>
          ,
          <addr-line>14482 Potsdam</addr-line>
          ,
          <country country="DE">Germany</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>With the recent uptake of Robotic Process Automation in research, also the tooling for building RPA bots comes into focus. So far, the mainly industry-driven domain produced several software programs for creating bots, and with this, diferent non-standardized modeling approaches emerged. Additionally, there are only few unrestricted or even open-source tools available. In this paper, we present Ark Automate, an open-source and web-based platform for creating and running RPA bots. It features interchangeable modeling interfaces, e.g., BPMN, to cater for the diferent user groups and is open for extension by the community.</p>
      </abstract>
      <kwd-group>
        <kwd>eol&gt;Robotic Process Automation</kwd>
        <kwd>RPA Software</kwd>
        <kwd>RPA Modeling</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
      <p>RPA ecosystem of the Robot Framework3. Furthermore, the software is open source and can be
extended, such as for evaluating diferent modeling languages for RPA, implementing robotic
process mining approaches, or examining integrations with BPMS.</p>
    </sec>
    <sec id="sec-2">
      <title>2. Features and Characteristics</title>
      <p>Ark Automate is designed as a mainly web-based RPA software. Thus, all user interfaces, i.e., for
modeling, starting, and supervising bots, are accessible to RPA developers and employees via
the browser. The client software, responsible for the actual execution of bots, can be installed
either locally or in virtual machines. Before describing the architecture in more detail in Sect. 3,
some special features of Ark Automate are briefly introduced in the following.</p>
      <sec id="sec-2-1">
        <title>2.1. Exchangeable Modeling Interface</title>
        <p>
          To a large extent, RPA tools provide a visual modeling interface for creating RPA bots [
          <xref ref-type="bibr" rid="ref3">3</xref>
          ] to
simplify the modeling process and make RPA accessible to business users as well. However,
there is no standard modeling language for RPA yet, and consequently each RPA vendor has
established its own format. But due to the broad circle of users, ranging from ofice employees,
to process analysts to IT experts, it is unlikely that one interface will be able to cater for all
needs, e.g., in terms of granularity or prior knowledge with modeling languages for workflows.
        </p>
        <p>Therefore, Ark Automate is designed so that diferent modeling interfaces can be ofered for
creating bots4. To ensure collaboration among diferent user groups, the implementation allows
users to switch between the diferent layouts at any time, thanks to a model-independent data
structure that is used internally and updated in real time.</p>
        <p>Currently, BPMN and a Robot code editor are supported, as conducted interviews revealed
that BPMN is already widely used to document RPA bots and, moreover, is often already familiar
to business users. The code editor, in contrast, is intended for technical users. New interfaces,
such as flowcharts, can be added if required, e.g., for experimenting with new modeling methods
for RPA.</p>
      </sec>
      <sec id="sec-2-2">
        <title>2.2. Connection to BPMS</title>
        <p>
          RPA is used for automating repeatedly executed tasks on computers [
          <xref ref-type="bibr" rid="ref1">1</xref>
          ]. However, these
local tasks are often only small parts of whole business processes which are performed in a
company [
          <xref ref-type="bibr" rid="ref2">2</xref>
          ]. To better integrate local RPA bots with potentially enterprise-wide processes,
Ark Automate provides an application programming interface that can be used to control and
orchestrate the execution of RPA bots.
        </p>
        <p>This interface enables business process management systems (BPMS) to launch and monitor
RPA bots at the right time in the process, allowing RPA bots to be seamlessly integrated into
business processes.</p>
        <sec id="sec-2-2-1">
          <title>3https://robotframework.org/</title>
          <p>4However, many modeling languages are more powerful than the concepts ofered by Robot Framework and
thus need to be constrained. See
https://github.com/bptlab/ark_automate/wiki/Documentation-Single-Source-ofTruth for more details.</p>
        </sec>
      </sec>
      <sec id="sec-2-3">
        <title>2.3. Live Monitoring</title>
        <p>Ark Automate enables the user and connected systems to closely monitor the current status of
running bots in real time. It not only provides information about which operations have already
been completed, are currently being processed, or are still to be executed, but it also supplies
detailed error messages. This enables new possibilities for an improved exception handling in
RPA, e.g., to reveal marginal cases that have not been considered at design time or to enable
exception handling at the business process level.</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>3. Architecture</title>
      <sec id="sec-3-1">
        <title>The overall architecture of Ark Automate is given in Fig. 1.</title>
        <p>To enable the functionality of diferent interfaces for modeling bots in the front-end, all bots
are stored in the same model-independent format in the Robot Repository. In the
backend, the Model Interpreter, consisting of parsers for each interface, ensures that models
can be translated between the internal representation and the respective modeling languages.
General information and metadata about the various operations, i.e., building blocks available
for creating a bot, are stored in the RPA Activity Storage.</p>
        <p>The Control Interface, connected to the Robot Coordinator in the back-end,
provides the functionality to start and configure new bot instances and closely monitor running
executions (cf. Sect. 2.3). Additionally, the coordinator exposes an API for managing bot
executions (see Sect. 2.2).</p>
        <p>Created RPA bots can be executed at any computer having the Local Client installed.
After startup, the client establishes a connection to the back-end and awaits new jobs. Whenever
the execution of a bot is requested, the back-end retrieves the corresponding bot from the Robot
Repository and translates it from the internal data format to the actual Robot Framework code.
This code is then transferred to the client software and executed using the Robot Framework.
During execution, the client listens for updates from the framework and notifies the coordinator,
which stores this information in the Robot Job Storage.</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>4. Example</title>
      <p>One of the implemented interfaces supports the Business Process Management and Notation
standard (BPMN). Figure 2 shows a screenshot of an RPA bot modeled using this interface. Each
activity in the process can be assigned an RPA functionality using the sidebar on the right.</p>
      <p>In this example, the activity “Enter Current Temperature in Cell” is configured to be a task for
automating the Excel.Application. The opened drop-down then shows all operations available
for this type of application, and the Write to Cells operation is selected in this case. Subsequently,
input fields for configuring the selected operation appear below, here, for specifying the
worksheet to modify, the column and row numbers, as well as the value to be entered, which in this
case is a variable set by the previous “Get Current Temperature” activity. Each parameter can
also be marked to be set at the start of the robot, instead of being hard-coded in the model.
While designing the bot, the interface can be switched at any time, e.g., to view the modeled
workflow in the actual Robot Framework code that is generated from the model and used for
the execution of the bot.</p>
      <p>After modeling, the bot can eventually be executed and the progress of execution can be
observed live for each task.</p>
    </sec>
    <sec id="sec-5">
      <title>5. Maturity</title>
      <p>Ark Automate is an open-source tool which was developed in collaboration with the project
partner Camunda5. The key features and requirements for Ark Automate were derived from
interviews with process experts, industry RPA developers, and researchers, revealing pain
points of current RPA solutions as well as the needs of these diferent user groups, such as the
discussed live monitoring and diferent modeling interfaces.</p>
      <p>By using the open-source, text-based, and extendable Robot Framework, which is supported
by the Robot Framework Foundation, a consortium of diferent companies, Ark Automate relies
on a mature solution that is also used in industry to provide its RPA functionality.</p>
    </sec>
    <sec id="sec-6">
      <title>6. Conclusion</title>
      <p>In this paper, a novel open-source RPA tool, Ark Automate, was presented and ofered to the
research community for use and further development.</p>
      <p>
        Focusing on the modeling of RPA bots, it encourages to reconsider the current state of
RPA modeling. Building on the proven Robot Framework, the tool provides live monitoring
of running bot instances, and thereby enables new research directions, especially regarding
exception handling, a critical but neglected area in RPA [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. Additionally, Ark Automate ofers
an API for a more profound integration with BPMSs, which should be further examined.
      </p>
      <p>While the internal data structure already supports more advanced constructs, it is planned
to reflect this complexity in the interface as well, e.g., by supporting branching with if/else or
reusable bot sub-processes, and to evaluate more interfaces, like flowcharts. Furthermore, the
live monitoring and exception handling aspects will be strengthened.</p>
    </sec>
    <sec id="sec-7">
      <title>Acknowledgments References</title>
      <p>We would like to thank Tobias Metzke-Bernstein and Daniel Meyer from Camunda for their
support and feedback during the development of this project.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <surname>W. M. P. van der Aalst</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          <string-name>
            <surname>Bichler</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          <string-name>
            <surname>Heinzl</surname>
          </string-name>
          , Robotic Process Automation,
          <source>Business &amp; Information Systems Engineering</source>
          <volume>60</volume>
          (
          <year>2018</year>
          )
          <fpage>269</fpage>
          -
          <lpage>272</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>C.</given-names>
            <surname>Flechsig</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Lohmer</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Lasch</surname>
          </string-name>
          ,
          <article-title>Realizing the Full Potential of Robotic Process Automation Through a Combination with BPM</article-title>
          , in: Logistics management, Springer,
          <year>2019</year>
          , pp.
          <fpage>104</fpage>
          -
          <lpage>119</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>J. G.</given-names>
            <surname>Enriquez</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Jimenez-Ramirez</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F. J.</given-names>
            <surname>Dominguez-Mayo</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J. A.</given-names>
            <surname>Garcia-Garcia</surname>
          </string-name>
          ,
          <article-title>Robotic Process Automation: A Scientific and Industrial Systematic Mapping Study</article-title>
          ,
          <source>IEEE Access 8</source>
          (
          <year>2020</year>
          )
          <fpage>39113</fpage>
          -
          <lpage>39129</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>R.</given-names>
            <surname>Syed</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Suriadi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Adams</surname>
          </string-name>
          ,
          <string-name>
            <given-names>W.</given-names>
            <surname>Bandara</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S. J.</given-names>
            <surname>Leemans</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Ouyang</surname>
          </string-name>
          ,
          <string-name>
            <surname>A. H.</surname>
          </string-name>
          <article-title>ter</article-title>
          <string-name>
            <surname>Hofstede</surname>
            , I. van de Weerd, M. T. Wynn,
            <given-names>H. A.</given-names>
          </string-name>
          <string-name>
            <surname>Reijers</surname>
          </string-name>
          ,
          <string-name>
            <surname>A. H. M. ter Hofstede</surname>
          </string-name>
          , Robotic Process Automation:
          <article-title>Contemporary themes and challenges</article-title>
          ,
          <source>Computers in Industry</source>
          <volume>115</volume>
          (
          <year>2020</year>
          ).
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>