<!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>Modelling principles for blockchain-based implementation of business or scientific processes</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Mantas Jurgelaitis</string-name>
          <email>mantas.jurgelaitis@ktu.lt</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Rita Butkienė</string-name>
          <email>rita.butkiene@ktu.lt</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Vaidotas Drungilas</string-name>
          <email>vaidotas.drungilas@ktu.lt</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Evaldas Vaičiukynas</string-name>
          <email>evaldas.vaiciukynas@ktu.lt</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Lina Čeponienė</string-name>
          <email>lina.ceponiene@ktu.lt</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Information Systems Department, Kaunas University of Technology, Informatics Faculty</institution>
          ,
          <addr-line>Kaunas</addr-line>
          ,
          <country country="LT">Lithuania</country>
        </aff>
      </contrib-group>
      <fpage>43</fpage>
      <lpage>47</lpage>
      <abstract>
        <p>-Blockchain technology and smart contract development currently lacks clarity in its implementation. The complicated architecture of blockchain is an obstacle that developers face during design and implementation of blockchain-based systems. In this paper we propose a method based on Model Driven Architecture, which could be used for defining and specifying blockchain structure and behavior. Such approach could be used as one of the ways for describing blockchain-based systems in a more general language in order to facilitate blockchain development process.</p>
      </abstract>
      <kwd-group>
        <kwd>blockchain</kwd>
        <kwd>smart contract</kwd>
        <kwd>MDA</kwd>
        <kwd>UML</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>INTRODUCTION</p>
      <p>Blockchain is a decentralized, distributed database that is
shared and replicated across all the parties participating in the
network. It takes a form of a public ledger for the transactions
contained in the chain [1]. The blockchain is made up of
blocks, where each block contains a hash of the previous
block, thus linking to it [2]. The main advantages provided by
the blockchain are a peer-to-peer exchange (i.e.
decentralization) and robust public record keeping with the
possibility to eliminate the intermediary between parties [3].</p>
      <p>Blockchain enables development of distributed software
architecture where networks of untrusted participants can
establish agreements on shared states for decentralized and
transactional data in a secure way. Blockchain ensures trust
among parties in decentralized systems without the need of
centralized supervisor in charge of verifying the correctness
of the records in the ledger [4]. Since blockchain digital
currencies combine features of money with those of a payment
system, central banks started to investigate the technology.
From the industry side, over one hundred corporations have
joined blockchain working groups or consortia and the
number of patents filled increased to more than three thousand
in 2017 [5].</p>
      <p>Blockchain itself cannot handle large amount of
information, because the main purpose is to store simple
transactional logs. As a result, scalability of blockchain is a
concern for the developers [4]. Even though the technology
has been around for a while, there are only a few academic
blockchain-related studies. Most of the available
non© 2019 for this paper by its authors. Use permitted under Creative
Commons License Attribution 4.0 International (CC BY 4.0)
scientific papers about blockchain technology are
whitepapers, documentations or technical documents; some of
which may be incomplete or are still being updated. A
practical approach to blockchain development also demands
considerable investment [6]. Developers need to have a clear
understanding of the capabilities and limitations of blockchain
technology. Additionally, they need to acquire the necessary
skills to implement the technology and to figure out how the
new trust architecture would affect the application.</p>
      <p>
        Currently, the blockchain technology is most broadly
applied for cryptocurrencies, but other areas are in early
adoption as well. Solutions for automating the insurance
process [7], supply chain management [
        <xref ref-type="bibr" rid="ref10">8</xref>
        ] even some
proposals for scientific reproducibility or decentralization of
scientific data exist [9] [
        <xref ref-type="bibr" rid="ref11">10</xref>
        ]. But various authors describe the
same concepts differently and only a few define their
development process [
        <xref ref-type="bibr" rid="ref10">8</xref>
        ] [
        <xref ref-type="bibr" rid="ref12">11</xref>
        ] [
        <xref ref-type="bibr" rid="ref13">12</xref>
        ]. The capability for
replicating blockchain technology solutions is low, as it is
highly dependent on the authors' environment. No formal
methods exist, and common elements are difficult to find or to
associate. This is particularly noticeable with the more
complex elements that support more complicated scenarios
[
        <xref ref-type="bibr" rid="ref14">13</xref>
        ]. The common process for development of
blockchainbased system could ease the applicability in other areas than
the financial sector and bridge the knowledge gap among
stakeholders of blockchain technology.
      </p>
      <p>
        Modelling is a common tool for facilitating
communication, visualizing the development process and
even automating the implementation of some development
artefacts. The strategies of Model Driven Development [
        <xref ref-type="bibr" rid="ref15">14</xref>
        ]
are often applicable in the area of software engineering. Model
Driven Architecture (MDA) is a methodology, which
encompasses a set of guidelines for specifying models during
software development process [
        <xref ref-type="bibr" rid="ref16">15</xref>
        ]. Each MDA-based
specification has three levels: A Computation Independent
Model (CIM), a Platform-Independent Model (PIM), and one
or more Platform-Specific Models (PSM). Unified Modelling
Language (UML) [
        <xref ref-type="bibr" rid="ref17">16</xref>
        ] is commonly used for MDA model
