<!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>with Feature Models</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Sebastian Lubos</string-name>
          <email>slubos@ist.tugraz.at</email>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Alexander Felfernig</string-name>
          <email>alexander.felfernig@ist.tugraz.at</email>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Viet-Man Le</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>ConfWS'23: 25th International Workshop on Configuration</institution>
          ,
          <addr-line>Sep 6-7</addr-line>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Feature Models</institution>
          ,
          <addr-line>Configuration, Interactive Video, Personalized Video, Video Summarizing</addr-line>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>Graz University of Technology</institution>
          ,
          <addr-line>Graz</addr-line>
          ,
          <country country="AT">Austria</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>Personalization of products is a popular aspect in various application domains, including videos. Enabling users to consume personalized learning videos that include only individually relevant content has the potential to deliver additional benefits in e-learning, for example, by making learning more eficient. In this paper, we present a practical approach to define configurable videos based on feature models, as well as an integrated solution to derive personalized videos by respecting given constraints. Additionally, the possibility to extend the configuration with interactive video elements is described to enable an improved user experience.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
      <sec id="sec-1-1">
        <title>Configuration of software, services, and products fulfill</title>
        <p>
          ing individual needs has been a popular topic of research
in recent years [
          <xref ref-type="bibr" rid="ref1 ref2">1, 2</xref>
          ]. Feature models [
          <xref ref-type="bibr" rid="ref3">3</xref>
          ] have thereby
lenges in a variety of domains [
          <xref ref-type="bibr" rid="ref4">4</xref>
          ], including videos [5].
        </p>
      </sec>
      <sec id="sec-1-2">
        <title>The possibility to create personalized videos ofers huge potential, especially in the domains of knowledge transfer and e-learning where videos are consumed to increase know-how or study new topics.</title>
      </sec>
      <sec id="sec-1-3">
        <title>A challenge in this area is the availability of difer</title>
        <p>ent learning videos on video platforms, for example,
YouTube1, covering various topics, explained to
consumers with individual pre-knowledge. The large variety
of options and poor possibilities to determine if videos
are relevant before consumption make it complicated
for users to find adequate videos [ 6]. Efective learning
At the same time, they reduce learning time by excluding
unrelated or already known information [5].</p>
        <p>The usage of natural language queries to retrieve video
summaries [7], and more recently the integration of
chatbots to query and interact with videos2, have been
published as a possibility to support users. While those
approaches work well if users are able to specify what they
are searching for, a knowledge-based configuration of
videos [5] has been presented as a possibility to mitigate
nEvelop-O
https://www.youtube.com</p>
      </sec>
      <sec id="sec-1-4">
        <title>2e.g., https://www.ortusbuddy.ai/</title>
        <p>this weakness, by giving the user more assistance. User
requirements are collected and used in a Constraint
Satisfaction Problem (CSP) to determine a video fulfilling the
user requirements.</p>
      </sec>
      <sec id="sec-1-5">
        <title>Based on the findings in [ 5], we demonstrate a flexible</title>
        <p>ized video using the Choco solver3.
show an example instantiation that provides a
personal</p>
        <p>Previous work in the synthetic creation of videos has
applied video processing techniques to change the visual
content to generate artwork variants using variability
management techniques [8], and to generate multiple
video variants for algorithm test samples [9, 10, 11]. In
our approach, we preserve the video content of existing
videos and parts of videos while enhancing user
experience by transforming it into a well-organized structure.
This extends the work of an online video generator
taking an initial selection of video clips as seed to create
requirements and more complex constraints.</p>
      </sec>
      <sec id="sec-1-6">
        <title>The major contributions of the paper are the following.</title>
        <p>We extend our previous work on the problem definition
of configurable videos [ 5], by demonstrating a
practical implementation. A reusable and adaptable approach
to defining the structure of configurable videos using
feature model technologies is presented, including the
integration of a solver to generate personalized videos
with respect to specified user requirements. Furthermore,
we explain how the solution can be extended to integrate
decision points with interactive video elements [13] for
an improved individual user experience.</p>
      </sec>
      <sec id="sec-1-7">
        <title>The remainder of this paper is organized as follows.</title>
      </sec>
      <sec id="sec-1-8">
        <title>Our approach to specifying a configurable video is ex</title>
        <p>plained in Section 2. In Section 3, we present an example
