<!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>December</journal-title>
      </journal-title-group>
    </journal-meta>
    <article-meta>
      <title-group>
        <article-title>Towards an Approach to Organization of Decentralized Business Process Model Repository</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Andrii Kopp</string-name>
          <email>kopp93@gmail.com</email>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Dmytro Orlovskyi</string-name>
          <email>orlovskyi.dm@gmail.com</email>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Sergey Orekhov</string-name>
          <email>sergey.v.orekhov@gmail.com</email>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Business Process Model</institution>
          ,
          <addr-line>Blockchain, Repository, Knowledge Sharing, Smart Contract</addr-line>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>National Technical University “Kharkiv Polytechnic Institute”</institution>
          ,
          <addr-line>Kyrpychova str. 2, Kharkiv, 61002</addr-line>
          ,
          <country country="UA">Ukraine</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2021</year>
      </pub-date>
      <volume>0</volume>
      <fpage>1</fpage>
      <lpage>03</lpage>
      <abstract>
        <p>This paper proposes an approach to the organization of a decentralized business process model repository to provide a secure and stable software solution for keeping and accessing business process model collections. State-of-the-art studies consider the problem of managing large collections of business process models as an extremely complex challenge, whereas the security and integrity of such corporate knowledge assets are crucial features of repository software. Today blockchain technologies are used not only as ledgers of financial transactions, but also as general-purpose distributed databases that provide high-level security, integrity, and availability. Thus, organizations may benefit from using blockchain platforms and knowledgesharing protocols built on top of them. Therefore, in this paper, we consider the problem of decentralized blockchain-based business process model repository development using smart contract and decentralized application technologies. Presented software prototype of limited functionality is developed on top of the Ethereum test network, accessible using the single page Web3 application. Developed software prototype is validated, obtained results are discussed, the conclusion is made, and the future work is formulated.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction: Related Work and Problem Statement</title>
      <p>The current trend of the digital transformation encourages large enterprises, medium-sized
companies, and even small businesses to focus on detection, analysis, and improvement of their
business processes by deploying BPM (Business Process Management) suites that automate routine
activities. Such an approach is known as BPM, while described cycle of continuous process
improvement is referred to as BPM lifecycle. Business processes are considered as structured sequences
of activities performed by employees and other stakeholders to transform raw information or materials
into products or services valuable for customers, either external or internal. For example, a sick leave
application is processed to satisfy an internal customer – an employee who requested the sick leave,
while order processing serves an external customer – a company’s client or a counter-party
organization, which requires order fulfillment. Each of such business scenarios is called a business
process and, traditionally for BPM projects, is represented using graphical models (similar to flowcharts
used to describe algorithms) to capture, store, and share knowledge about organizational activities.
Captured knowledge about ongoing business processes represented in the form of graphical schemes
could be used to train new employees (future process participants) or to detect inefficiencies in
workflows to improve organizational activities through business process automation (replacing manual
routine tasks with scripts) or re-engineering (rebuilding whole business process scenarios from scratch).</p>
      <p>Thus, it is natural for big enterprises to have extremely large collections of hundreds or even
thousand [1] of business process models. Keeping and accessing such volumes of business process
models could be possible with the use of enterprise-level techniques and software solutions. Since
availability, integrity, and security are crucial features for enterprise collections of business process</p>
      <p>2022 Copyright for this paper by its authors.
models, in this paper we consider the usage of blockchain technology to keep and manage business
process models securely and stably. The research subject is the collection of business process models
organized using blockchain technology. The research objective includes an approach to managing the
blockchain-based storage of business process models.</p>
      <p>This paper is structured in the following way: current section outlines the introduction, as well as
the state-of-the-art overview (sub-section 1.1) and problem statement (sub-section 1.2); section 2
demonstrates an approach to the organization of a blockchain-based collection of business process
models, while Section 3 introduces developed software solution together with a discussion of its usage
results; Section 4 contains conclusion and planned directions of future research in this field.
1.1.</p>
    </sec>
    <sec id="sec-2">
      <title>Related Work</title>
    </sec>
    <sec id="sec-3">
      <title>1.1.1. Business Process Model Repository</title>
      <p>
        According to Yan et al. [1], managing enormous collections of business process models is a complex
problem indeed, which requires special software tools to store, search, and manage business process
model versions [1]. Such software was called a “business process model repository” [1] and, according
to Elias [2], it should correspond to particular requirements, e.g. support of a standard business process
modeling notation BPMN (Business Process Model and Notation) [3], displaying of both graphical and
textual process descriptions, provision of multiple model versions for the same process, model search
and categorization, model analysis and comparison, support of relationships between business process
models, etc. However, there are external access and security [2] requirements, which fulfillment is
critical for corporate assets. Access control and integrity control features were also mentioned by La
Rosa et al. [4], as capabilities of an advanced business process model repository software named
“APROMORE” [4]. Also, access, integrity, and, in addition, transaction management features were
mentioned as part of the framework for business process model repositories proposed by Yan and
Grefen [
        <xref ref-type="bibr" rid="ref1">5</xref>
        ]. Researches made in this period are devoted to efficient querying of business process models,