development. MDA models can represent system at different
levels of abstraction, from various viewpoints, from enterprise
architectures to technology implementations [
        <xref ref-type="bibr" rid="ref18">17</xref>
        ].
ModelDriven Architecture principles could be adapted to blockchain
and smart contract domain together with guidelines for
developing blockchain structure and smart contract behavior.
      </p>
      <p>In this paper we present our idea of blockchain technology
development method, based on MDA principles. The
proposed method could be used for different processes for the
definition of common elements and the identification of
potential application areas. The method could provide a more
structured approach for the development of blockchain
elements, which could potentially shorten the time of
development. In the future we plan on developing the method
further.</p>
      <p>The rest of the paper is organized as follows. The second
section discusses the background of blockchain technology
and its evolution. The third section presents current areas of
blockchain application and research on improving
blockchainbased systems development process. The fourth section
describes our proposition on applying principles of
modeldriven architecture for blockchain system development. The
last section summarizes concludes our main insights and
outlines future work.</p>
      <p>II.</p>
      <p>BACKGROUND</p>
      <p>This chapter presents the basic concepts and categories of
blockchain technology. In this way, we intend to define the
domain in order to outline a common understanding of these
technologies and attain a more comprehensive
communication in this area. Although the terms “blockchain”
and “distributed ledger” are used interchangeably, the
blockchain is a type of distributed ledger technology and
blockchain mostly differs from distributed ledger in the way
the data is stored [5]. For this reason, we refer to these
technologies using the terms “blockchain” and “blockchain
technologies” as they cover both concepts.</p>
    </sec>
    <sec id="sec-2">
      <title>A. Blockchain technology</title>
      <p>
        Blockchain is a distributed database that is shared across
participants [
        <xref ref-type="bibr" rid="ref19">18</xref>
        ]. Participants can independently verify
information because copies of records are available in the
blockchain. If a node fails, the remaining ones can continue to
operate. Verification process does not depend on a centralized
authority. Information is kept in a digital ledger. The
transactions in the blockchain are recorded near real time.
Once transactions are included in the ledger it is nearly
impossible to delete or rollback the changes. Each block is
timestamped, and each block has a pointer referring to the data
stored in the previous block in the chain.
      </p>
      <p>The data in blocks are hash sealed. The participants can
interact with the blockchain only by using a generated address
so that the identity of the user is not revealed. Any transaction
refers to some previous transactions. Once the current
transaction is recorded into the blockchain, the state of
referred transactions change. That way transactions can be
tracked and verified once needed.</p>
      <p>Participants in the network authenticate and approve
transactions before inclusion to the blockchain. Few different
methods for reaching consensus exist. Consensus algorithms
in blockchain are used to maintain data consistency in a
distributed network. Usually, the basis of such algorithms is
that the majority of network participants needs to approve the
correctness of transaction. This way the need for a third party
is avoided. In a traditional centralized transaction system, each
transaction needs to be validated by a central trusted agency
(e.g., the central bank).</p>
      <p>The blockchain technologies are divided into three
generations, based on the complexity of the components. The
first generation of blockchain was all about cryptocurrency
and its exchange possibilities. The 2.0 generation focuses
heavily on the use of smart contracts built using scripting
language of the blockchain. The third generation of
blockchain supports decentralized applications based on
blockchain technologies in other previously unsupported areas
like government, health, science and culture.</p>
    </sec>
    <sec id="sec-3">
      <title>1) Blockchain 1.0: Bitcoin and cryptocurrency</title>
      <p>
        Blockchain technology began with Bitcoin, and many
developers around the world still consider that the main
blockchain example. Blockchain technology relies on a shared
public ledger that entire cryptocurrency networks share and
depend on. Traditional currency system participants rely on
the bank to authenticate the integrity of a ledger, but
blockchain relies on peer-to-peer network transfer thus
eliminating the need of the third parties. Today, the first
generation of blockchain technologies is mainly defined by
cryptocurrencies like Bitcoin [
        <xref ref-type="bibr" rid="ref20">19</xref>
        ]. Bitcoin has proven to be an
effective decentralized digital currency. The relative
simplicity of Bitcoin and its inability to handle contracts limits
its ability to serve a wider range of use cases.
      </p>
    </sec>
    <sec id="sec-4">
      <title>2) Blockchain 2.0: Ethereum and smart contracts</title>
      <p>
        Bitcoin introduced a very basic scripting language, that
allowed some form of contractual complexity. The extension
of this scripting language to handle more complex data
manipulations within blockchain came to be defined as a
second-generation blockchain technology. The second
generation is mainly represented by Ethereum. Ethereum
proposed a structure in which blockchain technology could be
used to facilitate the management of digital assets. Ethereum
offers new functionality through so-called smart contracts,
which can manage agreements between parties on the
blockchain [
        <xref ref-type="bibr" rid="ref21">20</xref>
        ]. A smart contract can manage itself, events
can be triggered without the need of any party input.
Secondgeneration blockchains can leverage distributed network for
computing power, this way smart contracts can execute
complicated logic. In such cases, parties do not need to pay a
‘trusted’ third party and could leave agreements to execute
autonomously.
      </p>
      <p>
        Unfortunately, these blockchain technologies are known
