<!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>Validating Extended Feature Model Con gurations using Petri Nets</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Rakshit Mittal</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Dominique Blouin</string-name>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Soumyadip Bandyopadhyay</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>BITS Pilani, KK Birla Goa Campus</institution>
          ,
          <addr-line>Goa, 403726</addr-line>
          <country country="IN">India</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Hasso-Platner Institute</institution>
          ,
          <addr-line>Potsdam, 14482</addr-line>
          <country country="DE">Germany</country>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>Telecom Paris, Institut Polytechnique de Paris</institution>
          ,
          <addr-line>91120</addr-line>
          <country country="FR">France</country>
        </aff>
      </contrib-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>Today's systems are often highly con gurable requiring to model them as
product lines. For this, feature modeling has been developed to capture the
aspects of commonality and variability of systems, which are then represented as
con gurations of feature models. Validating such con gurations is therefore an
important topic. Yet, existing approaches have several limitations such as
scalability issues for large systems and system families and cannot handle the di erent
feature modeling language variants or extensions that have been proposed.</p>
      <p>We present our ongoing work on a novel approach to validate feature model
con gurations by translating them to Petri Nets. The approach can handle
extended models of extended feature modeling languages and proposes an
incremental validation scheme.</p>
      <p>We detail the major steps of our approach using a simple example Feature
Model depicted in Fig. 1(a). The example Feature Model has 8 features from
A to H, with A as the root feature. Other than the feature-relationships that
are apparent from the gure, there exists a cross-tree constraint (B =) C) and
a cardinality constraint h1; 3; A; Di. B; E are dead-features and D; H are
falseoptional.</p>
      <p>Transformation: The transformation from Feature Model to Petri net has
been developed to construct a constraint satisfaction problem from the
constraints of the feature model. Features are mapped to unique places and
featurerelations/constraints are mapped to unique transitions. The functions associated
with the out-going edges (in yellow) are the key take-away from this section.
These functions consist of a multiplication of two terms. The multiplier is a
Boolean condition (within []) type-cast to integer. The Boolean conditions, are
designed so that \when a transition is red, if the con guration does not satisfy
the constraint represented by the transition, the values of the tokens in all the
corresponding post-places are modi ed"4. The multiplicand has been designed to
preserve the cardinality of the feature and corresponding token. In a con
guration, for each feature, there is a token in the corresponding place with the same
corresponding value as the cardinality in the con guration.</p>
      <p>Validation: The veri cation of a feature con guration follows from the logic
used in de ning the functions associated with the output-arcs. To do so, all
Copyright © 2021 for this paper by its authors. Use permitted under Creative
Commons License Attribution 4.0 International (CC BY 4.0).
4 derivation methodology for the out-going function corresponding to each
featurerelation and constraint available at https://github.com/raks0009/FM2PN
corresponding transitions (constraints) are red (tested). If there is a change in
the marking of the Petri net, the particular transition ( ring which results in a
change in the marking) is associated with a constraint that is not satis ed by
the con guration. The transition is agged for the user to rectify. If the values
associated with all features in the con guration are compliant, the algorithm
terminates without any ags, and the con guration is validated.</p>
      <p>In the motivating example, the described approach tells the user that the
ring of transitions t3 and t7 results in a change in the marking. Transition t3
corresponds to the `AND-optional' feature relation between B and E. In the
con guration, E is selected but B is not, which is incorrect. Similarly, transition
t7 corresponds to the cardinality constraint between A and D which speci es
that for every instance of A there can be minimum 1 and maximum 3 instances
of D. A has the cardinality 1 and D has cardinality 4 in the con guration which
does not follow this constraint, hence the transition is agged.</p>
      <p>
        Advantages and Limitations: The proposed approach can handle validation
of feature con gurations that adhere to extensions of feature models, something
that is relatively unexplored in the literature [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. The model transformation
is also much more scalable than the Petri net based method described in [2].
Future work is aimed at formalizing, and implementing the approach. We are
also working on a staged con guration approach for incremental validation.
References
      </p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Benavides</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Segura</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ruiz-Cortes</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Automated analysis of feature models 20 years later: A literature review</article-title>
          .
          <source>Inf. Syst</source>
          .
          <volume>35</volume>
          (
          <issue>6</issue>
          ),
          <volume>615</volume>
          {636 (Sep
          <year>2010</year>
          )
          <article-title>2</article-title>
          .
          <string-name>
            <surname>Mennicke</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lochau</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Schroeter</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Winkelmann</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          :
          <article-title>Automated veri cation of feature model con guration processes based on work ow petri nets</article-title>
          .
          <source>SPLC '14</source>
          ,
          <string-name>
            <surname>Association</surname>
          </string-name>
          for Computing Machinery, New York, NY, USA (
          <year>2014</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>