stored in a repository, using graph-based data structures and indexing approaches similar to search
engines [
        <xref ref-type="bibr" rid="ref2 ref3">6, 7</xref>
        ], and comparison of business process models using various similarity measures based on
business process structure and semantic [
        <xref ref-type="bibr" rid="ref4 ref5">8, 9</xref>
        ]. Nevertheless, all of these studies have mentioned
accessibility and security as repository features, but not as their main research objectives.
      </p>
    </sec>
    <sec id="sec-4">
      <title>1.1.2. Blockchain-based Business Process Management</title>
      <p>
        First studies in this direction were published in [
        <xref ref-type="bibr" rid="ref6">10</xref>
        ] and [
        <xref ref-type="bibr" rid="ref7">11</xref>
        ] and later in [
        <xref ref-type="bibr" rid="ref8">12</xref>
        ] by López-Pintado et
al., who presented the blockchain-based business process management system named “Caterpillar”.
This system captures process instances in the Ethereum blockchain by translating BPMN models into
Solidity smart contracts that drive business process execution. In details translation of BPMN models
into smart contracts is described in paper [
        <xref ref-type="bibr" rid="ref9">13</xref>
        ] published by the same group of researchers. Collaborative
execution of business processes supported by a blockchain platform and smart contracts was also
considered in [
        <xref ref-type="bibr" rid="ref10">14</xref>
        ]. As the extension of the Caterpillar blockchain-based BPM system, authors of [
        <xref ref-type="bibr" rid="ref11">15</xref>
        ]
have proposed an approach to a process mining of event logs produced by business processes, in which
execution data is stored on the blockchain [
        <xref ref-type="bibr" rid="ref11">15</xref>
        ].
      </p>
      <p>
        Shared business process modeling and versioning rather than execution was proposed by Härer [
        <xref ref-type="bibr" rid="ref12">16</xref>
        ].
According to the proposed approach, public and private business process models could be created,
managed, and shared among the decentralized participants in a transactional manner [
        <xref ref-type="bibr" rid="ref12">16</xref>
        ]. Then Fill and
Härer extended their idea into the concept of “Knowledge Blockchain” where enterprise models (in
[
        <xref ref-type="bibr" rid="ref13">17</xref>
        ] they also gave examples on BPMN process models) could be kept in the immutable and
tamperresistant way with authorship and ownership proofs [
        <xref ref-type="bibr" rid="ref13">17</xref>
        ].
      </p>
      <p>
        Another paper focused on blockchain-based business process management considers
crossorganizational business processes, which include collaborative activities distributed among businesses
and individuals, based on blockchain technology [
        <xref ref-type="bibr" rid="ref14">18</xref>
        ]. In [
        <xref ref-type="bibr" rid="ref15">19</xref>
        ] Viriyasitavat and Hoonsopon proposed a
blockchain-based architecture for consensus in collaborative business processes [
        <xref ref-type="bibr" rid="ref15">19</xref>
        ]. One more
research in the field of cross-organizational blockchain-based business processes considers the
integration of IT (information technology) systems organizations use to support business process
execution and monitoring [
        <xref ref-type="bibr" rid="ref16">20</xref>
        ]. Another research by Milani and Garcia-Banuelos considers
interorganizational business processes executed in a blockchain-based ecosystem with smart contracts used
both as process executioners and repositories of process data [
        <xref ref-type="bibr" rid="ref17">21</xref>
        ].
      </p>
    </sec>
    <sec id="sec-5">
      <title>1.1.3. Blockchain Platforms</title>
      <p>
        Since the crypto-boom of 2017, blockchain technology went far beyond the Bitcoin cryptocurrency,
even though it was initially designed to fit digital currency requirements, such as forgery resistance,
immutability, and decentralized community-backed governance [
        <xref ref-type="bibr" rid="ref18">22</xref>
        ]. Initially created to implement
cryptocurrencies, the blockchain technology works with transactions (e.g. containing recipient’s
address, number of coins to be sent, and sender’s signature), which are consolidated into blocks that
contain hash values of blocks generated before, by which creating a chain of irreversible and immutable
blocks [
        <xref ref-type="bibr" rid="ref19">23</xref>
        ]. Therefore, data authenticity and consistency could be proven by checking the conformity
of hash values back to the initial block of the whole blockchain [
        <xref ref-type="bibr" rid="ref20">24</xref>
        ]. Thus, blockchain transactions do
not need a “trusted entity” for processing, they could be executed fast and at a low cost, cannot be
altered, and could be easily traced [
        <xref ref-type="bibr" rid="ref20">24</xref>
        ].
      </p>
      <p>
        Such benefits could not be unnoticed by industry and to support business process execution on top