to struggle with scaling difficulties. Additionally, neither
Ethereum nor Bitcoin is fundamentally integrable with other
decentralized currencies or platforms; meaning that in most
cases users wishing to transfer value from one platform into
another must do so through via exchange services [
        <xref ref-type="bibr" rid="ref22">21</xref>
        ].
      </p>
    </sec>
    <sec id="sec-5">
      <title>3) Blockchain 3.0</title>
      <p>
        The new generation blockchains come into existence with
a focus to address the issues in both Blockchain 1.0 and 2.0
via different protocols, techniques and frameworks. High
scalability, interoperability, adaptability, sustainability,
privacy as well as instantaneous transactions are features that
should separate Blockchain 3.0 from its previous iterations
[
        <xref ref-type="bibr" rid="ref20">19</xref>
        ] [
        <xref ref-type="bibr" rid="ref23">22</xref>
        ]. The third generation of blockchain is at the time
being developed and there are no specific blockchain solutions
which define this generation. A candidate for flagship
blockchain example in this category should address present
flaws of existing solutions.
      </p>
    </sec>
    <sec id="sec-6">
      <title>B. Smart Contracts</title>
      <p>
        An additional implementation of more advanced data
manipulation mechanism for blockchain enabled application
layer development in the form of smart contracts. Basically, a
smart contract is a deployed program that can be executed on
the blockchain network following the principle of trigger
causing an appropriate reaction [
        <xref ref-type="bibr" rid="ref24">23</xref>
        ] [
        <xref ref-type="bibr" rid="ref25">24</xref>
        ]. Smart contracts can
express triggers, conditions, and even cover entire business
processes [
        <xref ref-type="bibr" rid="ref12">11</xref>
        ]. A contract can be viewed as a simple class, or
it can contain complex structures, functions, modifiers, events
for the implementation of various level of logic [
        <xref ref-type="bibr" rid="ref26">25</xref>
        ]. Usually,
blockchains have a built-in scripting language, which is used
to execute additional business logic triggered by a transaction.
Recent generations of blockchains (e.g. Ethereum and
Hyperledger) use integrated programming language
executable by a virtual machine [2].
      </p>
      <p>
        The consumer deals directly with the transactions on the
blockchain, a smart contract holds value which is released at
the time certain conditions are met, this way the contracts have
lower transactional costs unlike traditional contracts [
        <xref ref-type="bibr" rid="ref13">12</xref>
        ].
Smart contracts could theoretically cover entire software
applications, but most smart contracts currently are like
traditional contracts for creating legally binding agreements
between certain parties. Other areas of applications for smart
contract hold entertainment value (e.g. CryptoKitties [
        <xref ref-type="bibr" rid="ref27">26</xref>
        ]),
unlike aforementioned contracts, these contracts are most
likely developed by people with interest in Solidity
(contractoriented programming language for writing smart contracts on
Ethereum blockchain) [
        <xref ref-type="bibr" rid="ref12">11</xref>
        ]. Smart contract code generation
would potentially simplify the smart contract development
process, raise the abstraction level and increase potential
usage in various domains.
      </p>
      <p>Blockchain technologies are rapidly evolving and the area
of their application broadens. Our research focusses on
analyzing the applicability of these technologies in various
areas and possibilities of improving the development process
of blockchain-based systems.</p>
      <p>III.</p>
      <p>RELATED WORK</p>
      <p>In this section we overview applications of blockchain
technologies in various fields and discuss difficulties of
application of blockchain technology to diverse domains. The
research on the applicability of modelling techniques to
blockchain-based system development is also overviewed.</p>
      <p>
        One of the blockchain application areas is tracking the
provenance of assets. Solutions like supply chain management
are one of the business issues that could benefit from
automation with smart contracts. Evaluation of provenance is
generally difficult not only because of the number of goods
that are handled in complex supply chains but also because of
the amount of information for tracking product location,
physical characteristics. As a solution to this problem, simple
data models of the ontology were described. These models
were later used to develop smart contract implementation [
        <xref ref-type="bibr" rid="ref10">8</xref>
        ].
      </p>
      <p>Another way to utilize smart contract on blockchain is
insurance-related contracts. The extended solution in a form
of framework exists to help developers deploy more secure
and less costly contracts. Smart contracts can automate the
processes of insurance operations such as client registration,
policy assignment, premium payouts, submission claims, and
processing of refunds without or with minimal involvement of
third parties [7].</p>
      <p>
        As well as business processes, there are many suggestions
to improve scientific processes using blockchain technologies
[9] [
        <xref ref-type="bibr" rid="ref11">10</xref>
        ]. Proposals for implementing blockchain technologies
could be grouped into three groups: the first that uses
blockchain as a storage unit or as a token indicating possession
and the second that proposes using blockchain to work on
scientific computations giving monetary rewards or free of
charge. There are suggestions for blockchain to be used as a
platform to store medical data [
        <xref ref-type="bibr" rid="ref28">27</xref>
        ]. Storing medical data in
blockchain makes medical data more accessible for medical
staff and general public alike. Also, there are propositions to
use blockchain technology as a proof of intellectual work [
        <xref ref-type="bibr" rid="ref11">10</xref>
        ].
This could enable scientists or members of the general public
to store ideas in the blockchain with a timestamp of the
proposed idea. The second category is run by business and
scientific organizations alike [
        <xref ref-type="bibr" rid="ref29">28</xref>
        ] [
        <xref ref-type="bibr" rid="ref30">29</xref>
        ]. The third category