CEUR
Workshop
Proce dings
htp:/ceur-ws.org
ISN1613-073</p>
        <p>CEUR</p>
        <p>Workshop Proceedings (CEUR-WS.org)
resulting video. In Section 4, the reusability and
limita</p>
        <p>Developing feature models is a complex task for persons
not experienced with the notation and technologies. In
order to ease the problem definition, we enable users
to define the structure of configurable videos using the
JSON notation provided in [14]. The JSON format is
heavily used in diferent applications, and many software
developers have experience with it. For this reason, we
expect that it will ease the future implementation of a
GUI-based editor for configurable videos, such that they
can be configured by everyday users.</p>
        <p>Within this paper, we use the configuration of a
learning video explaining the transformer model in machine
learning [15] as a running example. A transformer model
is a type of deep learning architecture designed to
process sequential data, such as text or speech, by leveraging
self-attention mechanisms. It is a popular and powerful
model for a variety of natural language processing (NLP)
applications, including, machine translation, language
understanding, and text generation.</p>
        <p>
          For our example, we use videos from the Hugging Face
tutorial on NLP4 hosted on YouTube. Using those tutorial
videos, we designed a configurable video with the
structure presented as feature model [
          <xref ref-type="bibr" rid="ref3">3</xref>
          ] in Figure 1. Leaves
of the model refer to single video segments and parent
features define the category. Video segments are
interpreted as the property values of the configured video.
        </p>
        <p>Following the structure, we see that each video includes
at least an explanation of the individual components of
the transformer model (encoder and decoder ), followed
tion of this approach are discussed. Finally, open research by an explanation of the overall model. Examples of each
issues are discussed in Section 5 before the paper is con- part can be included optionally, as well as a digression
cluded with Section 6. on the carbon footprint of transformer models.</p>
        <p>Using the formatting described in [14] the feature
model can be described in a JSON format using a
straight2. Specification of Configurable forward approach. The nested JSON structure enables the
Videos user to define the model following a top-down approach,
where for each node, an id, the type (mandatory, optional,
root), child nodes as well as sibling-relation (alternative,
or) can be defined. Furthermore, exclusions and required
properties can be specified using their id. Following the
algorithms described in [14], the JSON structure can be
translated into a valid feature model. In Figure 2, a part
of the configuration is shown as an example.</p>
        <p>In addition to this generic approach to describing the
structure of the configurable video, information on the
included video segments is required. More specifically,
an URL where the video is available is needed.
Additionally, the duration of the segments in seconds is required
to define constraints for the overall duration of the
generated video. This is also defined using a JSON structure,
where each key references an id of the model described
as JSON. An example is shown in Figure 3.</p>
        <p>The definition of the configured video is then used to
instantiate a model for the CSP. We used PyCSP35 for
this purpose, which is a Python framework, to describe
models for CSPs in a declarative manner. It includes the
possibility to choose between the solver of ACE (AbsCon
Essence)6 and Choco. The generic code to use provided
JSON files for the instantiation of the configurable video,
as well as the complete example, are available in our
repository7.</p>
        <p>Besides the description of a configurable video, user