of blockchains, “smart contracts” were introduced as the computer programs that run in the blockchain
platform and record results of their execution as an immutable transaction into the blockchain [
        <xref ref-type="bibr" rid="ref20">24</xref>
        ].
Being a blockchain platform, Ethereum represents a peer-to-peer network of nodes that maintain a
distributed ledger of transactions, whereas its main purpose is a “world computer” that runs smart
contracts as general-purpose computer programs created using Solidity language similar to JavaScript
by its syntax [
        <xref ref-type="bibr" rid="ref21">25</xref>
        ]. Unlike Bitcoin, Ethereum and other platforms that support smart contracts are called
“programmable blockchains”, which are used to create decentralized applications or “DApps” [
        <xref ref-type="bibr" rid="ref21">25</xref>
        ].
      </p>
      <p>
        DApps use smart contracts as back-end code and blockchains as databases in contrast to traditional
applications backed by centralized servers, whereas the frontend of DApps is usually created with the
traditional combination of HTML (HyperText Markup Language), CSS (Cascading Style Sheets), and
JavaScript together with the “web3.js” library is used to access Ethereum API (Application
Programming Interface) [
        <xref ref-type="bibr" rid="ref21">25</xref>
        ]. By April 2021, five leading smart contract platforms could be used as
“programmable blockchains”: Ethereum, Polkadot, Solana, EOS, and Binance Smart Chain, however,
Ethereum is still the major player and its future development may cement it as the dominant smart
contract platform once and for all [
        <xref ref-type="bibr" rid="ref22">26</xref>
        ].
1.2.
      </p>
    </sec>
    <sec id="sec-6">
      <title>Problem Statement</title>
      <p>
        Considering the relatively young age of blockchain-based business process management, there are
mostly proof-of-concept or experimental solutions currently existing (i.e. Caterpillar and others [
        <xref ref-type="bibr" rid="ref10 ref11 ref6 ref7 ref8 ref9">10 –
15</xref>
        ]). These solutions consider the cross-organizational performance of business processes supported on
top of blockchain platforms. However, to our best knowledge, the enterprise knowledge sharing
approach using a blockchain platform and the BPMN process modeling standard were not proposed
yet. Hence, using programmable blockchain platforms, such as Ethereum, there could be created a
decentralized application to store and manage collections of business process models as part of the
inter-organizational repository of corporate knowledge (see Figure 1).
      </p>
      <p>According to the conceptual model shown in Figure 1, a blockchain-based repository of BPMN
models could be implemented as multiple smart contracts: a main smart contract, which addresses one
or several smart contracts that represent collections of business process models. As the frontend should
be created a decentralized web application that will get the registry of process model collection from
the main smart contract and access respective collections of BPMN models. Therefore, such a repository
may contain multiple business process models collections owned by different organizations or
individuals supporting this enterprise knowledge sharing initiative.</p>
      <p>Financial capabilities of modern blockchain platforms (i.e. cryptocurrencies and custom tokens)
could be used in the repository to exchange BPMN models of best-practice business processes on a
commercial basis (e.g. access to certain collections could be granted as per subscription or one-time
purchase). However, the initial goal is to define the generic structure and behavior of a business process
model collection built on top of a blockchain platform. Then, a proof-of-concept smart contract and
corresponding DApp should be implemented, e.g. using the Ethereum platform as the most popular one.</p>
    </sec>
    <sec id="sec-7">
      <title>2. Proposed Approach to Organization of a Blockchain-based Business Process</title>
    </sec>
    <sec id="sec-8">
      <title>Model Collection</title>
    </sec>
    <sec id="sec-9">
      <title>2.1. Proposed Formal Definitions of a Blockchain-based Business Process</title>
    </sec>
    <sec id="sec-10">
      <title>Model Collection</title>
      <p>Business process model collection built on top of a certain blockchain platform could be described
using the following formal definitions.</p>
    </sec>
    <sec id="sec-11">
      <title>2.1.1. Definition 1. Collection of Business Process Models</title>
      <p>Collection of business process models is the set of documents prepared in BPMN 2.0 format
(XMLbased files), which represent organizational activities for knowledge gathering and sharing purposes. It
could be formally described using the following tuple:</p>
      <p>C  own, MR, m, P, A .
where:
─ own is the owner of a collection of business process models (in blockchain platforms it could be
defined by the address, e.g. as the hexadecimal string);
─ MR is the list of records about business process models associated with this collection;
─ m is the number of business process model records in the list MR (i.e. how many business process
models are referenced in this collection);
─ P is the permissions mapping, which defines users allowed to access this collection (in blockchain
platforms users also could be defined by their addresses, as well as the collection owner own );
─ A is the set of algorithms used to manage a collection of business process models.</p>
    </sec>
    <sec id="sec-12">
      <title>2.1.2. Definition 2. Business Process Model Record</title>
      <p>Business process model record is the structure that consists of business process model attributes,