uses blockchain technologies for both storing data and
performing computational tasks. An example of the third
category could be blockchain used for federated learning and
also analyzed the latency aspects of their proposed
architecture [
        <xref ref-type="bibr" rid="ref31">30</xref>
        ].
      </p>
      <p>
        Blockchain use cases continue to grow in scope and
complexity, that is why the need for common guidelines
becomes apparent [
        <xref ref-type="bibr" rid="ref32">31</xref>
        ]. For blockchain to be accepted as a
technology in other industries besides financial, it is essential
that stakeholders have a common understanding of the
technology and possibilities of blockchain [
        <xref ref-type="bibr" rid="ref33">32</xref>
        ]. A few
proposals for standardization of software engineering of
blockchain technologies have emerged during the last year
[
        <xref ref-type="bibr" rid="ref12">11</xref>
        ] [
        <xref ref-type="bibr" rid="ref34">33</xref>
        ] [
        <xref ref-type="bibr" rid="ref35">34</xref>
        ] [
        <xref ref-type="bibr" rid="ref36">35</xref>
        ]. The author of [
        <xref ref-type="bibr" rid="ref12">11</xref>
        ] proposes a development
method which includes smart contract development approach
based on MDA. In [
        <xref ref-type="bibr" rid="ref34">33</xref>
        ] a general proposal is presented for
extending existing modelling notations to include specific
blockchain concepts or integrations. An approach for the
modelling blockchain business networks via layer-based
modeling and ontology design is presented in [
        <xref ref-type="bibr" rid="ref35">34</xref>
        ]. Authors
describe abstraction layer which can be used to describe
blockchain and develop a Blockchain Business Network
Ontology which depicts common terms for blockchain
networks. A model-driven approach for generation of smart
contract code of is described in [
        <xref ref-type="bibr" rid="ref36">35</xref>
        ]. Authors develop BPMN
process model for collaborative business process and use it for
generation of smart contract code. In the area of information
systems, the application of blockchain technology and
cryptocurrencies is still quite limited [2] [5]. In order to adapt
blockchain technology to specific needs, the main attention
should be paid to the development and implementation
methodologies of such technologies.
      </p>
      <p>
        The lack of a formal and unified methodology complicates
the application of blockchain technology. Only a small portion
of authors describe their development process, unfortunately
these are often specialized for specific use cases. A universal
method for development could ease the design and
implementation process of blockchain technology-based
systems [
        <xref ref-type="bibr" rid="ref37">36</xref>
        ]. Introduction of some standard way for defining
and specifying blockchain structure and behavior could
facilitate the blockchain development process [
        <xref ref-type="bibr" rid="ref38">37</xref>
        ]. There are
proposals suggesting that blockchain components could be
modeled using BPMN and UML [
        <xref ref-type="bibr" rid="ref34">33</xref>
        ], although researchers
are not proposing to apply MDA to the whole development
process. A similar proposal of using modelling to define smart
contracts have been proposed in [
        <xref ref-type="bibr" rid="ref39">38</xref>
        ]. An approach to
Ethereum smart contract development was also proposed [
        <xref ref-type="bibr" rid="ref12">11</xref>
        ].
The analyzed proposals for modelling of blockchain and smart
contracts are in the early stages and have not yet been
extensively validated or tested.
      </p>
      <p>Based on the analysis of blockchain application areas and
proposed techniques for its implementation, introduction of a
common methodology for blockchain-based system
development could facilitate the development process and
broaden the scope of its applications.</p>
      <p>IV. APPLYING THE PRINCIPLES OF MODEL-DRIVEN
ARCHITECTURE FOR BLOCKCHAIN-BASED SYSTEMS</p>
      <p>DEVELOPMENT</p>
      <p>
        To facilitate the development of a blockchain-based
system, we propose a methodology based on MDA principles.
We believe, that such methodology could help to describe
blockchain-based systems concepts and behavior in a more
general language [
        <xref ref-type="bibr" rid="ref38">37</xref>
        ]. Furthermore, some development
actions could be accelerated by automation. This methodology
is seen as covering five system development stages (Fig. 1).
For each stage, a certain type of resource required and a certain
set of outcomes is identified. UML and its extension in a form
of UML profile for blockchain specified using domain
specific language (DSL) [
        <xref ref-type="bibr" rid="ref40">39</xref>
        ] are proposed as a language for
modelling different aspects of the system. Below the
methodology is explained in more detail.
      </p>
      <p>In the first development stage Computation Independent
Model (CIM) should be specified. The purpose of this model
is to show how blockchain could be adapted for specific
processes’ restructuring, reorganization, and integration. In
MDA, a Computation Independent Model (CIM) is often
referred to as a business or domain model. It presents the
context of the system under development and what the system
is expected to do but hides all information technology related
specifications to remain independent. A model should be
created using the provided UML profile for blockchain CIM.
It would consist of a participation interaction model,
vocabulary and a business case process model.</p>
      <p>
        Due to the fact that blockchain technology is not
applicable in every case, solutions helping to determine the
suitability of blockchain exists [
        <xref ref-type="bibr" rid="ref41">40</xref>
        ]. These