requirements need to be collected in order to
personalize the video. While diferent possibilities, including the
assessment of pre-knowledge, are possible, we restrict
4https://huggingface.co/learn/nlp-course
5http://pycsp.org
6https://github.com/xcsp3team/ace
7https://github.com/slubos/specifying-configurable-videos
{
”id”:”TransformerVideo”,
”type”:”root”,
”parent”:””,
”relation”:””,
”requires”:[],
”excludes”:[],
”children”:[
{
”id”:”Encoder”,
”type”:”mandatory”,
”parent”:”TransformerVideo”,
”relation”:””,
”requires”:[],
”excludes”:[],
”children”:[
{
”id”:”EncoderExplanation”,
”type”:”mandatory”,
”parent”:”Encoder”,
”relation”:””,
”requires”:[],
”excludes”:[],
”children”:[
{
”id”:”EncoderExplanationShort”,
”type”:”optional”,
”parent”:”EncoderExplanation”,
”relation”:”alternative”,
”requires”:[],
”excludes”:[],
”children”:[]
}
those to the maximum video duration for our example,
assuming that the video is suitable for a beginner level.</p>
        <p>Especially in preparation for exams, students often
follow the utility maximization problem [16], and try to
learn as much as possible in a limited amount of time. To
capture this requirement, the maximum acceptable video
duration of a user is collected and translated to a
maximum duration constraint. The duration is determined by
summing the duration of each included video segment.</p>
        <p>The personalized video is then generated following the
configuration task described in [5], consisting of a feature
{
}
”EncoderExplanationShort”: {
”url”: ”https://youtu.be/H39Z...”,
”duration”: 45
},
”EncoderExplanationLong”: {
”url”: ”https://youtu.be/MUqN...”,
”duration”: 141
},
...
model and a defined set of user requirements [ 17]. The
solution of this task is a configuration , i.e., an assignment
of variables in the CSP, such that the constraints of the
model and user requirements are fulfilled [ 5].</p>
        <p>In our presented approach, the variables  state which
of the individual video segments are included in the
configured video. The respective variable domain is
{true, false}, describing the inclusion or exclusion of a
video segment. Nodes of the feature model described in
the JSON file are defined as variables. Furthermore, for
all video segments, a variable describing the duration
is defined within the domain {0, videoduration}, where
videoduration is the length of the video in seconds
deifned in the JSON file. Using a constraint, the value of
this variable is restricted to 0 or the defined videoduration
depending on the inclusion of the segment in the
conifgured video. Further knowledge base constraints are
directly derived from the feature model described as JSON
ifle, following the algorithms described in [ 14].</p>
      </sec>
    </sec>
    <sec id="sec-2">
      <title>3. Video Configuration Results</title>
      <p>A configured video can be interpreted as a simple playlist,
i.e., the included video segments will be played in an
ordered fashion. Table 1 shows an example of the minimal
and maximal video configuration in terms of video
duration of the transformer model example. Depending
on the maximum acceptable video duration of the user,
diferent video segments are included or excluded.</p>
      <p>Since multiple versions can be the result of a
configuration task, the user has the choice to select one of the
options. Considering, for example, 250 as the maximum
acceptable duration, 15 configurations have been found.
To enable the choice, the total duration could be shown,
such that the user can select if they want to use most
of their available time or not. Alternatively, a further
explanation alternative might describe the content in
a contrastive way, for example, video A contains more
detailed explanations, while video B has more examples.
Min.</p>
      <sec id="sec-2-1">
        <title>Config</title>
        <p>Max.</p>
      </sec>
      <sec id="sec-2-2">
        <title>Config</title>
      </sec>
      <sec id="sec-2-3">
        <title>Encoder</title>
      </sec>
      <sec id="sec-2-4">
        <title>Explanation</title>
      </sec>
      <sec id="sec-2-5">
        <title>Short Long Example Ex. 1 Ex. 2 X</title>
        <p>A more advanced solution is based on interactive videos rather simple and the number of variables is manageable.
which ofer an extension to classical videos by ofering Yet, we leave this experiment open for future work.
several interactivity features [13]. This approach is used To simplify the process of specifying configurable
to enable the user during the video consumption if parts videos, a GUI-based editor could be used instead of
reof the video should be included, as long as they still fulfill lying on the video creator’s knowledge of JSON files
the duration requirement. In terms of alternative videos, and feature models. The editor would allow the user
this means a choice is presented which path is followed. to add videos by pasting links, then organize them into
After each choice, the selection is included as a constraint, categories using a drag-and-drop approach. Constraints
and new paths are configured on the fly. For ”or” video within categories could be specified using diferent group
segments, the user can have the option to choose one or types, indicating whether they are alternatives or
mulboth. In the case of optional segments, the user is asked tiple options to include. Additionally, the video creator
if they want to watch it. could designate videos as mandatory or optional.
Cross</p>
        <p>Figure 4 sketches the possible path flow including the tree constraints could be added additionally to specify the
decision points for the transformer video example de- requirement of videos from other categories. We expect
scribed with the feature model in Figure 1, given the this user-friendly approach to be easily understandable,
example requirement of 250 as the maximum accept- eliminating the need for understanding feature models.
able duration. Decision points in the workflow diagram The translation of the GUI input to JSON is handled by
are shown with the diamond symbol. For an interac- the application.
tive video, this can be implemented as a question, with
choices shown by the outgoing arrows, labeled with their
description. The rectangle with rounded corners indi- 5. Open Issues for Future Work
cates which video is played. A circle indicates the start,
while a double-edged circle represents the end.</p>
        <p>Each time a user takes a decision, the value is added
as a constraint to the CSP, such that the remaining paths
and options are computed dynamically while the user is
consuming the video.</p>
        <p>One topic for future work is the implementation of the
interactive video approach described in this paper.
Frameworks for this purpose, e.g., FrameTrail8 or H5P9, ofer
the possibility to define the interactive elements and use
them for playout. As we expect that this kind of video
consumption improves learning efectiveness,
conducting a user study to examine this assumption is planned.
4. Discussion A between-subject study could be conducted, where one
group uses interactive videos, while the other views
This paper presents a reusable approach for creating con- the complete video without interaction. Questionnaires
ifgurable videos adaptable to any topic. It requires the about the video topic immediately after the video and
availability of manually structured videos by the creator, after a few weeks could be used to analyze the
shortand the specification of video sources must be updated ac- and long-term learning efectiveness of the interactive
cordingly (see Figure 3). While YouTube videos were used approach.
as an example, any video source could be utilized. The Further topics include the support of users in the
defivideo creator is responsible for adapting the model for the nition of configurable videos. While our approach ofers
configurable video to represent their desired structure the possibility to describe the structure of those, it is still
and constraints (see Figure 2). This approach is versatile a lot of manual annotation work to describe the video,
and can represent any video structure, also including
more videos and constraints. We expect the approach to 8https://frametrail.org
scale well for more complex videos, as the constraints are 9https://h5p.org/
for this purpose, options to automatize parts of this work
should be considered. This includes the automated
indexing of video content to ease recognition of what is
included [18, 19], as well as their semantic
segmentation defining the individual video segments that can be
included ([20, 21]). Also, the possible inclusion of
recommendation technologies [22, 23] to support the definition
of those videos, e.g., by recommending which options
could further be included.</p>
        <p>Finally, the inclusion of diagnoses [24, 25] should be
considered to relax situations where no solution can be
found for given user requirements. Those can help to
ifnd a configuration that takes into account as much as
possible of the original user requirements.</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>6. Conclusions</title>
      <p>With this paper, we present an initial implementation to
define and generate personalized videos using feature
models. Using an easy-to-use JSON notation, a solution
was presented that is able to add additional benefit to
knowledge transfer with videos by reusing already
existing material. Following a practical example learning
video, we showed how the approach can be used, and
further extended to enable its usage with interactive videos,
which is part of our future work.</p>
    </sec>
    <sec id="sec-4">
      <title>Acknowledgments</title>
      <p>The presented work has been developed within the
research project Streamdiver which is funded by the
Austrian Research Promotion Agency (FFG) under the project
number 886205.
org/10.1145/3109729.3109748. doi:10.1145/3109729. tor, in: Proceedings of the Ninth International
3109748. Workshop on Variability Modelling of
Software[5] S. Lubos, M. Tautschnig, A. Felfernig, V.-M. Le, Intensive Systems, VaMoS ’15, Association for
Knowledge-based configuration of videos using fea- Computing Machinery, New York, NY, USA, 2015,
ture models, in: Proceedings of the 26th ACM p. 96–102. URL: https://doi.org/10.1145/2701319.
International Systems and Software Product Line 2701328. doi:10.1145/2701319.2701328.
Conference - Volume B, SPLC ’22, Association for [13] A. Palaigeorgiou, George and Papadopoulou,
Computing Machinery, New York, NY, USA, 2022, I. Kazanidis, Interactive video for learning: A
p. 188–192. URL: https://doi.org/10.1145/3503229. review of interaction types, commercial platforms,
3547052. doi:10.1145/3503229.3547052. and design guidelines, in: M. Tsitouridou, J. A.
Di[6] A. Imran, F. Alaya Cheikh, S. Kowalski, Automatic niz, T. A. Mikropoulos (Eds.), Technology and
annotation of lecture videos for multimedia driven Innovation in Learning, Teaching and Education,
pedagogical platforms, Knowledge Management Springer International Publishing, Cham, 2019, pp.
and E-Learning 7 (2015). 503–518.
[7] M. Vahedi, M. M. Rahman, F. Khomh, G. Uddin, [14] H. Shatnawi, H. C. Cunningham, Encoding
G. Antoniol, Summarizing relevant parts from tech- feature models using mainstream json
technolonical videos, in: 2021 IEEE International Confer- gies, in: Proceedings of the 2021 ACM
Southence on Software Analysis, Evolution and Reengi- east Conference, ACM SE ’21, Association for
neering (SANER), 2021, pp. 434–445. doi:10.1109/ Computing Machinery, New York, NY, USA, 2021,
SANER50967.2021.00047. p. 146–153. URL: https://doi.org/10.1145/3409334.
[8] J. Martinez, G. Rossi, T. Ziadi, T. F. D. A. Bissyandé, 3452048. doi:10.1145/3409334.3452048.</p>
      <p>J. Klein, Y. Le Traon, Estimating and predicting [15] A. Vaswani, N. Shazeer, N. Parmar, J. Uszkoreit,
average likability on computer-generated artwork L. Jones, A. N. Gomez, Ł. Kaiser, I. Polosukhin,
Atvariants, in: Proceedings of the Companion Publi- tention is all you need, Advances in neural
inforcation of the 2015 Annual Conference on Genetic mation processing systems 30 (2017).
and Evolutionary Computation, GECCO Compan- [16] A. Mas-Colell, M. D. Whinston, J. R. Green, et al.,
ion ’15, Association for Computing Machinery, New The Utility Maximization Problem, volume 1,
OxYork, NY, USA, 2015, p. 1431–1432. URL: https://doi. ford university press New York, 1995.
org/10.1145/2739482.2764681. doi:10.1145/2739482. [17] L. Hotz, A. Felfernig, M. Stumptner, A. Ryabokon,
2764681. C. Bagley, K. Wolter, Configuration Knowledge
[9] M. Acher, M. Alférez, J. A. Galindo, P. Romenteau, Representation and Reasoning, 1 ed., Elsevier B.V.,
B. Baudry, Vivid: A variability-based tool for syn- Netherlands, 2014, pp. 41–72.
thesizing video sequences, in: Proceedings of the [18] Y. Deldjoo, Enhancing Video Recommendation
Us18th International Software Product Line Confer- ing Multimedia Content, Springer International
ence: Companion Volume for Workshops, Demon- Publishing, Cham, 2020, pp. 77–89. URL: https://
strations and Tools - Volume 2, SPLC ’14, Asso- doi.org/10.1007/978-3-030-32094-2_6. doi:10.1007/
ciation for Computing Machinery, New York, NY, 978- 3- 030- 32094- 2_6.</p>
      <p>USA, 2014, p. 143–147. URL: https://doi.org/10.1145/ [19] M. Elahi, F. Bakhshandegan Moghaddam, R.
Hos2647908.2655981. doi:10.1145/2647908.2655981. seini, M. H. Rimaz, N. El Ioini, M. Tkalcic,
[10] J. A. Galindo, M. Alférez, M. Acher, B. Baudry, D. Be- C. Trattner, T. Tillo, Recommending Videos in
navides, A variability-based testing approach for Cold Start With Automatic Visual Tags,
Associsynthesizing video sequences, in: Proceedings ation for Computing Machinery, New York, NY,
of the 2014 International Symposium on Software USA, 2021, p. 54–60. URL: https://doi.org/10.1145/
Testing and Analysis, ISSTA 2014, Association for 3450614.3461687.</p>
      <p>Computing Machinery, New York, NY, USA, 2014, [20] T. Tuna, M. Joshi, V. Varghese, R. Deshpande,
p. 293–303. URL: https://doi.org/10.1145/2610384. J. Subhlok, R. Verma, Topic based segmentation
2610411. doi:10.1145/2610384.2610411. of classroom videos, in: 2015 IEEE Frontiers in
[11] M. Alférez, M. Acher, J. A. Galindo, B. Baudry, Education Conference (FIE), 2015, pp. 1–9. doi:10.</p>
      <p>D. Benavides, Modeling variability in the video 1109/FIE.2015.7344336.
domain: Language and experience report, Soft- [21] P. A. Co, W. R. Dacuyan, J. G. Kandt, S.-C.
ware Quality Journal 27 (2019) 307–347. URL: https: Cheng, C. L. Sta. Romana, Automatic
topic//doi.org/10.1007/s11219-017-9400-8. doi:10.1007/ based lecture video segmentation, in:
Innos11219- 017- 9400- 8. vative Technologies and Learning: 5th
Interna[12] G. Bécan, M. Acher, J.-M. Jézéquel, T. Menguy, On tional Conference, ICITL 2022, Virtual Event,
Authe variability secrets of an online video genera- gust 29–31, 2022, Proceedings, Springer-Verlag,</p>
      <sec id="sec-4-1">
        <title>Berlin, Heidelberg, 2022, p. 33–42. URL: https://</title>
        <p>doi.org/10.1007/978-3-031-15273-3_4. doi:1 0 . 1 0 0 7 /
9 7 8 - 3 - 0 3 1 - 1 5 2 7 3 - 3 _ 4 .
[22] A. Falkner, A. Felfernig, A. Haag,
Recommendation Technologies for Configurable Products, AI
Magazine 32 (2011) 99–108.
[23] A. Felfernig, V.-M. Le, A. Popescu, M. Uta, T. N. T.</p>
        <p>Tran, M. Atas, An overview of recommender
systems and machine learning in feature
modeling and configuration, in: 15th International
Working Conference on Variability Modelling of
Software-Intensive Systems, VaMoS’21,
Association for Computing Machinery, New York, NY, USA,
2021. URL: https://doi.org/10.1145/3442391.3442408.
doi:1 0 . 1 1 4 5 / 3 4 4 2 3 9 1 . 3 4 4 2 4 0 8 .
[24] A. Felfernig, M. Schubert, C. Zehentner, An eficient
diagnosis algorithm for inconsistent constraint sets,
AI for Engineering Design, Analysis, and
Manufacturing (AIEDAM) 26 (2012) 53–62.
[25] A. Felfernig, R. Walter, J. Galindo, D. Benavides,
M. Atas, S. Polat-Erdeniz, S. Reiterer, Anytime
Diagnosis for Reconfiguration, Journal of Intelligent
Information Systems 51 (2018) 161–182.</p>
      </sec>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>A.</given-names>
            <surname>Felfernig</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Hotz</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Bagley</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Tiihonen</surname>
          </string-name>
          ,
          <article-title>Knowledge-based Configuration -</article-title>
          From Research to Business Cases, Elsevier,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>D.</given-names>
            <surname>Sabin</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Weigel</surname>
          </string-name>
          ,
          <article-title>Product configuration frameworks - a survey</article-title>
          ,
          <source>IEEE Intelligent Systems</source>
          <volume>13</volume>
          (
          <year>1998</year>
          )
          <fpage>42</fpage>
          -
          <lpage>49</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>K.</given-names>
            <surname>Kang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Cohen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Hess</surname>
          </string-name>
          ,
          <string-name>
            <given-names>W.</given-names>
            <surname>Novak</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Peterson</surname>
          </string-name>
          ,
          <string-name>
            <surname>Feature-oriented Domain Analysis (FODA) - Feasibility</surname>
            <given-names>Study</given-names>
          </string-name>
          ,
          <string-name>
            <surname>TechnicalReport CMU - SEI-</surname>
          </string-name>
          90
          <string-name>
            <surname>-</surname>
          </string-name>
          TR-
          <volume>21</volume>
          (
          <year>1990</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>J.</given-names>
            <surname>Martinez</surname>
          </string-name>
          ,
          <string-name>
            <given-names>W. K. G.</given-names>
            <surname>Assunção</surname>
          </string-name>
          , T. Ziadi,
          <article-title>Espla: A catalog of extractive spl adoption case studies</article-title>
          ,
          <source>in: Proceedings of the 21st International Systems and Software Product Line Conference - Volume B, SPLC '17</source>
          ,
          <string-name>
            <surname>Association</surname>
          </string-name>
          for Computing Machinery, New York, NY, USA,
          <year>2017</year>
          , p.
          <fpage>38</fpage>
          -
          <lpage>41</lpage>
          . URL: https://doi.
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>