<!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>Decision process for blockchain architectures based on requirements</article-title>
      </title-group>
      <contrib-group>
        <aff id="aff0">
          <label>0</label>
          <institution>Centre de Recherche en Informatique (CRI) Universite Paris 1 Pantheon-Sorbonne</institution>
          ,
          <country country="FR">France</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>In recent years, blockchain has grown in popularity due to its singular attributes, enabling the development of new innovative decentralized applications. But when companies consider leveraging blockchain for their applications, the plethora of possible choices and the di culty of integrating blockchain into architectures can hinder its adoption. Our research project aims to ease the adoption of blockchain into companies, notably with the construction of an automated decision process to solve this issue in which requirements are rst-class citizens, a knowledge base containing architectural patterns and blockchains re ned over time, and an architecture generator able to process outputs into architectural stubs. This paper will also present our current progression on this decision process, by introducing the preliminary version that is able to choose the most suitable blockchain between multiple choices and our process-driven benchmarking tool.</p>
      </abstract>
      <kwd-group>
        <kwd>Blockchain</kwd>
        <kwd>Requirements Engineering</kwd>
        <kwd>Software Architecture</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        Building software is quite straightforward in a small project, but software
architects can struggle to cope with complexity induced by the number of system
components. Fortunately, they can take pro t from existing architectural
patterns, that are general and reusable solutions for implementing software [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] to
help them to design their software. In parallel, blockchain has been a rising topic
in the scienti c and industrial communities over the last few years. It consists of
a distributed database of interconnected blocks, accessible only for reading and
appending. Indeed, altering blockchain retrospectively is hard, as every block
is linked to the previous one and their integrity is ensured by the nodes that
store a copy of the blockchain. First blockchain implementations were based on
cryptocurrencies, such as Bitcoin [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. In a second time, some blockchains were
built to support smart-contracts, that are instances of code embedded within
the blockchain that can perform operations and hold states [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ].
      </p>
      <p>In the eld of Information Systems (IS), architects have to choose among a
wide range of architectures and components that meet all of their requirements
Copyright © 2020 for this paper by its authors. Use permitted under
Creative Commons License Attribution 4.0 International (CC BY 4.0).</p>
      <p>
        Six
[
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. This is facilitated by eld-tested patterns available from academic
literature or companies' feedbacks. Thus, they have to make many decisions: which
architecture to use, what components to include, and how to con gure them
to function accordingly to the requirements. But when it comes to blockchain
adoption, no eld-tested blockchain architectural pattern exists yet and its
integration into architectures requires deep knowledge about the technology.
      </p>
      <p>
        Multiple studies tried to address this issue by introducing blockchain decision
models to help to choose whether adopting blockchain or not and if yes, which
type. In [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ], authors listed existing decision models and schemes such as [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]. In
[
        <xref ref-type="bibr" rid="ref7">7</xref>
        ], authors have built a comprehensive guide for blockchain technology
including characteristics and parameters, then introduced a decision model based on
speci c questions and schemes. Those studies are useful to get a rst idea about
adopting a speci c type of blockchain or not, but they are not diving into
details. Some studies explored the eld of multi-criteria decision making (MCDM)
to make decisions between blockchains ([
        <xref ref-type="bibr" rid="ref8">8</xref>
        ], [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]). However, this only addresses
the choice between blockchains, and those tools can be hard to use for
architects non-expert in blockchain. Therefore, choosing a blockchain and tting it
into system architectures is still di cult, especially when taking a lot of
requirements and assets into account, since existing methods lack an automated way
to process them.
      </p>
      <p>Through a doctoral thesis, we want to address those problems by building an
automated decision process that determines the most suited architectural
pattern for a given case. To this end, one needs multiple types of inputs inserted
into the decision process, such as requirements or business assets. A major part
of this work will be to build a knowledge base, from academic studies, expert
feedback, or other information sources, and to update it over time. We also
propose an architecture generator, to ease the adoption of blockchain architectures
by automating the creation of architectural stubs. The paper will be organized
as follows: the Section 2 will introduce our research questions and goals to
address mentioned problems and research gaps, Section 3 will present our research
methodology, Section 4 will introduce the current chosen approach, and Section
5 will show current doctoral thesis progress.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Research questions and goals</title>
      <p>The problematic mentioned in the introduction can be translated into multiple
research questions that need to be addressed to ease blockchain adoption:
RQ1: How can we extract and structure the data of business processes, assets,
and requirements?
RQ2: How can we process those data to make decisions regarding system
architecture?
RQ3: What are the impacts of blockchain speci city in the expression of the
architectural model and the domain?
RQ4: How blockchain can be integrated into existing architectural patterns?</p>
      <p>To address those questions, we articulate this doctoral thesis around the
construction of an automated decision process named the BLADE project (for
BLockchain Automated DEcision process) where requirements are rst-class
citizens. The construction of this decision process will not be easy, as it raises
a tremendous amount of locks. The major ones could be to nd a method to
compare every decision process inputs (infrastructure, requirements, assets, etc.)
with architectural patterns in the knowledge base to nd the pattern that ts
best those inputs, as those elements are di erent from each other. Validating the
decision process results' accuracy will also be di cult.</p>
      <p>To extend the decision process, another goal of this doctoral thesis is to use
recommendations and previous inputs to create architectural stubs, including
entities, automated setup les, and interfaces. This aims to give architects a
clean pattern to develop their applications, since implementing blockchain into
architectures is a di cult task, but also to reduce the time between development
and deployment, in a logic of cost-saving.
3</p>
    </sec>
    <sec id="sec-3">
      <title>Research methodology</title>
      <p>
        This doctoral work will be based on the Design Science Research (DSR)
methodology [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ]. DSR is an incremental process: from the needs of people and
(business) organizations, research is used to build artifacts that aim to address those
needs, using methodologies and foundations from a knowledge base. After the
completion of this part, an evaluation is performed on artifacts through case
studies, experiments, simulation, and/or eld studies to ensure that they
correctly address business needs. Evaluation of artifacts is also crucial as it brings
knowledge that serves to improve the knowledge base and the artifacts.
      </p>
      <p>As the goal of this Ph.D. thesis is being able to determine the most suitable
blockchain and architectural pattern, we need to know in detail their
characteristics. To do that, we will incrementally construct our knowledge base, using
previous studies on architectural and blockchain topics (benchmark results, methods,
performance simulations, architectural patterns details, ...) as a rst step, and
then by performing studies on those topics by ourselves. Each update will allow
us to incrementally re ne our artifacts to be more accurate and support more
blockchains or architectural patterns.
4</p>
    </sec>
    <sec id="sec-4">
      <title>The automated decision process</title>
      <p>Building such a process is a complex task, as there is a tremendous amount of
possible inputs, plus the domain of software architecture is constantly evolving
with new patterns and practices. To get an architectural recommendation tting
with most of the initial requirements, we must be able to submit as many
company requirements as possible and other valuable inputs in our decision process,
such as business processes, existing architectures, or infrastructures. Moreover,
as technologies evolve, we have to feed our decision process with new data to
keep it accurate from available architectural patterns. In this section, we cover</p>
      <p>Six
possible inputs of such a process, we introduce the processing part of it and
associated locks that will have to be lifted, and we present our methods to
construct then re ne the knowledge base of the process. Finally, we introduce an
architecture generator based on the decision process result.
4.1</p>
      <sec id="sec-4-1">
        <title>Inputs and processing</title>
        <p>
          The decision process uses 3 types of inputs to compute the most suitable
architectural pattern and blockchain for a given case. The rst one is the
requirements. This input is de ning desired non-functional requirements (eg.
throughput, latency, ...) and functional requirements of chosen architecture. They can be
expressed as strict requirements ("must have") or preferences ("better if the
system has that"). Preferences are rated on a Likert scale [
          <xref ref-type="bibr" rid="ref11">11</xref>
          ] from 0 (Indi erent),
to 1 (Extremely desirable). The second input considered are business processes
(for IS). As they represent the logic of software that will use blockchain and
related architectural patterns, they will be used to evaluate the compatibility
of decision process choices with them. For example, a possible evaluation would
be to verify if performance requirements are met for a speci c business process
when using a blockchain architecture. Business processes could even embed
requirements introduced before, as requirements could di er depending on chosen
business processes. Enterprise assets are the third possible input. Existing
infrastructures (eg. servers, network equipment, cloud services, ...), human skills on
speci c technologies, or programming patterns expertise could re ne the choice
as reuse enterprise assets would cut on implementation costs.
        </p>
        <p>
          Inputs processing using the knowledge base is one of the biggest locks that
will have to be lifted during this doctoral thesis. Indeed, as inputs are di erent
from each other regarding their unit, scale, or type, it is di cult to compare
them. A possible solution to address this problem is the utilization of
multicriteria decision making methods [
          <xref ref-type="bibr" rid="ref12">12</xref>
          ]. Also, blockchain and architectural
patterns performances may vary depending on the infrastructure and concerned
business processes. Determining those characteristics will require to perform
automatic benchmarks, a di cult task if the company does not have a test
infrastructure available for that or if they don't know exactly their infrastructure
topology (such as IoT infrastructures). Simulations could also be considered,
but that requires to nd accurate formulas. In the end, the decision process will
increment over the list of stored architectural patterns and return for each of
them a tting score from 0 to 1, determining which pattern is the most suitable
to ful ll most of the requirements and match with company assets and business
processes.
4.2
        </p>
      </sec>
      <sec id="sec-4-2">
        <title>Knowledge base construction and continuous improvement</title>
        <p>Following our methodology and our plans for this doctoral thesis, one of the
biggest steps will be the construction of a relevant knowledge base, where data
comes from multiple sources. First, academic studies will help us to build this
knowledge base and the decision process (eg. case studies, state-of-the-art,
benchmarks, ...). They will provide empirical data about blockchains attributes and
performance, requirements elicitation and weighting, and architectural
implementation examples. In a second step, interviews with experts or software
architects will be a major advantage to strengthen our decision process. We identi ed
2 types of potential interviews. The rst one is the peer-review of the decision
process where interviewees could deep dive into the functioning and make
comments on it to x process aws right before going on further tests. The second
one is solving a sample test case study using their experience and knowledge,
then compare their choices to the decision process and architecture generator
results. We would obtain a bias between interviewees' results and ours that could
be discussed to understand why di erent choices were made.</p>
        <p>The decision process will have to be improved over time following either the
creation of new architectural patterns or studies released after the rst version.
In addition to that, we are expecting to challenge our decision process on
reallife use-cases with experts. We plan to ask companies that plan to build a new
application to run the decision process and get in return architecture stubs,
that they will use to build their software. Using monitoring tools, we would be
able to collect execution traces and analyze them to identify potential overheads
or architectural aws then improve the decision process and the architecture
generator. Finally, to keep the decision process accurate, we need a relevant
up-to-date knowledge base. To do so, we envision collaborating with industrial
and open source communities, that could bene t from our work. Also, inputs
de ned in the current knowledge base will be re ned as a whole using companies'
feedbacks but also by category depending on the use-case under consideration.
4.3</p>
      </sec>
      <sec id="sec-4-3">
        <title>Architecture generation</title>
        <p>Getting architectural recommendations is the main goal of our project, but we
plan to go one step further by adding a generator tool at the end of the decision
process. With all the inputs that were submitted and the result of the decision
process, we have all the information about all future layers of the architecture.</p>
        <p>For the application layer, one of the decision process inputs is a collection of
BPMN les, that are modeling company business processes and thus applications
that will have to run on the architecture. Thus, as it is possible to generate
entities from them, we implemented a tool called BPMN Adapter available on
Github1. Regarding network and physical layers, as the infrastructure and the
architectural pattern are known, it is possible to generate con guration and
setup les for servers and network equipment, to de ne desired communication
protocols, operating systems, or network interfaces.</p>
        <p>This work is important as it aims to drastically reduce the time between
software conception and production deployment by automating all possible steps and
therefore cutting on costs. This is also a way for us to get validations of our
decision process, as one of our goals is having generated architectures implemented
1 https://github.com/nherbaut/bpmnadapter</p>
        <p>Six
5
5.1
within real business case studies where execution traces would be monitored.
This would indicate eventual bottlenecks and imperfections of generated
architectures and thus help us improve our project artifacts.</p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>Preliminary results</title>
      <sec id="sec-5-1">
        <title>Automated decision process current progression</title>
        <p>
          Since the beginning of this work, progress has been made on the automated
decision process and results in a study [
          <xref ref-type="bibr" rid="ref13">13</xref>
          ] that introduces its foundations and
evaluates its results through a real-life case study. For the moment, the
decision process is able to nd the most suitable blockchain for a given set of
non-functional requirements, expressed as presented in our approach (Section
4). Selected requirements that can be entered as inputs have been selected as
they can be grouped under the categories of ISO 25010 standard that de nes
macro-attributes to consider in a system or software to ensure its quality. The
goal behind this choice was to ease the choice of blockchain technology by
nonexperts in this domain. After data has been entered into the system, the decision
process eliminates every blockchain that does not match strict requirements, then
evaluates the suitability of every blockchain contained in our knowledge base
using TOPSIS. This is a multi-criteria decision-making method able to rank given
alternatives by computing the most and the least desirable alternative, then
evaluating the distance of each considered alternative between them [
          <xref ref-type="bibr" rid="ref14">14</xref>
          ].
        </p>
        <p>Our current knowledge base is constituted with the 4 most used blockchains
(in businesses2) attributes, plus Bitcoin, currently considered as the most-known
blockchain. Their characteristics have been extracted from multiple sources:
studies, technical documentation, whitepapers, and other relevant sources.
Current results are promising, as the application of our automated decision process
to the case study mentioned before returned the same result as recommended
by blockchain experts in the case study.
5.2</p>
      </sec>
      <sec id="sec-5-2">
        <title>Business process driven benchmark framework</title>
        <p>As one of our goals is the improvement of our knowledge base with benchmark
studies, we decided to implement a highly customizable benchmark framework
based on business processes and work ows. With business processes (as XML
les) or JSON work ow les as inputs, we are able to generate and deploy sample
smart-contracts as microservices on blockchains to benchmark their performance
on those environments. Sample (blockchain smart-contracts) microservices
exposes 4 methods, that respectively try to solve a di cult dummy computing
problem, an increment on a loop, store data, and read data. The "di culty of
completion" of each method can be chosen using a method parameter called
2
https://www.hfsresearch.com/pointsofview/whos-winning-the-battle-of-enterpriseblockchain-platforms
di culty. As it rises, the number of increments on the loop, the size read and
stored and the di culty of the computing problem increases.</p>
        <p>Our initial idea was to compare microservices architectures with blockchain
technology (eg. Ethereum) by benchmarking them using our suite, but we broader
the possibilities by implementing the support of custom smart-contracts
benchmark. Instead of generating dummy smart-contracts, we can provide one.
Therefore, we can benchmark blockchain performance over a dedicated smart-contract,
by varying the number of nodes, their hardware, and the characteristics of the
blockchain used (eg. block time, block size, consensus protocol, ...). This will
help us to strengthen our knowledge base during this thesis.
6</p>
      </sec>
    </sec>
    <sec id="sec-6">
      <title>Conclusion and future work</title>
      <p>The choice between multiples architectures is not trivial for enterprises. A lot
of inputs and features had to be taken into account when determining which
architectural pattern will be chosen, an impossible task when non-automated.
Moreover, the decision process could be biased with the software architect's
personal experience.</p>
      <p>In this paper, we are introducing our plans to build a decision process focused
on blockchain architectures to address those issues. From a set of inputs, that are
requirements, business processes, and business assets, the decision process will be
able to translate them into architectural suggestions, but also using these latter
to generate architecture stubs (entities generation, communication protocols,
interfaces, etc.). One of the main challenges of this project will be nding a way
to translate all inputs and all architectural patterns, into a set of numeric values,
but also weighting them in the decision process as all the features do not have
the same importance. To do that, we proposed to use many available scienti
crelated studies, but also to ask software architects and experts for feedback to
validate the decision process or re ne it. We also introduced our plans to improve
the decision process after the rst release with an iterative approach, taking new
studies as inputs and having it tested by companies on real-life projects. Finally,
we present our preliminary results on this topic that is a decision process for
blockchain technologies called the BLADE project. It is able to recommend the
most suitable blockchain from non-functional software-related requirements and
user preferences, but also our process-based benchmarking tool.</p>
      <p>As we saw that in the decision process performances are expressed in wide
intervals instead of xed values, we plan in the near future to improve this
aspect by nding a way to determine those values from the context (blockchain
technologies and speci c blockchain parameters) using our benchmarking tool to
determine such formulas. Another planned work will be to study possibilities of
integration of blockchain into existing architectural patterns notably by
performing a literature review on blockchain and architecture, to be able to include them
inside the decision process in the future. As we adopted a constructive research
methodology, we plan to move forward following this step by step approach to
construct the automated decision process that takes into account business assets
and requirements.</p>
      <p>This doctoral thesis is supervised by Pr. Camille Salinesi and Dr. Nicolas Herbaut.</p>
      <p>Six</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <surname>Robert</surname>
            <given-names>T</given-names>
          </string-name>
          <string-name>
            <surname>Monroe</surname>
          </string-name>
          et al. \
          <article-title>Architectural styles, design patterns, and objects"</article-title>
          .
          <source>In: IEEE software 14.1</source>
          (
          <issue>1997</issue>
          ), pp.
          <volume>43</volume>
          {
          <fpage>52</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>Satoshi</given-names>
            <surname>Nakamoto</surname>
          </string-name>
          .
          <article-title>\A peer-to-peer electronic cash system"</article-title>
          .
          <source>In: Bitcoin</source>
          . (https://bitcoin.org/bitcoin.pdf ) (
          <year>2008</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>Nick</given-names>
            <surname>Szabo</surname>
          </string-name>
          . \
          <article-title>Formalizing and securing relationships on public networks"</article-title>
          .
          <source>In: First Monday 2.9</source>
          (
          <year>1997</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>Elena</given-names>
            <surname>Kornyshova</surname>
          </string-name>
          . \MADISE:
          <article-title>Method Engineering-based Approach for Enhancing Decision-Making in Information Systems Engineering"</article-title>
          . Theses. Universite
          <string-name>
            <surname>Pantheon-Sorbonne - Paris</surname>
            <given-names>I</given-names>
          </string-name>
          , Dec.
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>Tommy</given-names>
            <surname>Koens</surname>
          </string-name>
          and
          <string-name>
            <given-names>Erik</given-names>
            <surname>Poll</surname>
          </string-name>
          . \
          <article-title>What blockchain alternative do you need?" In: Data Privacy Management, Cryptocurrencies</article-title>
          and
          <string-name>
            <given-names>Blockchain</given-names>
            <surname>Technology</surname>
          </string-name>
          . Springer,
          <year>2018</year>
          , pp.
          <volume>113</volume>
          {
          <fpage>129</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>Karl</given-names>
            <surname>Wu</surname>
          </string-name>
          <article-title>st and Arthur Gervais. \Do you need a blockchain?"</article-title>
          <source>In: Crypto Valley Conference on Blockchain Technology. IEEE</source>
          .
          <year>2018</year>
          , pp.
          <volume>45</volume>
          {
          <fpage>54</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>Marianna</given-names>
            <surname>Belotti</surname>
          </string-name>
          et al. \
          <article-title>A Vademecum on Blockchain Technologies: When, Which, and How"</article-title>
          .
          <source>In: IEEE Communications Surveys &amp; Tutorials 21.4</source>
          (
          <issue>2019</issue>
          ), pp.
          <volume>3796</volume>
          {
          <fpage>3838</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>S.</given-names>
            <surname>Farshidi</surname>
          </string-name>
          et al. \
          <article-title>Decision Support for Blockchain Platform Selection: Three Industry Case Studies"</article-title>
          .
          <source>In: IEEE Transactions on Engineering Management</source>
          (
          <year>2020</year>
          ), pp.
          <volume>1</volume>
          {
          <fpage>20</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>Huimin</given-names>
            <surname>Tang</surname>
          </string-name>
          , Yong Shi, and Peiwu Dong. \
          <article-title>Public blockchain evaluation using entropy and TOPSIS"</article-title>
          .
          <source>In: Expert Systems with Applications</source>
          <volume>117</volume>
          (
          <year>2019</year>
          ), pp.
          <volume>204</volume>
          {
          <fpage>210</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <surname>Alan R Hevner</surname>
          </string-name>
          et al. \
          <article-title>Design science in information systems research"</article-title>
          . In: MIS quarterly (
          <year>2004</year>
          ), pp.
          <volume>75</volume>
          {
          <fpage>105</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>I</given-names>
            <surname>Elaine</surname>
          </string-name>
          <article-title>Allen and Christopher A Seaman. \Likert scales and data analyses"</article-title>
          .
          <source>In: Quality progress 40.7</source>
          (
          <issue>2007</issue>
          ), pp.
          <volume>64</volume>
          {
          <fpage>65</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>Elena</given-names>
            <surname>Kornyshova</surname>
          </string-name>
          and
          <string-name>
            <given-names>Camille</given-names>
            <surname>Salinesi</surname>
          </string-name>
          .
          <article-title>\MCDM techniques selection approaches: state of the art"</article-title>
          .
          <source>In: 2007 IEEE Symposium on Computational Intelligence in Multi-Criteria Decision-Making. IEEE</source>
          .
          <year>2007</year>
          , pp.
          <volume>22</volume>
          {
          <fpage>29</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>Nicolas</given-names>
            <surname>Six</surname>
          </string-name>
          et al.
          <article-title>Which Blockchain to choose? A decision support tool to guide the choice of a Blockchain technology</article-title>
          .
          <source>Preprint. Apr</source>
          .
          <year>2020</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <surname>Young-Jou</surname>
            <given-names>Lai</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ting-Yun Liu</surname>
          </string-name>
          , and
          <string-name>
            <surname>Ching-Lai Hwang</surname>
          </string-name>
          . \
          <article-title>Topsis for MODM"</article-title>
          .
          <source>In: European journal of operational research 76.3</source>
          (
          <issue>1994</issue>
          ), pp.
          <volume>486</volume>
          {
          <fpage>500</fpage>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>