which could be described using the following tuple:
(1)
where:
─ t i is the title of a business process model referenced in this record;
─ ui is the direct URL (Uniform Resource Locator) used to access a BPMN 2.0 document that
corresponds to a referenced business process model;
─ hi is the hash value of a BPMN 2.0 content (XML-based file) that describes a business process (that
could be calculated using secure hash algorithms, i.e. SHA256 or SHA512, or others); hash value is
used to check the authenticity of a business process model referenced in a collection;
─ desci is the annotation or brief description of a business process model referenced in this record;
─ ind i is the industry name to which a business process described by a referenced in this record model
belongs;
─ ts i is the timestamp that shows when this record about a business process model was made to the
blockchain.</p>
      <p>
        In fact, according to the proposed approach business process models are stored elsewhere (e.g. on
shared file servers or version control system servers that support collaborative work, such as GitHub or
GitLab), while only URLs and hash values of BPMN models are stored in the blockchain. This method
is the most efficient: it saves a huge amount of space and cost, while making a collection
tampertraceable [
        <xref ref-type="bibr" rid="ref23">27</xref>
        ].
      </p>
    </sec>
    <sec id="sec-13">
      <title>2.1.3. Definition 3. Permissions Mapping</title>
      <p>Permissions mapping is the function that associates each address of a blockchain network to the
binary value, which determines whether such address is allowed to add new business process models
into this collection (1) or not:</p>
      <p>P : addr  {0,1}, addr Addr.
where:
─ addr is the address in a blockchain network, which belongs to a set of all addresses in the network
addr  Addr ; for the owner’s address P(own)  1, own  Addr ;
─ values of the codomain {0,1} of P determine whether a user with network address addr is allowed
to add new business process models to a collection, P(addr)  1, or not P(addr)  0 .</p>
      <p>Besides the owner’s address own  Addr , P(own)  1 , by default for all of the addresses existing
in a blockchain network P(addr)  0 , addr  Addr , unless another is given using one of the algorithms
for managing a collection of business process models.</p>
    </sec>
    <sec id="sec-14">
      <title>2.1.4. Definition 4. Algorithms to Manage a Collection of Business Process</title>
    </sec>
    <sec id="sec-15">
      <title>Models</title>
      <p>Algorithms to manage a collection of business process models is the set of algorithms used to
implement certain operations with the collection of business process models, including adding the
reference to a BPMN model and setting access permissions. In general, such algorithms could be
represented as the following tuple:</p>
      <p>A  add, set .
where:
─ add is the algorithm of adding new record about a business process model referenced (2) in this
collection (1);
─ set is the algorithm of setting access permissions (either granting or revoking) for a given user’s
address (3).
(2)
(3)
(4)</p>
      <p>Considered algorithms (4) used to manage the collection of business process models will be
described in detail in further subsection.</p>
    </sec>
    <sec id="sec-16">
      <title>2.2. Proposed Algorithms of a Blockchain-based Business Process Model</title>
    </sec>
    <sec id="sec-17">
      <title>Collection</title>
      <p>In the subsection will be outlined in details algorithms (4) for managing the collection of business
process models (1). Each of algorithms add and set are given below.</p>
    </sec>
    <sec id="sec-18">
      <title>2.2.1. Algorithm of Adding New Record About a Business Process Model</title>
      <p>It is denoted as add (4) and takes as input:
─ title of a referenced business process model, tnew ;
─ direct URL link to access a BPMN 2.0 document, u new ;
─ hash value of a BPMN 2.0 file used to check the authenticity of a referenced business process model,
hnew ;
─ annotation or brief description of a referenced business process model, desci ;
─ industry name to which a described business process belongs, ind i ;
─ timestamp that shows when a referenced business process model was added, tsi .</p>
      <p>This algorithm add consists of following steps:</p>
      <p>Step 1. Get the sender’s address (i.e. a blockchain address of a user who initiated the execution of
this algorithm) send  Addr .</p>
      <p>Step 2. Determine the access permission P(send) given to the obtained sender’s address
send  Addr . Check whether the sender’s address is given with the permission (3) to access a
collection of business process models, i.e. if P(send)  1, send  Addr , then proceed to Step 3.
Otherwise, if P(send)  0 , execution of the algorithm should be finished.</p>
      <p>Step 3. Create a new record about a business process model that should be added to the blockchain
MRnew  tnew , unew , hnew , descnew , indnew , tsnew , where new  m 1.</p>
      <p>Step 4. Add created record MRnew to the end of the list of business model records MR (2).
Step 5. Increase the number of business process model records, m  m  1. Finish the algorithm.</p>
      <p>The sender’s address send  Addr could be obtained from a transaction fired by a certain
blockchain platform user. According to the outlined algorithm, only the collection’s owner own  Addr
should be capable of adding new business process model references.</p>
      <p>Later, when making collections of business process models accessible on a commercial basis, the
