<!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>The Requirements Tree Technique for Dependencies-Driven Risk Assessment of AI/ML-based Software Design</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Vira Liubchenko</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Odesa Polytechnic National University</institution>
          ,
          <addr-line>1 Shevchenko Ave., Odesa, 65044</addr-line>
          ,
          <country country="UA">Ukraine</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>Software requirements engineering is the first phase, which provides the foundation for the software product development process. In software engineering, there are empirical and formal techniques for assessing the requirements specification quality. However, in the case of AI/ML-based systems, the effectiveness of such techniques is low. This problem is related to the high dependence of the system's behavior on data, leading to high requirements uncertainty. Therefore, the risks caused by specific quality requirements for AI/ML components should be dynamically resized concerning design solutions. The paper presents an approach that provides a dependencies-driven assessment of the risks associated with design solutions for AI/ML-based software systems.</p>
      </abstract>
      <kwd-group>
        <kwd>1 Requirement engineering</kwd>
        <kwd>risk assessment</kwd>
        <kwd>AI/ML-based system</kwd>
        <kwd>requirements tree</kwd>
        <kwd>software design</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
      <p>
        neural networks, support vector machines, and linear statistics” [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. Such systems strongly depend
on data, so their behavior is a priory unpredictable and based on assumptions. However, the
assumption in AI/ML-based systems could often be violated because
● the unrealistic or missing assumptions due to poorly understood domain and data
nature;
●
●
concept drift due to the evolvement of the environment over time;
adversaries due to deliberately try to violate assumptions;
● feedback loops due to system actions could change the environment over time.
      </p>
      <p>In this paper, based on several publications, we discuss the requirement risk and various risk
assessment approaches and techniques in section 2. Section 3 describes the proposed approach
based on the requirement tree using. Section 4 presents the validation and results from the analysis
of the suggested technique through a case study. Finally, the paper is concluded in section 5.</p>
    </sec>
    <sec id="sec-2">
      <title>2. The techniques for software requirements risk assessment</title>
      <p>The risks of requirements are the subset of the software project risks. We use the keywords “risk
analysis” and “software requirement” to filter relevant works and apply them to the IEEE Xplore
collection. Let us describe selected works.</p>
      <p>
        Li and Lui [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] introduced the stakeholder-based approach to risk assessment. They classified
all stakeholders into requirement providers and project team members by their responsibilities. As
well they distinguished eleven risk factors: six of them – the impact of the system, agreement with
requirements, participation level, expression skill, importance extent, and profession level – relate
to requirement providers, and five other – technology skill, description skill, stability of work,
time pressure, and status – relate to team members. Such detailing makes it easy to find out the
cause of the risks. Additionally, the paper introduced quantitative measurement; the risk factors of
requirement can be computed as
∑ 1
1

× ∑
 1

+
∑ 2
1

× ∑
 2
      </p>
      <p>Im is a contraction of important extent, and St is that of status. RRF is a relative risk factor of
requirement providers, and PRF is that of the project team
members. n1 is the number of
requirement providers, and n2 is that of the project team members. As a result, the numerical
assessments for each risk were calculated. Based on numerical estimates, one can prioritize the
requirements following the risk but cannot analyze the risk scenarios.</p>
      <p>
        Shaukat et al. [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] provided the means for improving risk prediction at the initial phase of the
software development life cycle. They worked with IT experts and mined a wide specter of risk
factors grouped into seven attributes: project category, requirement category, risk target category,
probability, impact, dimension of risk, and risk priority. The data types of attributes were assigned
according to the nature and value set of the data, which provided the possibility to apply the KNN
classification technique. The authors demonstrated that the knowledge of the relationship between
requirements and risks is necessary for predicting risks in upcoming software projects. The
technique requires the existing datasets for training the classifier, which restricts its applicability.
      </p>
      <p>
        Chandani and Gupta [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] proposed a technique for evaluating risky requirements using the
analytic hierarchy process (AHP), which is applied to the requirements’ risk from a software
project perspective. For evaluation, they used five criteria – impact, perspective, frequency,
dependency, and type – with 13 sub-criteria. The authors demonstrated that more decision-making
(1)
activities had been catered through the AHP involving risk assessment and prioritization. And as
a result, the level of risk for each requirement can be determined.
      </p>
      <p>
        We should point out that the researchers have regularly returned to using multi-criteria
decision-making techniques for requirement analysis. For example, the work [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] describes using
AHP for calculating the integral assessment, which encapsulates the risks for every requirement.
Another example is the work [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ], where requirement risks are evaluated with the TOPSIS method.
      </p>
      <p>All the described approaches encapsulate knowledge about the influence of factors on each
other in the estimates. But there are works in which the authors try to keep these dependencies
visible.</p>
      <p>
        Gandhi and Lee [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] used their stepwise methodology to discover and understand the
correlations among requirements applicable in each operational scenario of the software system to
conduct a risk assessment. The methodology is based on Formal Concept Analysis (FCA). The
central entity of the methodology is a formal concept defined as a pair of sets (A, B), where A is a
set of requirements categories called extent and B is a set of risk components called intent. It is
possible to define the order relation on the set of formal concepts. A complete lattice structure
called a concept lattice is a partially ordered set of all formal concepts. The concept lattice provides
a visual and concise representation of all potential correlations among requirements categories in
the given scenario while facilitating their interpretation for risk assessment. The different charts
offer the possibility for assessment of different risk aspects.
      </p>
      <p>
        Towhidnejad et al. [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] presented a study on Software Fault Tree Analysis (SFTA). They pointed
out that the main objectives of applying SFTA during the requirement engineering phase are to
identify weaknesses in the requirement specification and all the requirements that directly affect
the system's safety. Their approach is based on the deductive approach in analyzing events varying
from all-purpose to specific circumstances. SFTA has established the potential of differentiating
between events based on the AND-OR gate.
      </p>
      <p>Arogundadeet al. [10] also used the tree model, which allowed the study of the scenario’s
primary paths, and proposed a misuse case-based consequential analysis approach to
systematically identify exceptional paths associated with safety hazards using guiding questions.
For each scenario path of a use case, authors originally qualified probability and risk. It provides
the ground for assigning a probability to a use case by adopting aggregated probability and
aggregated risk values.</p>
      <p>Muñante et al. [11] defined an engineering framework for risk-driven requirement analysis in
self-adaptive systems, which supports risk modeling and estimation during requirements analysis
to help designers prioritize risk. Their methodology is based on modeling three aspects: an
extended goal model, an environmental model, and a failure model. Let us notice the definition of
failure situations as circumstances in which the system cannot explicitly achieve its goals.</p>
      <p>If we generalize the considered approaches, all of them assume the deterministic behavior of
the system and its components. Also, all techniques evaluate requirements risks separately,
focusing mainly on the functional requirement.</p>
      <p>In the case of AI-based systems, the behavior is caused by data and cannot be defined precisely
as a priory. Respectively the non-functional requirements concerned the property of AI/ML model
effect on the successfulness of functional requirements. Therefore, ones need a tool that supports
the risk analysis for an “ensemble” of requirements and simulation of risk (or at least risk
likelihood) evaluation dynamic propagation.</p>
    </sec>
    <sec id="sec-3">
      <title>3. The technique description</title>
      <p>In software requirement engineering, one distinguishes two types of requirements. Functional
requirements explain how the system must work. In contrast, non-functional requirements describe
how the system should perform and are usually defined following ISO/IEC 25010 quality model.
The quality characteristics of AI/ML-based systems are an extension of the ISO/IEC 25010 quality
characteristics. For example, in [12], the authors described 11 additional features (Table 1).</p>
      <p>Description
The goal of interpretability is to describe the internals of a
system in a way that is understandable to humans.</p>
      <p>Transparency, accountability, responsibility, and predictability
as a subset of transparency are the main principles of AI ethics.</p>
      <p>The size of input data, the number of variables.</p>
      <p>Limited input information.</p>
      <p>Safety in terms of avoiding harm from unwanted outcomes.</p>
      <p>The effectiveness of algorithms while being tested on new
independent datasets.</p>
      <p>Number of adjustable features (dimensionality of space).</p>
      <p>Ability to produce outcomes with a minimum amount of waste.
(1) anti-classification, (2) classification parity, and (3)
calibration.</p>
      <p>How small changes to its inputs perturb AI/ML.</p>
      <p>The predictive power of an AI/ML model decreases over time.</p>
      <p>It should be noted that the additional quality characteristics are characteristics of the “component”
and not the “system” level. The quality model of ISO/IEC 25010 determines which quality
characteristics will be considered when evaluating a software product's properties. The quality
characteristics of AI/ML determine which quality characteristics will be considered when
evaluating a software product's functionality because they affect the quality of results in different
scenarios. Thus, the first point for the assessment technique is to consider the dependencies
between requirements in risk assessment.</p>
      <p>In addition, the AI/ML component introduces an additional complicating factor: a dependence
of the component's behavior on data, which makes its behavior non-deterministic. This causes a
strong dependence on requirements risks in software design decisions. Therefore, the second
requirement for the estimation technique is to consider the degree of the requirement’s support by
the chosen design solutions.</p>
      <p>The proposed technique consists of two phases: requirement modeling and risk assessment.
Let us describe the sequence of the steps for the first phase.</p>
      <p>1. Establish the logical dependencies between requirements. For the analyzed requirement, all
functional and non-functional requirements-preconditions are identified. Next, for all identified
requirements, precondition requirements are identified. The procedure is repeated until the
requirements-preconditions are added.
tree.</p>
      <p>2. Model the resulting set of requirements and the dependencies between them in the form of a
3. Determine the union operations at the vertices of the bushes of the constructed tree:
3.a. If the bush combines only non-functional requirements, then define the union type as “+”
and set the weight coefficients for all arcs emerging from the root of the bush so that the sum is 1.
3.b. Otherwise, define the union type as “*”.</p>
      <p>This procedure should be performed during the requirements analysis phase. Requirements
modeling allows one to understand the requirements content and their importance better.</p>
      <p>The risk assessment procedure is performed after the design solutions-candidate are selected.
The steps sequence is following:</p>
      <p>1. Estimate the level of satisfaction with the requirement when using the selected design
solution for every leaf of the requirements tree. We recommend using a scale from 1 to 5, where
1 represents the achievement of some result, and 5 represents the achievement of the best result.
2. Perform a convolution of estimates, moving the tree from bottom to top.</p>
      <p>2.a. For the “+” vertex, calculate the weighted sum of the estimates of the vertices connected
with it.</p>
      <p>2.b. For the “*” vertex, calculate the product of the estimates of the vertices connected with it.
3. The risk factor of the analyzed requirement is calculated as

= 1 −</p>
      <p>.</p>
      <p />
      <p>Esttree is the calculated convolution of estimates, and Estmax is the maximum possible estimate.</p>
      <p>The value of the risk factor is in the range from 0 to 1, where 0 corresponds to the absence of
risk, and 1 corresponds to a situation of complete uncertainty. The decision maker can define
thresholds to distinguish between low, moderate, and high risk.</p>
      <p>Now let us demonstrate this methodology application by the example.</p>
    </sec>
    <sec id="sec-4">
      <title>4. Case study and discussion</title>
      <p>Consider a case study of the recommender system (RS), which guides a user in a personalized way
to interesting or valuable objects in a large space of possible options or that produces such objects
as output [13]. Therefore, the core service of RS is recommendation generation for a particular
user.</p>
      <p>Any RS needs access to user and item data on which to base recommendations. User data
usually are stored in the RS’s data storage. Item data can be stored in its data storage or obtained
from external sources through APIs. Anyway, the raw data should be processed before being used
by an RS. Some RS also need algorithm-specific parameters to perform recommendations well,
e.g., a threshold or the depth of a tree. The common data flow in RS is shown in Figure 1.
(1)
As we can see, the functional requirement “Provide recommendations” success depends on data
processing and respective non-functional requirements (Figure 2):
●
●
●
●
●
●</p>
      <p>Scalability-01: the ability to provide good quality and timely recommendations
regardless of the size of the users’ dataset
Scalability-02: the ability to provide good quality and timely recommendations
regardless of the size of the items’ dataset
Stability-01: the ability to timely react to changes in user preferences
Stability-02: the ability to timely react to changes in item availability
Ethics of data: equality of users</p>
      <p>Robustness: recommendation quality for new users
The knowledge about dependencies becomes the base for decision tree building. For example, in
Figure 3, the requirements tree for the requirement “Provide recommendations” is drawn.
While designing the software architecture, there were decided:
●
●
●
●
●</p>
      <p>For Scalability-01, all the logic is embedded on the client side, which may take 100 ms
to provide recommendations, regardless of the number of users (estimate 5).</p>
      <p>For Scalability-02, all the logic is realized on the server side, which might require 10
ms to recommend one user and 10 secs to recommend 1000 users (estimate 1).
For Stability-0x, do not provide additional support, which causes the lag in reaction to
changes (estimate 3).</p>
      <p>For Ethics of data, do not provide additional support because none of the sensitive
features are presented in the datasets (estimate 5).</p>
      <p>For Robustness, realize the feedback loop for the first recommendation for the new
user to adapt her descriptors (estimate 4).</p>
      <p>This set of design solutions caused a risk factor of 0.872, which responded to the high level of
risk. Therefore, the designer should examine her solutions, especially concerning the risk
acceptance for non-functional requirements. For example, if there were provided tactics for
Scalability-02, which gives the estimate 5, the risk factor would be 0.36, responding to the low
level of risk.</p>
      <p>As we can see, the technique assesses the risk associated with a particular functional
requirement considering the dependencies between the other functional and non-functional
requirements. This assessment depends on the design tactics in realizing the requirements set. The
decision-making groups (e.g., product managers and software architects) can use the proposed
technique for analyzing the different combinations of tactics for program realization.</p>
    </sec>
    <sec id="sec-5">
      <title>5. Conclusion</title>
      <p>The high dependency on AI/ML-based system behavior from data significantly complicates or
makes it impossible to apply most risk assessment techniques. In software engineering, the
behavior of a system and its components is assumed to be deterministic. Therefore, we can
evaluate the risks associated with each system requirement and the risks associated with each
design solution. Still, design solutions cannot affect the risk assessment.</p>
      <p>The additional non-functional requirements specific to AI/ML components have no
independent value for the user of the system. However, they have an impact and should be
considered in risk assessment system requirements. At the same time, their implementation
depends entirely on the available data and the selected algorithms and techniques. Therefore, their
risks can only be assessed by considering specific design solutions.</p>
      <p>The paper considers an approach that allows assessing the risks associated with functional
requirements, considering the dependencies between the requirements and the properties of the
adopted design decisions. The technique is helpful in risk analysis of individual functional
requirements.</p>
      <p>It is known that software design always leads to trade-offs founding both between requirements
and between design tactics. Therefore, the following research step covers modifying the proposed
technique to assess the risks of several requirements with accounting for the necessary trade-offs.
[10] O.T.Arogundade, S.Misra, O.O.Abayomi-Alli, L.Fernandez-Sanz, Enhancing Misuse Cases
With Risk Assessment for Safety Requirements, IEEE Access 8, 2020, pp. 12001–12014.</p>
      <p>DOI:10.1109/ACCESS.2019.2963673
[11] D.Muñante, A.Perini, F.M.Kifetew, A.Susi, Combining risk and variability modelling for
requirements analysis in SAS engineering, in: 2021 IEEE 29th International Requirements
Engineering Conference, 2021, pp. 396–401. DOI:10.1109/RE51729.2021.00044
[12] E.Nascimento, A.Nguyen Duc, I.Sundbø, T.Conte, Software engineering for artificial
intelligence and machine learning software: A systematic literature review, 2020.</p>
      <p>DOI: 10.48550/arXiv.2011.03751
[13] A.Felfernig, R.Burke, M.Goeker, Recommender systems: An overview, AI Magazine, 32(3),
2011, pp. 13–18. DOI:10.1609/aimag.v32i3.2361</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>S.</given-names>
            <surname>Martínez-Fernández</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Bogner</surname>
          </string-name>
          ,
          <string-name>
            <given-names>X.</given-names>
            <surname>Franch</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Oriol</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Siebert</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Trendowicz</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.M.</given-names>
            <surname>Vollmer</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Wagner</surname>
          </string-name>
          ,
          <article-title>Software Engineering for AI/ML-Based Systems: A Survey</article-title>
          ,
          <source>ACM Trans. Softw. Eng. Methodol</source>
          ,
          <volume>31</volume>
          (
          <issue>2</issue>
          ), article 37e.,
          <year>2022</year>
          . DOI:
          <volume>10</volume>
          .48550/arXiv.2105.01984
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>Y.</given-names>
            <surname>Nishi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Masuda</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Ogawa</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Uetsuki</surname>
          </string-name>
          ,
          <article-title>A Test Architecture for Machine Learning Product</article-title>
          , in: 2018
          <source>IEEE International Conference on Software Testing, Verification and Validation Workshops (ICSTW)</source>
          ,
          <year>2018</year>
          , pp.
          <fpage>273</fpage>
          -
          <lpage>278</lpage>
          , DOI:10.1109/ICSTW.
          <year>2018</year>
          .00060
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>X.</given-names>
            <surname>Li</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Q.</given-names>
            <surname>Liu</surname>
          </string-name>
          ,
          <article-title>Requirement Risk Assessment Focused-On Stakeholder Risk Analysis</article-title>
          ,
          <source>in: 2009 33rd Annual IEEE International Computer Software and Applications Conference</source>
          ,
          <year>2009</year>
          , pp.
          <fpage>640</fpage>
          -
          <lpage>641</lpage>
          . DOI:
          <volume>10</volume>
          .1109/COMPSAC.
          <year>2009</year>
          .199
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>Z.S.</given-names>
            <surname>Shaukat</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Naseemt</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Zubair</surname>
          </string-name>
          ,
          <article-title>A Dataset for Software Requirements Risk Prediction</article-title>
          , in: 2018
          <source>IEEE International Conference on Computational Science and Engineering (CSE)</source>
          ,
          <year>2018</year>
          , pp.
          <fpage>112</fpage>
          -
          <lpage>118</lpage>
          . DOI:
          <volume>10</volume>
          .1109/CSE.
          <year>2018</year>
          .00022
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>P.</given-names>
            <surname>Chandani</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Gupta</surname>
          </string-name>
          ,
          <article-title>Requirement Risk Prioritization Using Analytic Hierarchy Process: A Gateway to Identify Risky Requirements</article-title>
          , in: 2018
          <source>Eleventh International Conference on Contemporary Computing (IC3)</source>
          ,
          <year>2018</year>
          , pp.
          <fpage>1</fpage>
          -
          <lpage>6</lpage>
          . DOI:
          <volume>10</volume>
          .1109/IC3.
          <year>2018</year>
          .8530569
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>V.</given-names>
            <surname>Liubchenko</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Komleva</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Zinovatna</surname>
          </string-name>
          ,
          <article-title>Hierarchical evaluation methodology for software requirements prioritization</article-title>
          , in: VIII International Scientific Conference “
          <article-title>Information Technology and Implementation" (IT&amp;I-</article-title>
          <year>2021</year>
          ),
          <source>CEUR Workshop Proceedings 3132</source>
          ,
          <year>2022</year>
          , pp.
          <fpage>73</fpage>
          -
          <lpage>82</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>C.</given-names>
            <surname>Gupta</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Gupta</surname>
          </string-name>
          ,
          <article-title>Requirements Risk Estimation Using TOPSIS Method</article-title>
          ,
          <source>in: 2020 27th Asia-Pacific Software Engineering Conference (APSEC)</source>
          ,
          <year>2020</year>
          , pp.
          <fpage>505</fpage>
          -
          <lpage>506</lpage>
          . DOI:
          <volume>10</volume>
          .1109/APSEC51365.
          <year>2020</year>
          .00065
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>R.A.</given-names>
            <surname>Gandhi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.-W.</given-names>
            <surname>Lee</surname>
          </string-name>
          ,
          <article-title>Visual Analytics for Requirements-driven Risk Assessment</article-title>
          , in: Second International Workshop on Requirements Engineering Visualization (REV
          <year>2007</year>
          ),
          <year>2007</year>
          , pp.
          <fpage>6</fpage>
          -
          <lpage>7</lpage>
          . DOI:
          <volume>10</volume>
          .1109/REV.
          <year>2007</year>
          .6
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>M.</given-names>
            <surname>Towhidnejad</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.R.</given-names>
            <surname>Wallace</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.M.</given-names>
            <surname>Gallo</surname>
          </string-name>
          ,
          <article-title>Fault tree analysis for software design</article-title>
          ,
          <source>in: 27th Annual NASA Goddard/IEEE Software Engineering Workshop</source>
          ,
          <year>2002</year>
          , pp.
          <fpage>24</fpage>
          -
          <lpage>29</lpage>
          . DOI:
          <volume>10</volume>
          .1109/SEW.
          <year>2002</year>
          .1199446
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>