<!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>Towards Reusable Smart Contracts for Trustworthy Collaborative Processes (Discussion Paper)</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Ada Bagozi</string-name>
          <email>a.bagozi@unibs.it</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Devis Bianchini</string-name>
          <email>devis.bianchini@unibs.it</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Valeria De Antonellis</string-name>
          <email>valeria.deantonellis@unibs.it</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Massimiliano Garda</string-name>
          <email>m.garda001@unibs.it</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Michele Melchiori</string-name>
          <email>michele.melchiori@unibs.it</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>University of Brescia, Dept. of Information Engineering Via Branze 38</institution>
          ,
          <addr-line>25123 - Brescia</addr-line>
          ,
          <country country="IT">Italy</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>In collaborative environments, where enterprises interact each other's without a centralised authority that ensures trust among them, the ability of providing cross-organisational services must be enabled also between mutually untrusting participants. Blockchain platforms and smart contracts have been proposed to implement trustworthy collaborative processes. However, current solutions are constrained to a speci c blockchain technology and deployed on-chain the whole process, thus increasing the execution costs of smart contracts on permissionless blockchains. In this paper, we propose an approach that includes criteria to identify trust-demanding objects and activities in collaborative processes, a model to describe smart contracts in a technology-independent way and guidelines to deploy them on a blockchain. To this aim, a threelayered model is used to describe: (i) the collaborative process, represented in BPMN, where the business expert is supported to add annotations that identify trust-demanding objects and activities; (ii) Abstract Smart Contracts, based on trust-demanding objects and activities only and independent from any blockchain technology; (iii) Concrete Smart Contracts, that implement abstract ones and are deployed over a speci c blockchain. Flexibility and cost reduction brought by approach are discussed in the context of a case study on remote monitoring services for the digital factory.</p>
      </abstract>
      <kwd-group>
        <kwd>blockchain</kwd>
        <kwd>smart contract</kwd>
        <kwd>collaborative processes</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>In collaborative environments enterprises provide cross-organisational services to
deliver integrated o erings of products and services, ensuring additional value
Copyright c 2020 for this paper by its authors. Use permitted under Creative
Commons License Attribution 4.0 International (CC BY 4.0). This volume is published
and copyrighted by its editors. SEBD 2020, June 21-24, 2020, Villasimius, Italy.
also between mutually untrusting organisations. A real-world example is given
by anomaly detection services for remote monitoring of Cyber Physical Systems
in the digital factory. The Original Equipment Manufacturer (OEM) supplies the
anomaly detection service, based on data streams collected from the machines
of clients. In case anomalies have been identi ed before breakage events occur,
the clients may be noti ed to avoid expensive repair operations, as well as costly
down-times. Furthermore, insurance agencies may o er additional services to the
OEM in order to limit the costs of maintenance operations under warranty, and
external suppliers may know in advance scheduled maintenance interventions
to prepare required spare parts. In this scenario, collected sensor data, used
for monitoring and providing advanced services, must be immutable and not
repudiated by clients and the implementation of anomaly detection services must
be transparently shared among all participants involved in the process.
1.1</p>
    </sec>
    <sec id="sec-2">
      <title>Related Work</title>
      <p>
        Blockchain platforms and smart contracts have been proposed to implement
collaborative processes [
        <xref ref-type="bibr" rid="ref1 ref4 ref5">1, 4, 5</xref>
        ]. In a recent research, the Caterpillar system [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]
introduces an abstraction layer over the Ethereum blockchain [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] in order to
support the execution of collaborative processes, represented in BPMN.
Noteworthy, a process in Caterpillar is fully executed on the blockchain, coded as
smart contracts, and all the states of the process instance are recorded on-chain.
Moreover, the proposed solution is technology-dependent. In [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] the focus is on
the bene ts from the introduction of blockchain and smart contracts for the
supply chain. However, the explanation about how smart contracts have been
deployed is reported in a coarse-grained manner. Recent e orts also focused on
the importance of conceptual modelling to demonstrate how business artefacts
leverage the data-centric nature of blockchain [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] and to provide a user-centric
framework to design rules deployed in smart contracts [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ].
      </p>
      <p>Main limitations in the current approaches are that they are
technologydependent and focus on the implementation of collaborative processes as a
monolithic solution, where the whole process is deployed on-chain. This increases the
execution costs on the blockchain and reduces the reuse of designed smart
contracts.
1.2</p>
    </sec>
    <sec id="sec-3">
      <title>Paper contribution</title>
      <p>
        In [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] we proposed an approach to identify trust-demanding objects and activities