proposed algorithm could be modified to allow non-owners to publish their models into collections for
rewards in native repository tokens (quasi-cryptocurrency) that could be then spent to access private
business process model collections.</p>
    </sec>
    <sec id="sec-19">
      <title>2.2.2. Algorithm of Setting Access Permissions</title>
      <p>It is denoted as set (4) and takes as input:
─ user’s address in a blockchain platform, user  Addr ;
─ access granting or revoking value – 0 or 1 (in the smart contract implementation we may use “true”
or “false” Boolean constants), access .</p>
      <p>This algorithm set consists of following steps:
Step 1. Get the sender’s address send  Addr .</p>
      <p>Step 2. Compare obtained sender’s address send  Addr to the collection owner’s address
own  Addr . If compared addresses are equal, then proceed to Step 3 and finish.</p>
      <p>Step 3. Compare the user’s address user  Addr to the collection owner’s address own  Addr . If
compared addresses are not equal, then proceed to Step 4 and finish.</p>
      <p>Step 4. Set access permission for the given user, P(user)  access, user  Addr .</p>
      <p>According to the outlined algorithm, only the collection’s owner own  Addr should be capable of
setting access permissions. Moreover, the owner cannot manage its own access permission, i.e.
user  own condition should be met.</p>
    </sec>
    <sec id="sec-20">
      <title>3. Results and Discussion 3.1.</title>
    </sec>
    <sec id="sec-21">
      <title>Development of an Ethereum Smart Contract Prototype</title>
      <p>
        We have selected the Ethereum blockchain platform for smart contract implementation because of
its dominance in the area [
        <xref ref-type="bibr" rid="ref22">26</xref>
        ], Turing complete programming language Solidity [
        <xref ref-type="bibr" rid="ref21">25</xref>
        ], and availability
of development tools:
 Remix IDE (Integrated Development Environment) for smart contract programming and
debugging;
 Ropsten test network (with the Ethereum cryptocurrency of no value, available from so-called
“faucets” for development purposes [
        <xref ref-type="bibr" rid="ref24">28</xref>
        ]), which is the proof-of-work (transactions are confirmed
by “miners” who lend their computing power for cryptocurrency rewards) and, thus, the best
representation of the main network;
 MetaMask wallet for interaction with the Ethereum network (i.e. transaction sending, balance
management, etc.).
      </p>
      <p>In terms of a UML (Unified Modeling Language) class diagram notation, the static structure of a
developed smart contract prototype could be shown as follows (see Figure 2).</p>
      <p>This “ModelsCollection” smart contract contains several private fields, which correspond to
definition (1):
 “Owner” is the address of a user who deployed this contract to the blockchain;
 “Models” is the array of business process model records described by the respective structure
“ModelRecord” concerning definition (2);
 “ModelsCount” is the number of referenced business process models and increments when a
new model is recorded to the collection;
 “Permissions” is the mapping between user addresses and given or revoked permissions,
according to definition (3).</p>
      <p>Methods of the smart contract correspond to the algorithms defined in (4). Besides the constructor,
which initializes the “Owner” field and grants permissions to the owner respectively, the remaining
methods implement considered algorithms:
 “AddModel” takes input parameters that describe a BPMN model and makes a record to the
array “Models” (according to Fig. 2);
 “ReadModels” checks permissions of a user who called this method and returns collection of
recorded business process model references (according to Fig. 3);
 “SetPermission” allows the owner to grant or revoke access permissions to or from the
mentioned user address (according to Fig. 4).
 “CheckPermission” allows any user to check their permissions.</p>
      <p>
        The source code of the developed smart contract is available at [
        <xref ref-type="bibr" rid="ref25">29</xref>
        ]. In the current implementation,
the constructor also creates four records of sample BPMN models: “Dispatch of goods”, “Insurance
recourse”, “Credit scoring”, and “Self-service restaurant” taken from a public GitHub repository
provided by Camunda for research purposes [
        <xref ref-type="bibr" rid="ref26">30</xref>
        ].
3.2.
      </p>
    </sec>
    <sec id="sec-22">
      <title>Development of a Web Application Prototype</title>
      <p>
        Created web application prototype shows a decentralized application that uses HTML, CSS, and
JavaScript together with the “web3.js” library to work with the smart contract demonstrated in the
previous sub-section. Its source code is available at [
        <xref ref-type="bibr" rid="ref25">29</xref>
        ].
      </p>
      <p>The system architecture of the proposed solution could be demonstrated using the UML deployment
diagram (see Figure 3).</p>
      <p>When users try to access the business process model collection provided by the smart contract, their
Ethereum addresses are taken from the MetaMask (users should be preliminarily authorized and
connected) or another wallet, access permissions are checked, and the list of reference BPMN models
is displayed using the web page (see Figure 4).</p>
      <p>All of these procedures are implemented as the JavaScript code powered by web3.js and jQuery and