questions/frameworks help to assess the advantages and
limitations of blockchain technology and the applicability of
the technology for general purposes. Following this example,
the second step of the method would be to identify whether
blockchain is applicable in the specific case. Using the defined
CIM and applicability questionnaire the specific case would
be assessed, and the outcome would be the conclusion whether
to proceed with the development of blockchain.
      </p>
      <p>If blockchain technology is applicable, the development of
the blockchain would continue with the design of the Platform
Independent Model (PIM). Traditionally PIM represents the
design of the system without the details about its
implementation. Considering the method is tailored for the
blockchain, the defined models would include details about
implementation, but would not be based on any specific
blockchain technology (e.g. Hyperledger or Ethereum). The
previously described CIM models would be used as an input
for the development of the PIM. Using the blockchain PIM, a
smart contract state model, blockchain structure model and
blockchain-based process model can be defined. These
defined models would help to select a specific platform for
further development because different platforms differ in
terms of chain architecture, transaction structure, number of
participants, smart contract capabilities, consensus algorithms
and so on.</p>
      <p>
        Afterwards the development of blockchain Platform
Specific Model (PSM) would take place. MDA suggests
automating the production of a PSM from previously defined
models. It requires to define transformation rules which
specify how models are transformed based on parameters
defined by developers [
        <xref ref-type="bibr" rid="ref16">15</xref>
        ] [
        <xref ref-type="bibr" rid="ref18">17</xref>
        ]. The PSM of a system is
defined and tailored for a specific platform. In our proposed
method a PSM would be developed for a specific blockchain
implementation. The previously defined PIM model would be
used to define blockchain structure and smart contract model
for the selected platform. Specialized model for a particular
blockchain solution could be provided in a form of DSL.
Finally, in the last stage applying transformation rules for the
specific blockchain PSM model the code for smart contract
and blockchain implementation of that particular platform
would be generated. The generated artefacts could be used to
start building specific blockchain technology implementation.
      </p>
      <p>The proposed methodology would not only help to define
the blockchain artefacts, but also help to identify whether it is
reasonable to adopt the technology. It could also offer
guidelines for selecting appropriate blockchain platform. The
solution would provide the possibility to facilitate and at least
partially automate the blockchain technology-based system
development process by providing a more standardized way
of describing such systems, expanding the potential uses of
blockchain for different business goals by restructuring
current business processes.</p>
      <p>The blockchain technologies are currently most broadly