in collaborative processes, a model to describe smart contracts in a
technologyindependent way and guidelines to deploy them in a blockchain. To this aim,
a three-layered model is used to describe: (i) the collaborative process,
represented using BPMN, where the business expert is supported to add annotations
that identify trust-demanding objects and activities ; (ii) Abstract Smart
Contracts based on trust-demanding objects and activities only and independent
from any blockchain technology; (iii) Concrete Smart Contracts, that implement
abstract ones and are deployed over a speci c blockchain, enabling the creation
of a repository where a single abstract contract is associated with multiple
implementations. The introduction of Abstract Smart Contracts also increases the
      </p>
      <sec id="sec-3-1">
        <title>Annotated Collaborative Process</title>
        <p>yecng
A
cean
r
sun
I
no
i
s
i
v
i
D
ceaenn
t
n
i
a
M
ec
i
v
r
e
S
no
it
c
tee {</p>
        <sec id="sec-3-1-1">
          <title>D ““iissTDrautsatIDnetemnasinvdei”n:gT”r:uFealse,</title>
          <p>lya }
m
no
M A
E
O
{“isTrustDemanding”:True}
Summarised Data
[Create]
Summarise and
identify relevant
data
Col ected Data
[Create]
Identify
warning/error
events
Anomaly
[Create] }
{
}
{
“isTrustDemanding”:True,
“isDataIntensive”:True
“isTrustDemanding”:True,
“isDataIntensive”:False
ilten seRteucpedivaeta
C</p>
        </sec>
      </sec>
      <sec id="sec-3-2">
        <title>Concrete Smart Contracts</title>
        <p>Setup components to
be monitored, feature
spaces, features limits
Setup Data
[Create]</p>
        <p>Col ect Data
Incremental y
Setup Data
[Read]</p>
        <p>Receive anomaly
detection events</p>
        <p>Calculate Fees and
Create Maintenance
Intervention proposal</p>
        <p>Receive
Client
decision</p>
        <p>Maintenance
Intervention Proposal
[Create]</p>
        <p>Maintenance
Intervention Proposal</p>
        <p>[Read]</p>
        <p>Setup Data
Yes Accept setup [Udate]</p>
        <p>data</p>
        <p>Accept/Refuse?
No</p>
        <p>Refuse setup
data</p>
        <p>Setup Data
[Udate]</p>
        <p>Receive Maintenance
Intervention proposal
Anomaly Summarised Data
[Read] [Read]</p>
        <p>Refuse Intervention
No and motivate
Yes</p>
        <p>Accept</p>
        <p>Intervention
Accept/Refuse? Maintenance</p>
        <p>Intervention Proposal</p>
        <p>[Update]
ASC 1</p>
        <p>ASC 2
…</p>
        <p>ASC N
Anomaly
[Read]
Summarised Data
[Read]</p>
        <p>Receive Refund</p>
        <p>Request</p>
        <p>Accept/Refuse
Refund Request</p>
        <p>Refund Request</p>
        <p>[Update]
Refund Request
[Create]</p>
        <p>Yes Create</p>
        <p>Refund</p>
        <p>Request
Can a request of
refund be issued?
No</p>
        <p>Receive
Insurance
decision</p>
        <p>Schedule
Maintenance
Intervention</p>
        <p>Maintenance
Intervention Proposal
[Update]</p>
        <p>Legend
Input</p>
        <p>Output
A Activity
ASC Abstract Smart Contract
CSC Concrete Smart Contract
… Annotation
CSC 1</p>
        <p>CSC 2</p>
        <p>CSC 3
…</p>
        <p>CSC N
tions are used in order to highlight trust-demanding objects and trust-demanding
activities. The former ones are associated to data objects (e.g., activities
inputs/outputs), that are shared across di erent participants, and therefore
transactions (i.e. Create, Read, Update, Delete actions) performed on these objects
should be immutable and not repudiated by any participant. In our approach,
trust-demanding objects are candidates to be permanently stored within a
blockchain. Trust-demanding activities correspond to automated activities whose
business logic must be non-repudiated and transparently shared among all the
participants of the process. In our approach, they represent the candidates to be
deployed as smart contracts within a blockchain.</p>
        <p>
          Abstract Smart Contracts layer. In the middle layer, annotations are used
to generated Abstract Smart Contracts (ASC). An ASC is described by: (i) a
name; (ii) a set of state variables, that can be either primitive data types or
objects, on which contract functions operate; (iii) a set of participants (i.e.,
users registered on the blockchain or other contracts) that are allowed to
interact with the ASC by invoking its functions; (iv) a set of functions expressed as
f unctionN ame(INf ) : OU Tf , where INf and OU Tf are the inputs and outputs
of the function. Among ASC participants, also the BPMN engine is considered,
since it is in charge of invoking activities implemented as smart contracts. An
ASC is generated for each BPMN activity annotated as trust-demanding. In
this case: (i) the ASC name is obtained from the activity name; (ii) the set of
ASC variables contains the activity inputs/outputs de nitions; (iii) the set of
ASC participants contains the participant of the activity and the BPMN engine;
(iv) the function represents the activity, its name corresponds to the activity
name, its inputs (resp., outputs) correspond to the activity inputs (resp.,
outputs). An ASC is generated also for each trust-demanding object as follows:
(i) the ASC name is obtained from the object name; (ii) the set of ASC
variables contains the object de nition; (iii) the set of ASC participants contains the
participant of the activity that reads the object and the BPMN engine; (iv)
functions are generated according to the CRUD actions on the object. Among
trustdemanding objects we distinguish those characterised by high volume and
acquisition speed, denoted as data-intensive. Transactions on such objects, if stored
within a blockchain, may require increased costs. In order to strike a trade-o
between costs and tamper-proofness, the full data intensive object is kept o -chain,
on top of an external Distributed File System (DFS) such as the InterPlanetary
File System (IPFS), while a link to it is stored on-chain. An example of ASC is
given by the trust-demanding activity Identify Warning/Error Events in
Figure 1, where: (i) name = \Identif yW arningErrorEventsSC"; (ii) variables =
fsummarisedDataHash; Anomalyg; (iii) participants = fAnomalyDetection
Service; BP M N engineg; (iv) f unction = fidentif yW arningErrorEvents
F unc([summarisedDataHash]) : [Anomaly]g. The summarisedDataHash input
is a hash code pointing to an external DFS on which summarised data is saved.
Other ASC examples are given in [
          <xref ref-type="bibr" rid="ref2">2</xref>
          ].
        </p>
        <p>https://ipfs.io
Concrete Smart Contracts Layer. At the lower layer, ASC are deployed as
Concrete Smart Contracts (CSC) over a speci c blockchain. The development of
CSC starting from ASC is in charge of the developer, who has the skills to deploy
CSC over a speci c blockchain. The developer provides the necessary code in
order to implement the CSC functions. A single ASC descriptor may be associated
with multiple CSC implementations, developed for di erent blockchain
technologies. Moreover, it separates the role of business experts, who are in charge of
designing the collaborative process and being supported during the identi
cation of trust-demanding objects and activities, and the role of developers, who
possess development skills for the speci c blockchain technology on which CSC
will be deployed.</p>
        <p>Example. In the multi-party collaborative process of Figure 1, proper smart
contracts have been identi ed.</p>
        <p>Monitoring Setup Smart Contracts (MS). Setup data is created by the
Maintenance Division and read by the client, who is also in charge of accepting or
declining by modifying the Setup Data object, that therefore is identi ed as
trust-demanding. Therefore, an ASC is generated for the Setup Data
trustdemanding object and all activities (associated with the Maintenance Division or
the Client) that create or modify such objects are recognised as trust-demanding,
bringing to the generation of corresponding ASC.</p>
        <p>Anomaly Detection Smart Contracts (AD). Anomaly Detection Service is in
charge of summarising the collection of Collected Data objects and applying
relevance evaluation in order to identify relevant data only, generating a
collection of Summarised Data objects. Both Collected Data and Summarised Data
objects are generated at high volumes, and for this reason can be considered as
data-intensive. Summarised Data is then used by the Anomaly Detection Service
to identify warning or error events, generating an Anomaly object. Considering
that Summarised Data and Anomaly objects are read by the Client and by the
Insurance Agency, both are recognised as trust-demanding. Therefore, two ASC
are generated, one for Summarised Data object and one for Anomaly object.
Moreover, all activities that create or modify such objects are recognised as
trust-demanding, bringing to the generation of corresponding ASC.</p>
        <p>Maintenance Intervention Preparation Smart Contract (MIP). The
Maintenance Intervention Proposal object is created by the Maintenance
Division and modi ed by the Client to accept/decline it. Therefore, it is identi ed as
trust-demanding. The same considerations hold for Refund Request object. All
activities that create and modify these objects are denoted as trust-demanding.
3</p>
        <p>Approach Architecture
The approach architecture is shown in Figure 2. At the bottom the
architecture includes the real blockchain, on which CSC are deployed. For example, on
an Ethereum network, all deployed CSC can be replicated on each client node,
which hosts an Ethereum Virtual Machine (EVM). A Log Repository is used to
store the results of every CSC execution in order to implement a communication
Business BAPnMnNotaMtioodneMlinogdualned
Model er
Trust-demanding
objects and activities
detector</p>
        <p>ASC Generator</p>
        <p>CSC GCeondeeraTetomrplate</p>
        <p>Deployment Module
BPMN repository</p>
        <p>ASC Repository</p>
        <p>CSC Repository</p>
        <p>Smart
Contracts
Blockchain</p>
        <p>Log
Repository
Web Portal</p>
        <p>BPMN Engine
Off-Chain</p>
        <p>IPFS repository
Decentralized Storage</p>
        <p>On-Chain
channel from the smart contracts on the blockchain and external services of the
collaborative process. In fact, smart contracts have no way to call external
services. However, contracts can write information on a log space that is visible to
external applications. A distributed storage (e.g., the above mentioned IPFS) is
also considered in order to store data-intensive information without impacting
on the blockchain costs.</p>
        <p>O -chain modules in gure implement the identi cation of trust-demanding
objects and activities, ASC and CSC code templates generation and deployment.
The BPMN is stored within the BPMN repository. The ASC Generator extracts
ASC descriptors and stores them into the ASC Repository. The CSC Code
Template Generator is in charge of generating templates, after choosing a speci c
blockchain platform. Templates are provided to the developer who completes
them with code insertion. Developed CSC are stored within a CSC Repository
and deployed on the blockchain by the Deployment Module. ASC/CSC
repositories will contribute to increase the reuse of generated contracts. The middle layer
also includes the BPMN Engine, that has to execute the collaborative process
and must be able to invoke some activities as CSC deployed on the blockchain.</p>
        <p>Finally, the architecture comprises a set of Web components, provided to the
business modeller and the developer for editing BPMN processes, con rming
or discarding suggested annotations, and editing CSC starting from the
generated code templates, respectively. These, components use functionalities made
available by other modules at the middle layer through RESTful APIs.
4</p>
        <p>
          Preliminary Experiments
Our approach has been validated in the context of Remote Monitoring Services
in the digital factory described in Section 2 and using Ethereum permissionless
blockchain. However, our approach is technology-independent, and can be
implemented also as a permissioned blockchain [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ]. Indeed, future experiments will
be focused on comparing di erent concrete implementations of the blockchains.
Here we validated permissionless blockchain, considering that it takes more time
to write and con rm transactions and the execution of a smart contract and the
validation of a new transaction are performed by nodes that are rewarded with
a fee paid by the node that initiates the transaction. Since, to the best of our
knowledge, there are no collaborative processes datasets to compare our
implementation with similar e orts, we performed here a cost analysis, in order to
evaluate the economic e ort in using a permissionless blockchain. In
Ethereumbased blockchains, the cost is expressed in gas, which is a value established for
every basic operation invoked from within the smart contract. Then, the fee paid
for a transaction is expressed as the product between the gas used to process
the transaction and the gas price, which is the amount that the node initiating
the transaction is willing to pay for each gas unit.
        </p>
        <p>Figure 3(a) illustrates the average time (in seconds) to con rm the
transaction for each smart contract by varying the gas price, relying on the simulator
provided by ETH Gas Station. As expected, the more gas price a user is willing
to o er, the faster the transaction will be added to the blockchain. Figure 3(b)
reports the cost per transaction required to execute each of the smart contracts
implemented for the Remote Monitoring Services case study, using an Ethereum
simulator. Generally, reducing the cost of the collaborative process deployment
on a permissionless blockchain can be obtained by decreasing the performances
of smart contract execution or limiting the elements that are deployed on the
blockchain to trust-demanding objects and activity only. Indeed, our approach
reduces the execution costs on the blockchain thanks to the deployment of a
limited set of BPMN elements, only if necessary. In fact, only trust-demanding
objects and activities will be converted in smart contracts to be deployed on
the blockchain. According to the cost analysis learned by the application of our
approach to the Remote Monitoring case study, as shown in Figure 3(a), from
a certain amount of gas price (4:5 Gwei ) the average con rmation time remains
quite the same. Assuming that the participants have access to IPFS nodes, there
is no extra cost, in terms of gas, associated with storing data-intensive objects.
However, for the same application scenarios such as the anomaly detection one
considered in the case study, promptness in identifying warning/error events is an
https://ethgasstation.info/calculatorTxV.php (accessed: July 2019)
testrpc: https://github.com/trufflesuite/ganache-cli
important feature of the supplied services. Therefore, this issue can be addressed
by limiting the number of elements to be deployed on-chain. The proposed
approach described in this paper is to meet these requirements by excluding non
trust-demanding objects and activities.
5</p>
        <p>Concluding Remarks
In this paper, we proposed a three-layered model to describe: (i) the collaborative
process, represented in BPMN, where the business expert is supported to add
annotations that denote trust-demanding objects and activities; (ii) Abstract
Smart Contracts, based on trust-demanding objects and activities only and
independent from any blockchain technology; (iii) Concrete Smart Contracts, that
implement abstract ones and are deployed over a speci c blockchain technology.
The introduction of Abstract Smart Contracts increases the exibility of the
approach, providing a repository of reusable software components. Furthermore,
only trust-demanding activities are considered to be deployed on-chain, thus
saving costs and increasing process performances. Future e orts will be focused
on the ASC/CSC repository. In particular, advanced matchmaking techniques
(e.g. adapting Semantic Web technologies to smart contracts) will be studied to
reuse existing ASC at design time or to reconciliate similar ASC. Furthemore,
at runtime similar techniques will be investigated to select the proper CSC for a
given ASC, depending on the cost policies implemented in di erent blockchains.</p>
      </sec>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Astigarraga</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Chen</surname>
            ,
            <given-names>X.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Chen</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gu</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hull</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Jiao</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Li</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Novotny</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          :
          <article-title>Empowering business-level blockchain users with a rules framework for smart contracts</article-title>
          .
          <source>In: Int. Conf. on Service Oriented Computing (ICSOC</source>
          <year>2018</year>
          ). pp.
          <volume>111</volume>
          {
          <fpage>128</fpage>
          .
          <string-name>
            <surname>Hangzhou</surname>
          </string-name>
          ,
          <string-name>
            <surname>China</surname>
          </string-name>
          (
          <year>2018</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Bagozi</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bianchini</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>De Antonellis</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Garda</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Melchiori</surname>
            ,
            <given-names>M.:</given-names>
          </string-name>
          <article-title>A threelayered approach for designing smart contracts in collaborative processes</article-title>
          .
          <source>In: 27th Int. Conf. on Cooperative Information Systems (CoopIS</source>
          <year>2019</year>
          ). pp.
          <volume>440</volume>
          {
          <fpage>457</fpage>
          .
          <string-name>
            <surname>Rhodes</surname>
          </string-name>
          ,
          <string-name>
            <surname>Greece</surname>
          </string-name>
          (
          <year>2019</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Casado-Vara</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Prieto</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>De la Prieta</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Corchado</surname>
            ,
            <given-names>J.M.:</given-names>
          </string-name>
          <article-title>How blockchain improves the supply chain: case study alimentary supply chain</article-title>
          .
          <source>Procedia Computer Science 134</source>
          , pp.
          <volume>393</volume>
          {
          <issue>398</issue>
          (
          <year>2018</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Hull</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Batra</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Chee</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Deutsch</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Health</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Vianu</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          :
          <article-title>Towards a shared ledger business collaboration language based on data-aware processes</article-title>
          .
          <source>In: Int. Conf. on Service Oriented Computing (ICSOC</source>
          <year>2016</year>
          ). pp.
          <volume>18</volume>
          {
          <fpage>36</fpage>
          .
          <string-name>
            <surname>Ban</surname>
          </string-name>
          ,
          <string-name>
            <surname>Canada</surname>
          </string-name>
          (
          <year>2016</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Lopez-Pintado</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Garc</surname>
          </string-name>
          a-Ban~uelos, L.,
          <string-name>
            <surname>Dumas</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Weber</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ponomarev</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <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>
          ), pp.
          <volume>1162</volume>
          {
          <issue>1193</issue>
          (
          <year>2019</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Staderini</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Schiavone</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bondavalli</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>A requirements-driven methodology for the proper selection and con guration of blockchains</article-title>
          .
          <source>In: IEEE 37th Symposium on Reliable Distributed Systems (SRDS</source>
          <year>2018</year>
          ). pp.
          <volume>201</volume>
          {
          <fpage>206</fpage>
          .
          <string-name>
            <surname>Salvador</surname>
          </string-name>
          , Bahia, Brazil (
          <year>2018</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Wood</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          :
          <article-title>Ethereum: A secure decentralised generalised transaction ledger</article-title>
          .
          <source>Ethereum project yellow paper 151</source>
          , pp.
          <volume>1</volume>
          {
          <issue>32</issue>
          (
          <year>2014</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>