libraries to read the smart contract and show results respectively. In order to check the authenticity of a
business process model (whether it was altered), the CryptoJS library is used to calculate the SHA256
hash value of a BPMN document requested using the stored link, which is then compared to the model’s
hash value stored in the blockchain. Model’s authenticity could be checked when accessing the
collection through a web application (see Figure 4).</p>
      <p>
        As it is shown in Fig. 8, a business process model could be downloaded as the BPMN file for its
further usage. For now, this is all functionality of the prototype DApp created to work with the
collection of business process models implemented using the Ethereum smart contract. When the owner
needs to add new models to the collection, add, or change given user permissions, the smart contract
could be used directly from the network explorer in the reading or writing modes [
        <xref ref-type="bibr" rid="ref27">31</xref>
        ].
      </p>
    </sec>
    <sec id="sec-23">
      <title>Validation of a Decentralized Application Prototype</title>
      <p>
        To validate the developed software prototype we used a BPMN model of the “Dispatch of goods”
business process from [
        <xref ref-type="bibr" rid="ref26">30</xref>
        ]. This model was recorded to the blockchain using a smart contract interface
provided at [
        <xref ref-type="bibr" rid="ref27">31</xref>
        ]. It is available at [
        <xref ref-type="bibr" rid="ref28">32</xref>
        ], while its hash is:
      </p>
      <p>This model was added to the collection by contract’s owner, whose Ethereum wallet address is:
─ “0xC0753Fff03d88B34B9538d0A93D64831EE85d95C”.</p>
      <p>The “Dispatch of goods” model was published by calling the “AddModel” method, corresponding
transaction details are shown in Figure 5.</p>
      <p>This transaction has the following ID, which can be used to check it in the Ropsten Etherscan:</p>
      <p>
        Let us consider a case when a business process model [
        <xref ref-type="bibr" rid="ref28">32</xref>
        ] was altered after was recorded to the
blockchain. Even a small change of a model leads to the new hash value and the negative result when
checking the model’s authenticity (see Figure 6).
      </p>
      <p>As it is shown in Figure 6, the recently added business process model (see Figure 5) was
accompanied by the wrong hash value, so the DApp displays it as tampered. The problem is that the
given hash value does not equal the calculated SHA256 value:</p>
      <p>Then let us grant user “0x1E8d4Bdd6209Ebfd51aBbfcA12d9050E04A27adD” with the publishing
permission by using the “SetPermission” method (see Figure 7).</p>
      <p>This transaction has the following ID, which can be used to check it in the Ropsten Etherscan:</p>
      <p>Publishing new records about business process models now is accessible not only to the owner but
also to the “0x1E8d4Bdd6209Ebfd51aBbfcA12d9050E04A27adD” user account.</p>
      <p>When a user, who does not have permission, tries to publish a new business process model to the
collection, e.g. with “0x272B70999A9aFbF471Ce697D7610AC091C0be962” account, the following
result is obtained (see Figure 8).</p>
      <p>This transaction has the following ID, which can be used to check it in the Ropsten Etherscan:</p>
      <p>
        All of the considered transactions can be seen on the smart contract page (see Fig. 9) [
        <xref ref-type="bibr" rid="ref27">31</xref>
        ].
      </p>
    </sec>
    <sec id="sec-24">
      <title>4. Conclusion and Future Work</title>
      <p>In this study, we proposed the approach to the organization of a decentralized blockchain-based
business process model repository that could be used to provide a secure software solution to store and
access the business process model collection in a tamper-resistant manner.</p>
      <p>A review of the state-of-the-art has shown the complexity of the problem of managing large
collections of business process models since the security and integrity of these enterprise knowledge
assets are vital characteristics of the repository software intended to manage large business process
model collections. There were covered multiple existing solutions in the domain of blockchain-based
business process management, including decentralized systems for business process execution and
cross-organizational collaboration. However, inter-organizational blockchain-backed solutions,
intended to keep and share business process knowledge, have not been elaborated yet. As the result of
blockchain platforms overview considering their smart contracts programming capabilities, was chosen
the Ethereum platform was the pioneer and leader in the field of decentralized applications. Finally,
there was proposed a conceptual model of a business process model repository based on blockchain
technology.</p>
      <p>The proposed approach is based on several formal definitions given to elaborate the domain of
blockchain-based business process model collections. There were given definitions of the collection of
business process models, the business process model record, the permissions mapping, and the
collection management algorithms. These algorithms are used to add a new record about a business
process model and configure access permissions. Formal definitions and algorithms were implemented
as the smart contract prototype deployed to the Ethereum test network Ropsten. Also, there was created
the prototype of a web application to access the smart contract.</p>
      <p>Future work includes the elaboration of exchanging and trading capabilities of the proposed solution.