applied in the financial sector, and the application in other
areas is still quite limited. The design process of blockchain
technology-based systems is quite difficult, because no formal
or formalized design, development methodologies exist. A
proposed application of MDA principles in the process of
development of blockchain technology-based systems should
help to determine whether it is possible to model blockchain
structure and smart contract logic and whether the business
logic could be conveyed in the smart contracts. The
methodology could be used for modelling blockchain and
smart contracts of business processes and thus relocating these
to the blockchain. In addition, an extensive analysis of
business processes is still required for determining how the
relocation of the business logic to the blockchain could affect
the current processes. Going forward, it is essential to
thoroughly examine the possibilities of adopting MDA
principles for blockchain technology-based system
development process. It is important to analyze blockchain
implementations and find common elements. The results
should help to determine how to model blockchain structure
and smart contract logic, and how business logic can be
conveyed by the smart contracts.</p>
      <p>Generalised</p>
      <p>Available:</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          <string-name>
            <given-names>S.</given-names>
            <surname>Nakamoto</surname>
          </string-name>
          ,
          <article-title>"Bitcoin: a peer‐to‐peer electronic cash system,"</article-title>
          <year>2018</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          <string-name>
            <given-names>F.</given-names>
            <surname>Glaser</surname>
          </string-name>
          ,
          <article-title>"Pervasive Decentralisation of Digital Infrastructures: A Framework for Blockchain enabled System and Use Case Analysis,"</article-title>
          <source>in Proceedings of the 50th Hawaii International Conference on System Sciences</source>
          ,
          <year>2017</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          <string-name>
            <given-names>M.</given-names>
            <surname>Swan</surname>
          </string-name>
          ,
          <article-title>Blockchain Blueprint for a New Economy,</article-title>
          <string-name>
            <surname>O'Reilly Media</surname>
          </string-name>
          ,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          <string-name>
            <given-names>S.</given-names>
            <surname>Raval</surname>
          </string-name>
          , Decentralized Applications:
          <article-title>Harnessing Bitcoin's Blockchain Technology</article-title>
          ,
          <string-name>
            <given-names>O</given-names>
            <surname>'Reilly Media</surname>
          </string-name>
          ,
          <year>2016</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          <source>Principles of Identication and Classication</source>
          ,"
          <year>2018</year>
          . [Online].
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>Available: https://dx.doi.org/10.2139/ssrn.2977811.</mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          <string-name>
            <given-names>D. W.</given-names>
            <surname>Cearley</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Burke</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Searle and M. J. Walker</surname>
          </string-name>
          ,
          <article-title>"</article-title>
          <source>Top 10 Strategic Technology Trends for</source>
          <year>2018</year>
          ,
          <article-title>"</article-title>
          <string-name>
            <surname>Garnter</surname>
          </string-name>
          ,
          <year>2017</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          <string-name>
            <given-names>M.</given-names>
            <surname>Raikwar</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Mazumdar</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Ruj</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S. S.</given-names>
            <surname>Gupta</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Chattopadhyay and K.-Y. Lam</surname>
          </string-name>
          ,
          <article-title>"A Blockchain Framework for Insurance Processes,"</article-title>
          <source>in 2018 9th IFIP International Conference on New Technologies, Mobility and Security (NTMS)</source>
          ,
          <year>2018</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          <string-name>
            <surname>H. M. Kim</surname>
            and
            <given-names>M.</given-names>
          </string-name>
          <string-name>
            <surname>Laskowski</surname>
          </string-name>
          ,
          <article-title>"Toward an ontology‐driven blockchain design for supply‐chain provenance,"</article-title>
          <source>Intelligent Systems in Accounting, Finance and Management, 28 March</source>
          <year>2018</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          b8d5ad9d974a44e7e2882f986467f4d3,
          <article-title>"</article-title>
          <source>Towards Open Science: The Case for a Decentralized Autonomous Academic Endorsement System," 12 4</source>
          <year>2016</year>
          . [Online]. Available:
          <volume>10</volume>
          .5281/zenodo.60054.
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>M.</given-names>
            <surname>Sharples</surname>
          </string-name>
          and
          <string-name>
            <given-names>J.</given-names>
            <surname>Domingue</surname>
          </string-name>
          ,
          <article-title>"The Blockchain and Kudos: A Distributed System for Educational Record, Reputation and Reward,"</article-title>
          <source>in Learning: Proceedings of 11th European Conference on Technology Enhanced Learning (EC-TEL</source>
          <year>2015</year>
          ), Lyon,
          <year>2016</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>K.</given-names>
            <surname>Boogaard</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A</given-names>
            <surname>Development</surname>
          </string-name>
          ,
          <year>2018</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>V.</given-names>
            <surname>Buterin</surname>
          </string-name>
          ,
          <article-title>"A Next-Generation Smart Contract</article-title>
          and
          <string-name>
            <given-names>Decentralized</given-names>
            <surname>Application</surname>
          </string-name>
          ,"
          <year>2014</year>
          . [Online]. Available: http://blockchainlab.com/pdf/Ethereum_
          <article-title>white_papera_next_generation_smart_contract_and_decentralized_application_ platform-vitalik-buterin</article-title>
          .pdf.
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>D.</given-names>
            <surname>Furlonger</surname>
          </string-name>
          and
          <string-name>
            <given-names>R.</given-names>
            <surname>Valdes</surname>
          </string-name>
          ,
          <article-title>"</article-title>
          <source>Practical Blockchain: A Gartner Trend Insight Report," Gartner</source>
          ,
          <year>2017</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [14]
          <string-name>
            <given-names>O.</given-names>
            <surname>Pastor</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>España</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J. I.</given-names>
            <surname>Panach</surname>
          </string-name>
          and
          <string-name>
            <given-names>N.</given-names>
            <surname>Aquino</surname>
          </string-name>
          ,
          <article-title>"Model-Driven Development,"</article-title>
          <source>Informatik Spektrum</source>
          ,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [15]
          <string-name>
            <given-names>O.</given-names>
            <surname>Pastor</surname>
          </string-name>
          and
          <string-name>
            <given-names>J. C.</given-names>
            <surname>Molina</surname>
          </string-name>
          ,
          <string-name>
            <surname>Model-Driven Architecture</surname>
          </string-name>
          in Practice, Springer,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [16]
          <string-name>
            <given-names>O. M.</given-names>
            <surname>Group</surname>
          </string-name>
          ,
          <source>"UML 2.5 Specification," 01 03</source>
          <year>2015</year>
          . [Online]. Available: http://www.omg.org/spec/UML/2.5/PDF.
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [17]
          <string-name>
            <given-names>Object</given-names>
            <surname>Management Group</surname>
          </string-name>
          ,
          <article-title>"Model Driven Architecture (MDA) MDA Guide rev</article-title>
          .
          <volume>2</volume>
          .0,"
          <issue>18</issue>
          <year>June 2014</year>
          . [Online]. Available: https://www.omg.org/cgi-bin/doc?ormsc/14-06-01.
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [18]
          <string-name>
            <surname>Deloitte</surname>
          </string-name>
          ,
          <article-title>"Blockchain @ Media | A new Game Changer for the Media Industry?</article-title>
          ,"
          <year>2017</year>
          . [Online]. Available: https://www2.deloitte.com/content/dam/Deloitte/tr/Documents/
          <article-title>tech nology-media-telecommunications/deloitte-PoV-blockchainmedia</article-title>
          .pdf.
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          [19]
          <string-name>
            <given-names>B.</given-names>
            <surname>Smith</surname>
          </string-name>
          ,
          <article-title>"What are the three generations of blockchain, and how are they similar to the web?,"</article-title>
          <year>2018</year>
          . [Online]. Available: https://www.coininsider.com/three-generations-of-blockchain/.
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          [20]
          <string-name>
            <given-names>G.</given-names>
            <surname>Wood</surname>
          </string-name>
          ,
          <article-title>"Ethereum: a Secure Decentralised Transaction Ledger,"</article-title>
          <year>2014</year>
          . [Online]. https://gavwood.com/paper.pdf.
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          [21]
          <string-name>
            <given-names>B.</given-names>
            <surname>Smith</surname>
          </string-name>
          ,
          <article-title>"The blockchain can succeed like the web - here's how,"</article-title>
          <source>Coin Insider</source>
          ,
          <volume>18</volume>
          <year>December 2018</year>
          . [Online]. Available: https://www.coininsider.
          <article-title>com/the-blockchain-can-succeed-like-theweb-heres-how/.</article-title>
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          [22]
          <article-title>"What is Blockchain Technology?</article-title>
          ,"
          <year>2018</year>
          . [Online]. Available: https://blockgeeks.com/guides/what-is
          <string-name>
            <surname>-</surname>
          </string-name>
          blockchain-technology/.
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          [23]
          <string-name>
            <given-names>M.</given-names>
            <surname>Vincenzo</surname>
          </string-name>
          ,
          <source>Business Innovation Through Blockchain: The B3 Perspective</source>
          ,
          <year>2017</year>
          , p.
          <fpage>101</fpage>
          -
          <lpage>124</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          [24]
          <string-name>
            <given-names>S.</given-names>
            <surname>Omohundro</surname>
          </string-name>
          ,
          <article-title>"Cryptocurrencies, smart contracts, and artificial intelligence,"</article-title>
          <source>AI Matters</source>
          , vol.
          <volume>1</volume>
          , no.
          <issue>2</issue>
          , pp.
          <fpage>19</fpage>
          -
          <lpage>21</lpage>
          ,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref26">
        <mixed-citation>
          [25]
          <string-name>
            <given-names>N.</given-names>
            <surname>Prusty</surname>
          </string-name>
          , Building Blockchain Projects, Packt Publishing,
          <year>2017</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref27">
        <mixed-citation>
          [26]
          <string-name>
            <given-names>U. W.</given-names>
            <surname>Chohan</surname>
          </string-name>
          ,
          <article-title>The Leisures of Blockchains: Exploratory Analysis</article-title>
          ,
          <string-name>
            <surname>SSRN</surname>
          </string-name>
          ,
          <year>2017</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref28">
        <mixed-citation>
          [27]
          <string-name>
            <given-names>A.</given-names>
            <surname>Azaria</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Ekblaw</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Vieira</surname>
          </string-name>
          and
          <string-name>
            <given-names>A.</given-names>
            <surname>Lippman</surname>
          </string-name>
          ,
          <article-title>"MedRec: Using Blockchain for Medical Data Access and Permission Management,"</article-title>
          <source>in International Conference on Open and Big Data</source>
          , Vienna,
          <year>2016</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref29">
        <mixed-citation>
          [28]
          <string-name>
            <given-names>J.</given-names>
            <surname>Zawistowski</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Janiuk</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Regulski</surname>
          </string-name>
          and
          <string-name>
            <given-names>A.</given-names>
            <surname>Skrzypczak</surname>
          </string-name>
          ,
          <article-title>"The Golem Project,"</article-title>
          <year>2016</year>
          . [Online]. Available: https://golem.network/crowdfunding/Golemwhitepaper.pdf.
        </mixed-citation>
      </ref>
      <ref id="ref30">
        <mixed-citation>
          [29]
          <string-name>
            <given-names>G.</given-names>
            <surname>Fedak</surname>
          </string-name>
          ,
          <string-name>
            <given-names>W.</given-names>
            <surname>Bendella</surname>
          </string-name>
          and
          <string-name>
            <given-names>E.</given-names>
            <surname>Alves</surname>
          </string-name>
          ,
          <article-title>"Blockchain-Based Decentralized Cloud Computing,"</article-title>
          <year>2018</year>
          . [Online]. Available: https://iex.ec/wp-content/uploads/pdf/iExec-WPv3.
          <fpage>0</fpage>
          -English.pdf.
        </mixed-citation>
      </ref>
      <ref id="ref31">
        <mixed-citation>
          [30]
          <string-name>
            <given-names>H.</given-names>
            <surname>Kim</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Park</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Bennis</surname>
          </string-name>
          and
          <string-name>
            <given-names>S.-L.</given-names>
            <surname>Kim</surname>
          </string-name>
          ,
          <article-title>"On-Device Federated Learning via Blockchain and its Latency Analysis,"</article-title>
          <source>CoRR</source>
          ,
          <year>2018</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref32">
        <mixed-citation>
          [31]
          <string-name>
            <given-names>E.</given-names>
            <surname>Piscini</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Dalal</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Mapgaonkar</surname>
          </string-name>
          and
          <string-name>
            <given-names>P.</given-names>
            <surname>Santhana</surname>
          </string-name>
          ,
          <article-title>"Blockchain to blockchains,"</article-title>
          <source>in Tech Trends</source>
          <year>2018</year>
          :
          <article-title>The symphonic enterprise</article-title>
          ,
          <year>2017</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref33">
        <mixed-citation>
          [32]
          <string-name>
            <given-names>J. d.</given-names>
            <surname>Kruijff</surname>
          </string-name>
          and
          <string-name>
            <given-names>H.</given-names>
            <surname>Weigand</surname>
          </string-name>
          ,
          <article-title>"Understanding the Blockchain Using Enterprise Ontology,"</article-title>
          <year>2017</year>
          . [Online]. Available: https://link.springer.com/chapter/10.1007/978-3-
          <fpage>319</fpage>
          -59536-
          <issue>8</issue>
          _
          <fpage>3</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref34">
        <mixed-citation>
          [33]
          <string-name>
            <given-names>H.</given-names>
            <surname>Rocha</surname>
          </string-name>
          and
          <string-name>
            <given-names>S.</given-names>
            <surname>Ducasse</surname>
          </string-name>
          ,
          <article-title>"</article-title>
          <source>Preliminary Steps Towards Modeling Blockchain Oriented Software," in 1st International Workshop on Emerging Trends in Software Engineering for Blockchain</source>
          ,
          <year>2018</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref35">
        <mixed-citation>
          [34]
          <string-name>
            <given-names>S.</given-names>
            <surname>Seebacher</surname>
          </string-name>
          and
          <string-name>
            <given-names>M.</given-names>
            <surname>Maleshkova</surname>
          </string-name>
          ,
          <article-title>"A Model-driven Approach for the Description of Blockchain Business Networks,"</article-title>
          <source>in Proceedings of the 51st Hawaii International Conference on System Sciences</source>
          ,
          <year>2018</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref36">
        <mixed-citation>
          [35]
          <string-name>
            <given-names>X.</given-names>
            <surname>Xu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>I.</given-names>
            <surname>Weber</surname>
          </string-name>
          and
          <string-name>
            <given-names>M.</given-names>
            <surname>Staples</surname>
          </string-name>
          ,
          <article-title>"Model-Driven Engineering for Blockchain Applications," in Architecture for Blockchain Applications</article-title>
          , Springer,
          <year>2019</year>
          , pp.
          <fpage>149</fpage>
          -
          <lpage>172</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref37">
        <mixed-citation>
          [36]
          <string-name>
            <surname>C.-F. Liao</surname>
            ,
            <given-names>S.-W.</given-names>
          </string-name>
          <string-name>
            <surname>Bao</surname>
          </string-name>
          , C.-J. Cheng and a. K. Chen,
          <article-title>"On Design Issues and Architectural Styles for Blockchain-driven IoT Services,"</article-title>
          <source>in IEEE International Conference on Consumer Electronics , Taiwan</source>
          ,
          <year>2017</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref38">
        <mixed-citation>
          [37]
          <string-name>
            <surname>A. B. Tran</surname>
            ,
            <given-names>X.</given-names>
          </string-name>
          <string-name>
            <surname>Xu</surname>
            ,
            <given-names>I. Weber</given-names>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Staples</surname>
          </string-name>
          and
          <string-name>
            <given-names>P.</given-names>
            <surname>Rimba</surname>
          </string-name>
          ,
          <article-title>"Regerator: a Registry Generator for Blockchain,"</article-title>
          <source>in CaiSE2017: 29th International Conference on Advanced, Essen, Germany</source>
          ,
          <year>2017</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref39">
        <mixed-citation>
          [38]
          <string-name>
            <given-names>M.</given-names>
            <surname>Marchesi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Marchesi</surname>
          </string-name>
          and
          <string-name>
            <given-names>R.</given-names>
            <surname>Tonelli</surname>
          </string-name>
          ,
          <article-title>"An Agile Software Engineering Method to Design Blockchain Applications,"</article-title>
          <source>in Software Engineering Conference Russia</source>
          , Moscow,
          <year>2018</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref40">
        <mixed-citation>
          [39]
          <string-name>
            <given-names>A. V.</given-names>
            <surname>Deursen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E. .</given-names>
            <surname>Visser</surname>
          </string-name>
          and
          <string-name>
            <given-names>J. .</given-names>
            <surname>Warmer</surname>
          </string-name>
          ,
          <article-title>"</article-title>
          <source>Model-Driven Software Evolution: A Research Agenda,"</source>
          ,
          <year>2007</year>
          . [Online]. Available: http://swerl.tudelft.nl/twiki/pub/eelcovisser/modeldrivensoftwareev olutionaresearchagenda/dvw07.pdf.
          <source>[Accessed 30</source>
          <volume>1</volume>
          <fpage>2019</fpage>
          ].
        </mixed-citation>
      </ref>
      <ref id="ref41">
        <mixed-citation>
          [40]
          <string-name>
            <surname>Kapuściński</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Nowicki</surname>
            ,
            <given-names>R. K.</given-names>
          </string-name>
          , &amp;
          <string-name>
            <surname>Napoli</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          (
          <year>2016</year>
          , June).
          <article-title>Application of genetic algorithms in the construction of invertible substitution boxes</article-title>
          .
          <source>In International Conference on Artificial Intelligence and Soft Computing</source>
          . Springer, Cham, p.
          <fpage>380</fpage>
          -
          <lpage>391</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref42">
        <mixed-citation>
          [41]
          <string-name>
            <given-names>K.</given-names>
            <surname>Wüst</surname>
          </string-name>
          and
          <string-name>
            <given-names>A.</given-names>
            <surname>Gervais</surname>
          </string-name>
          ,
          <article-title>"Do you need a Blockchain?,"</article-title>
          <year>2017</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>