Also, we plan to consider the non-fungible token (NFT) standard for storing and exchanging business
models over the inter-organizational blockchain in a standardized and unified manner.</p>
    </sec>
    <sec id="sec-25">
      <title>5. References</title>
      <p>[1] Yan, Z., Dijkman, R., Grefen, P., Business process model repositories–Framework and survey.</p>
      <p>Information and software technology 54(4) (2012) 380–395.
[2] Elias, M., Design of business process model repositories: requirements, semantic annotation model
and relationship meta-model. Stockholm University, 2015.
[3] About the Business Process Model and Notation Specification Version 2.0.2. URL:
https://www.omg.org/spec/BPMN/2.0.2/.
[4] La Rosa, M. et al., APROMORE: An advanced process model repository. Expert Systems with
Applications 38(6) (2011) 7029–7040.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [5]
          <string-name>
            <surname>Yan</surname>
            ,
            <given-names>Z.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Grefen</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <article-title>A framework for business process model repositories</article-title>
          .
          <source>In International Conference on Business Process Management</source>
          . Springer, Heidelberg,
          <year>2010</year>
          , pp.
          <fpage>559</fpage>
          -
          <lpage>570</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [6]
          <string-name>
            <surname>Sakr</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Awad</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <article-title>A framework for querying graph-based business process models</article-title>
          .
          <source>In Proceedings of the 19th international conference on World wide web</source>
          ,
          <year>2010</year>
          , pp.
          <fpage>1297</fpage>
          -
          <lpage>1300</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [7]
          <string-name>
            <surname>Dijkman</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <given-names>La</given-names>
            <surname>Rosa</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            ,
            <surname>Reijers</surname>
          </string-name>
          ,
          <string-name>
            <surname>H.</surname>
          </string-name>
          ,
          <article-title>Managing large collections of business process modelscurrent techniques and challenges</article-title>
          .
          <source>Computers in Industry</source>
          <volume>63</volume>
          (
          <issue>2</issue>
          ) (
          <year>2012</year>
          )
          <fpage>91</fpage>
          -
          <lpage>97</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [8]
          <string-name>
            <surname>Dijkman</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          et al.,
          <article-title>Similarity of business process models: Metrics and evaluation</article-title>
          .
          <source>Information Systems</source>
          <volume>36</volume>
          (
          <issue>2</issue>
          ) (
          <year>2011</year>
          )
          <fpage>498</fpage>
          -
          <lpage>516</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [9]
          <string-name>
            <surname>Becker</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Laue</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <article-title>A comparative survey of business process similarity measures</article-title>
          .
          <source>Computers in Industry</source>
          <volume>63</volume>
          (
          <issue>2</issue>
          ) (
          <year>2012</year>
          )
          <fpage>148</fpage>
          -
          <lpage>167</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [10]
          <string-name>
            <surname>López-Pintado</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          et al.:
          <article-title>Caterpillar: A Blockchain-Based Business Process Management System</article-title>
          .
          <source>In BPM (Demos)</source>
          ,
          <year>2017</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [11]
          <string-name>
            <surname>López-Pintado</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>García-Bañuelos</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Dumas</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <article-title>Business process execution on blockchain</article-title>
          .
          <source>In CEUR Workshop Proceedings</source>
          <volume>2144</volume>
          (
          <year>2018</year>
          )
          <fpage>10</fpage>
          -
          <lpage>18</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [12]
          <string-name>
            <surname>López-Pintado</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          et al.,
          <article-title>Caterpillar: A business process execution engine on the Ethereum blockchain</article-title>
          .
          <source>Software: Practice and Experience</source>
          ,
          <volume>49</volume>
          (
          <issue>7</issue>
          ) (
          <year>2019</year>
          )
          <fpage>1162</fpage>
          -
          <lpage>1193</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [13]
          <string-name>
            <surname>López-Pintado</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          et al.,
          <article-title>Interpreted execution of business process models on blockchain</article-title>
          .
          <source>In 2019 IEEE 23rd International Enterprise Distributed Object Computing Conference</source>
          ,
          <year>2019</year>
          , pp.
          <fpage>206</fpage>
          -
          <lpage>215</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [14]
          <string-name>
            <given-names>Di</given-names>
            <surname>Ciccio</surname>
          </string-name>
          et al.,
          <article-title>Blockchain support for collaborative business processes</article-title>
          .
          <source>Informatik Spektrum</source>
          <volume>42</volume>
          (
          <issue>3</issue>
          ) (
          <year>2019</year>
          )
          <fpage>182</fpage>
          -
          <lpage>190</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [15]
          <string-name>
            <surname>Mühlberger</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <article-title>Extracting event logs for process mining from data stored on the blockchain</article-title>
          .
          <source>In International Conference on Business Process Management</source>
          . Springer, Cham,
          <year>2019</year>
          , pp.
          <fpage>690</fpage>
          -
          <lpage>703</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [16]
          <string-name>
            <surname>Härer</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <article-title>Decentralized business process modeling and instance tracking secured by a blockchain</article-title>
          .
          <source>26th European Conference on Information Systems</source>
          . Portsmouth, UK,
          <year>2018</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [17]
          <string-name>
            <surname>Fill</surname>
            ,
            <given-names>H. G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Härer</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <article-title>Knowledge blockchains: Applying blockchain technologies to enterprise modeling</article-title>
          .
          <source>In Proceedings of the 51st Hawaii International Conference on System Sciences</source>
          ,
          <year>2018</year>
          , pp.
          <fpage>1</fpage>
          -
          <lpage>10</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [18]
          <string-name>
            <surname>Hull</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <article-title>Blockchain: distributed event-based processing in a data-centric world</article-title>
          .
          <source>In Proceedings of the 11th ACM International Conference on Distributed and Event-based Systems</source>
          ,
          <year>2017</year>
          , pp.
          <fpage>2</fpage>
          -
          <lpage>4</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [19]
          <string-name>
            <surname>Viriyasitavat</surname>
            ,
            <given-names>W.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hoonsopon</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <article-title>Blockchain characteristics and consensus in modern business processes</article-title>
          .
          <source>Journal of Industrial Information Integration</source>
          <volume>13</volume>
          (
          <year>2019</year>
          )
          <fpage>32</fpage>
          -
          <lpage>39</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [20]
          <string-name>
            <surname>De Sousa</surname>
            ,
            <given-names>V. A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Corentin</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <article-title>Towards an integrated methodology for the development of blockchain-based solutions supporting cross-organizational processes</article-title>
          .
          <source>In 2019 13th International Conference on Research Challenges in Information Science</source>
          ,
          <year>2019</year>
          , pp.
          <fpage>1</fpage>
          -
          <lpage>6</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [21]
          <string-name>
            <surname>Milani</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Garcia-Banuelos</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <article-title>Blockchain and principles of business process re-engineering for process innovation</article-title>
          .
          <source>arXiv preprint1806.03054</source>
          ,
          <year>2018</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [22]
          <string-name>
            <surname>Macdonald</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Liu-Thorrold</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Julien</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <article-title>The blockchain: a comparison of platforms and their uses beyond bitcoin</article-title>
          .
          <source>COMS4507-Adv. Computer and Network Security</source>
          ,
          <year>2017</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [23]
          <article-title>Fundamentals of Blockchains</article-title>
          . URL: https://www.researchgate.net/publication/351116382_ Fundamentals_of_Blockchains.
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          [24]
          <string-name>
            <surname>Zheng</surname>
            ,
            <given-names>Z.</given-names>
          </string-name>
          ,
          <article-title>An overview on smart contracts: Challenges, advances and platforms</article-title>
          .
          <source>Future Generation Computer Systems</source>
          <volume>105</volume>
          (
          <year>2020</year>
          )
          <fpage>475</fpage>
          -
          <lpage>491</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          [25]
          <string-name>
            <surname>Oliva</surname>
            ,
            <given-names>G. A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hassan</surname>
            ,
            <given-names>A. E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Jiang</surname>
            ,
            <given-names>Z. M. J.,</given-names>
          </string-name>
          <article-title>An exploratory study of smart contracts in the Ethereum blockchain platform</article-title>
          .
          <source>Empirical Software Engineering</source>
          (
          <year>2020</year>
          )
          <fpage>1</fpage>
          -
          <lpage>41</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          [26]
          <article-title>The Best Smart Contract Platforms</article-title>
          . URL: https://academy.shrimpy.io/post/the-best
          <article-title>-smartcontract-platforms.</article-title>
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          [27]
          <article-title>Storing Documents on the Blockchain</article-title>
          . URL: https://coincentral.com
          <article-title>/storing-documents-on-theblockchain-why-how-and-where/.</article-title>
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          [28]
          <string-name>
            <given-names>Ethereum</given-names>
            <surname>Networks</surname>
          </string-name>
          . URL: https://ethereum.org/en/developers/docs/networks/.
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          [29]
          <article-title>GitHub repository</article-title>
          . URL: https://github.com/andriikopp/blockchain-repository.
        </mixed-citation>
      </ref>
      <ref id="ref26">
        <mixed-citation>
          [30]
          <article-title>BPMN for research</article-title>
          . URL: https://github.com/camunda/bpmn-for-research.
        </mixed-citation>
      </ref>
      <ref id="ref27">
        <mixed-citation>
          [31]
          <article-title>Smart contract address</article-title>
          . URL: https://ropsten.etherscan.io/address/0x3fb05e46308064211c5dc 968f437f308b5bb6a45.
        </mixed-citation>
      </ref>
      <ref id="ref28">
        <mixed-citation>
          [32]
          <article-title>Goods dispatch business process model</article-title>
          . URL: https://raw.githubusercontent.com/freebpmn quality/bpmn_structuredness/main/input/dispatch.bpmn.
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>