<!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>
      <journal-title-group>
        <journal-title>Copying permitted for private
and academic purposes. This volume is published and copyrighted by its editors.
Local Proceedings also appeared in ISBN</journal-title>
      </journal-title-group>
    </journal-meta>
    <article-meta>
      <pub-date>
        <year>2015</year>
      </pub-date>
      <volume>97</volume>
      <fpage>8</fpage>
      <lpage>84</lpage>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>The 13th Intl Conf on Formal Concept Analysis
Formal Concept Analysis
and</p>
      <p>Applications
FCA&amp;A 2015</p>
      <p>Nerja (Malaga), Spain</p>
      <p>June 23{26, 2015
(an ICFCA workshop)</p>
    </sec>
    <sec id="sec-2">
      <title>Edited by Manuel Ojeda-Aciego Jaume Baixeries Christian Sacarea</title>
      <p>Proceedings of FCA&amp;A 2015 (co-located with ICFCA 2015)
c Manuel Ojeda-Aciego, Jaume Baixeries, Christian Sacarea, Editors
This work is subject to copyright. All rights reserved. Reproduction or
publication of this material, even partial, is allowed only with the authors' and editors'
permission.</p>
    </sec>
    <sec id="sec-3">
      <title>Technical Editor:</title>
      <p>Manuel Ojeda-Aciego, aciego@uma.es
Depth- rst Search for Pseudo-intents through Minimal Transversals : : : : :
Alexandre Bazin
Edit Operations on Lattices for MDL-based Pattern Summarization : : : : :
Keisuke Otaki and Akihiro Yamamoto
An Approach Towards Classifying and Navigating RDF data based on
Pattern Structures : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :
Mehwish Alam and Amedeo Napoli
Subdirect Decomposition of Contexts into Subdirectly Irreducible Factors
Jean-Francois Viaud, Karell Bertet, Christophe Demko, and Rokia
Missaoui
Context-Dependent Deductive and Inductive Reasoning Based on Good
Diagnostic Tests : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :
Xenia Naidenova and Vladimir Parkhomenko
Concept Lattices of RDF Graphs : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :
Jens Kotters
Variability representation in product lines using concept lattices:
feasibility study with descriptions from Wikipedia's product comparison
matrices : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :
Jessie Carbonnel, Marianne Huchard, and Alain Gutierrez
1
17
33
49
65
81
93
Formal Concept Analysis (FCA) is a mathematical eld rooted in lattice and
order theory which, although being of such a theoretical nature, has proved to
be of interest to various applied elds such as Knowledge Discovery and Data
Mining, Database Theory, Data Visualization, and many others.
The 13th International Conference on Formal Concept Analysis (ICFCA) took
place from the 23th to the 26th of June, 2015 in Nerja (Malaga), Spain, organized
by members of the Universidad de Malaga. The International Workshop on
Formal Concept Analysis and Applications (FCA&amp;A) was organized in conjunction
to ICFCA, and consisted of the seven works included in this volume.
Our deepest gratitude goes to all the authors of submitted papers, the Program
Committee members, and the external reviewers. Working with the e cient and
capable team of local organizers was a constant pleasure. We are deeply indebted
to all of them for making this conference a successful forum on FCA.
Last, but not least, we are most grateful to the organizations that sponsored
this event: the Universidad de Malaga, Andaluc a Tech (International Campus
of Excellence), the Patronato de Turismo de la Costa del Sol and the Area
de Turismo del Ayuntamiento de Nerja, all in Spain. Finally, we would like to
emphasize the great help of EasyChair for making the technical duties easier.
June 2015</p>
      <sec id="sec-3-1">
        <title>Depth-first Search for Pseudo-intents through</title>
      </sec>
      <sec id="sec-3-2">
        <title>Minimal Transversals</title>
        <p>Abstract. The enumeration of pseudo-intents is a long-standing
problem in which the order plays a major role. In this paper, we present new
algorithms that enumerate pseudo-intents in orders that do not
necessarily respect the inclusion relation. We show that, confirming established
results, this enumeration is equivalent to computing minimal transversals
in hypergraphs a bounded number of times.
1</p>
        <sec id="sec-3-2-1">
          <title>Introduction</title>
          <p>
            Formal concept analysis, as a field of applied mathematics, is interested in the
patterns that can be found in data taking the form of a set of objects described
by attributes. Among these patterns are the implications, relations between
attribute sets A and B representing the fact that every object described by A is
also described by B. As often with this type of relation, interest revolves around
a small, non redundant set of implications. Such a set, the Duquenne-Guigues
basis, is constructed using the notion of pseudo-intent. Indeed, computing the
Duquenne-Guigues basis, and thus all the implications in a data set, is
equivalent to enumerating all the pseudo-intents. In [
            <xref ref-type="bibr" rid="ref15">15</xref>
            ], it is shown that the number
of pseudo-intents can be exponential in the number of attributes. It has been
proven in [
            <xref ref-type="bibr" rid="ref18 ref2 ref22 ref6">6, 2</xref>
            ] that pseudo-intents cannot be enumerated with a polynomial
delay in lectic or reverse lectic order. However, to the best of our knowledge,
no such result exists for other orders. The best-known algorithm, Next Closure
[
            <xref ref-type="bibr" rid="ref11">11</xref>
            ], enumerates only in the lectic order. In a previous work [
            <xref ref-type="bibr" rid="ref20 ref4">4</xref>
            ], we proposed an
exponential delay algorithm to enumerate in any order that extends the
inclusion order. In order to continue the study of the influence of the order on the
complexity of this enumeration problem, we propose here two new algorithms
that, together, can enumerate pseudo-intents without respecting the inclusion.
          </p>
          <p>Our algorithms enumerate pseudo-intents incrementally, i.e. given a formal
context and a set of previously found implications, they return a new
pseudointent. In order to do this, we define new conditions under which a pseudo-intent
P can be recognized using the lower covers of P in the lattice of attribute sets
closed under the implications already found. This allows us to build algorithms
that, instead of starting from ∅ and adding attributes to construct sets, start
from &gt; and remove attributes, resulting in a depth-first search in the lattice.</p>
          <p>
            We show that both constructing and recognizing a pseudo-intent can be done
by computing a bounded number of times the minimal transversals of some
hypergraph, which makes it easy to bound the delay and isolate special, easier
cases. This result establishes a link with the proof in [
            <xref ref-type="bibr" rid="ref22 ref6">6</xref>
            ] that enumerating
pseudointents without order is at least as hard as computing minimal transversals.
          </p>
          <p>We start by recalling in Section 2 the basic definitions of FCA and results
on the enumeration of pseudo-intents and minimal transversals. In Section 3, we
present the definition of a recognizable pseudo-intent that we use along with the
properties needed for our algorithms. Finally, Sections 4 and 5 are dedicated to
the two algorithms, an example and a brief study of their delay.
2
2.1</p>
        </sec>
        <sec id="sec-3-2-2">
          <title>Preliminaries</title>
          <p>Basics
In formal concept analysis, data takes the form of a formal context. A formal
context is a triple C = (O, A, R) in which O is a set of objects, A is a set of
attributes and R ⊆ O × A a relation that maps attributes to objects. An object
o ∈ O is said to be described by an attribute a ∈ A if (o, a) ∈ R. Together with
the context, there are two ·0 operators defined as
·0 : 2O 7→ 2A
·0 : 2A 7→ 2O
O0 = {a ∈ A | ∀o ∈ O, (o, a) ∈ R}</p>
          <p>A0 = {o ∈ O | ∀a ∈ A, (o, a) ∈ R}</p>
          <p>Their composition ·00 is a closure operator. A set of attributes A = A00 closed
under ·00 is called an intent.
2.2</p>
          <p>Implications
An implication is a relation between two attribute sets A and B, noted A → B.
It is said to hold in the context if and only if A0 ⊆ B0 or, in other words, if and
only if every object described by A is also described by B. A set I of implications
is a basis if and only if every implication that holds in the context can be derived
from I using Armstrong’s rules :</p>
          <p>B ⊆ A ,
A → B</p>
          <p>A → B
A ∪ C → B ∪ C
, A → B, B → C</p>
          <p>A → C</p>
          <p>
            A pseudo-intent (or pseudo-closed set ) P is a set of attributes that contains
the closure of all its subsets and is not an intent. The set B = {P → P 00 | P
is a pseudo-intent} is the implication basis with the minimum cardinality and
is called the Duquenne-Guigues basis [
            <xref ref-type="bibr" rid="ref12">12</xref>
            ]. As such, computing the
DuquenneGuigues basis, and thus all the implications, is enumerating all the
pseudointents. As one of the great problems in FCA, it has been abundantly studied
[
            <xref ref-type="bibr" rid="ref1 ref12 ref15 ref16 ref17 ref19 ref20 ref22 ref3 ref4 ref6">12, 15, 6, 17, 4, 3, 16, 1, 19</xref>
            ]. As the number of pseudo-intents can be exponential
in the size of the context, preventing a polynomial algorithm, the attention is
instead focused on the delay, i.e. the time between two pseudo-intents and the
last pseudo-intent and the end of the algorithm. It has been shown that
pseudointents cannot be enumerated with a polynomial delay in lectic [
            <xref ref-type="bibr" rid="ref22 ref6">6</xref>
            ] or reverse
lectic order [
            <xref ref-type="bibr" rid="ref18 ref2">2</xref>
            ]. For the enumeration without order, it is shown in [
            <xref ref-type="bibr" rid="ref22 ref6">6</xref>
            ] that it is at
least as hard as computing the minimal transversals of a hypergraph. However,
the upper bound is not yet known. The problem of recognizing a pseudo-intent
has been studied in [
            <xref ref-type="bibr" rid="ref1 ref17">1</xref>
            ] and found to be coNP-complete.
A set of implications I gives rises to a logical closure operator I(·) defined as
Similarly, we have the logical pseudo-closure operator I−(·) defined as
A+ = A ∪ {C | B → C ∈ I and B ⊆ A}
          </p>
          <p>I(A) = A++...+ (up to saturation)
A◦ = A ∪ {C | B → C ∈ I and B ⊂ A}</p>
          <p>I−(A) = A◦◦...◦ (up to saturation)</p>
          <p>It is known that intents are closed under both B−(·) and B(·), whereas a
pseudo-intent P is closed under B−(·) and I(·) for I ⊆ B \ {P → P 00}.</p>
          <p>
            An attribute set Y is said to be a generator of an attribute set X under
I(·) (resp. I−(·)) if I(Y ) = X (resp. I−(Y ) = X). It is a minimal generator
if there is no generator Z of X such that Z ⊂ Y . We will use GenI (X) to
denote the set of all minimal generators of a set X under I(·). The complexity
of computing the minimal generators of a set has been studied in [
            <xref ref-type="bibr" rid="ref14">14</xref>
            ]. The
number of minimal generators can be exponential in the number of attributes
and they can be enumerated with an incremental polynomial delay.
          </p>
          <p>We shall use ΦI to denote the lattice of attribute sets closed under I(·)
ordered by the inclusion relation. For an attribute set A, the set of
pseudointents P in I such that P ⊆ A and P 00 6⊆ A will be denoted by PI (A).
2.4</p>
          <p>
            Minimal Transversals
The problem of computing minimal transversals in hypergraphs or, equivalently,
the prime conjunctive normal form of the dual of a Boolean function (otherwise
called monotone dualization), have been largely studied in the literature [
            <xref ref-type="bibr" rid="ref10 ref13 ref23 ref7 ref8 ref9">13, 10,
8, 9, 7</xref>
            ].
          </p>
          <p>Given a hypergraph H = (E, V) where E is a set of edges and V ⊆ 2E is a set
of vertices, a transversal T ⊆ E is a set of edges such that ∀V ∈ V, T ∩ V 6= ∅. A
transversal is minimal if none of its subsets is a transversal. We shall use T r(V )
to denote the set of minimal transversals of a set of vertices V . For example,
T r({ace, bce, cde}) = {c, e, abd}.</p>
          <p>
            The problem of computing all the minimal transversals of a hypergraph can
be solved in quasi-polynomial total time [
            <xref ref-type="bibr" rid="ref10 ref13 ref9">9, 10, 13</xref>
            ]. It is currently not known
whether it is possible to enumerate the transversals with a polynomial delay in
the general case. However, many special cases are known to have an
outputpolynomial delay. Their references can be found in [
            <xref ref-type="bibr" rid="ref9">9</xref>
            ].
          </p>
          <p>
            In this work, we cannot presuppose the nature of the hypergraph and so we
are interested in the general case. The problem still being actively studied, we
will suppose that we have a blackbox algorithm nextTrans that enumerates
the minimal transversals of a set of vertices X. We suppose, for ease of writing,
that the transversals Ti this algorithm enumerates in some arbitrary order T1 &lt;
T2 &lt; ... &lt; Tn with nextTrans(Ti, X) = Ti+1 and nextTrans(Tn, X) = ∅.
For example, Berge Multiplication [
            <xref ref-type="bibr" rid="ref21 ref5">5</xref>
            ] can be adapted to take the role of
nextTrans. It is important to note that a first transversal can be computed
in polynomial time by simply removing attributes until the set stops being a
transversal.
3
          </p>
        </sec>
        <sec id="sec-3-2-3">
          <title>Recognizing a Pseudo-Intent</title>
          <p>
            We know that an attribute set is a pseudo-intent if and only if it contains the
closure of all its subsets that are pseudo-intents. As for the problem of recognizing
pseudo-intents, two cases have been studied. When only a context and a set A
are provided, checking whether A is a pseudo-intent is coNP-complete [
            <xref ref-type="bibr" rid="ref1 ref17">1</xref>
            ]. An
algorithm has been proposed in [19] that runs in O(2|A|). When the context and
A are provided alongside all the pseudo-intents (and thus implications) contained
in A, checking whether A is a pseudo-intent is easier as we only have to verify the
closedness of A for the logical closure and ·00, which implies a runtime polynomial
in the size of the implication set. It is this method that is used in algorithms
such as Next Closure or the one we proposed in [
            <xref ref-type="bibr" rid="ref20 ref4">4</xref>
            ] and its drawback is that it
forces an enumeration in an order that extends the inclusion order.
          </p>
          <p>In this paper, we are interested in enumerating pseudo-intents in orders that
do not extend the inclusion and, as such, we cannot suppose that we know the
closure of all the subsets of a set before attempting to recognize its
pseudoclosedness. Hence, we propose to consider the problem of recognizing a
pseudointent A given a context and a set of subsets of A that is not necessarily complete.
Proposition 1. An attribute set A ∈ ΦI is a pseudo-intent if A 6= A00 and all
its lower covers in ΦI are closed.</p>
          <p>Proof. Let us suppose that A is not closed and that all its lower covers are
closed. Let B be a lower cover of A and X be a subset of A. If B ⊂ X, then
I(X) = A and X00 = A00. If X ⊆ B and X00 6⊆ B, then B cannot be closed and
we have a contradiction. Therefore, X00 ⊆ B. Since the closure of every subset
of A is either A00 or contained in A, the set A is a pseudo-intent.</p>
          <p>This proposition states that some pseudo-intents can be recognized in ΦI only
by looking at their lower covers. As such, when I is a subset of the
DuquenneGuigues basis, a new pseudo-intent can be found by looking in ΦI for sets that
only have intents as lower covers.
Definition 1. A pseudo-intent that can be recognized using Proposition 1 with
a set of implication I is said to be recognizable. The set of all the implications
that are recognizable with I is denoted by Rec(I).</p>
          <p>Proposition 2. ∀I ⊂ B, Rec(I) 6= ∅
Proof. Let P be minimal among pseudo-intents that are not premises of
implications in I. If there is a lower cover X of P in ΦI that is not closed, then there
is a set A ⊂ X in ΦI such that A → A00 holds in the context. If A00 ⊆ P , then
P is not minimal. If A00 6⊆ P , then P is not a pseudo-intent. Both cases lead to
contradictions so all the lower covers of P are closed and P is recognizable from
I. Since we have I ⊂ B, the set of pseudo-intents that are not a premise of I is
not empty, so it has minimal elements. Hence, the set of pseudo-intents that are
recognizable from I is not empty if I ⊂ B.</p>
          <p>We have that, even though some unknown pseudo-intents may not be
recognizable, there are always additional recognizable pseudo-intents for any subset
of the Duquenne-Guigues basis. This ensures that we are able to enumerate all
the pseudo-intents with an algorithm that finds recognizable ones.
Proposition 3. Let A and B be two elements of ΦI . The set B is a lower cover
of A if and only if B = A \ C with C a minimal transversal of GenI (A).
Proof. Let C be minimal such that ∀G ∈ GenI (A), G∩C 6= ∅. For any attribute
i ∈ A \ C, the set (A \ C) ∪ {i} = A \ (C \ {i}) contains a minimal generator
of A because of the minimality of C. Therefore, any B between A \ C and A is
such that I(B) = A and cannot be in ΦI . Hence, A \ C is a lower cover of A.</p>
          <p>Let B be a lower cover of A in ΦI . By definition, I(B ∪ {i}) = A for any
attribute i ∈ A \ B so there is a subset C of A such that i ∈ C and (C \ {i}) ⊆ B
that is a minimal generator of A.</p>
          <p>
            This proposition states that the lower covers of a set can be computed from
and depend on its minimal generators. As such, the number of lower covers can be
exponential in the number of minimal generators which can itself be exponential
in the size of the attribute set [
            <xref ref-type="bibr" rid="ref14">14</xref>
            ].
          </p>
          <p>Definition 2. For any two attribute sets A and B, we say that B is reachable
from A if and only if B ⊂ A and there is an ordering x1 &lt; x2 &lt; ... &lt; xn of the
elements of A \ B such that, for every m &lt; n, A \ {x1, x2, ..., xm} is not closed
under I.</p>
          <p>In other words, B is reachable from A if you can obtain B by removing
attributes from A and only go through sets that are not closed under I. Evidently,
minimal reachable sets are elements of ΦI .</p>
          <p>Proposition 4. An attribute set A ∈ ΦI is a minimal recognizable
pseudointent if and only if A is not an intent and all the minimal attributes sets
reachable from A are intents.
Algorithm 1 reachableSets(A)
Proof. If A is a minimal recognizable pseudo-intent, then every subset of A in
ΦI is an intent. Thus every minimal reachable set is an intent.</p>
          <p>Let us suppose that every minimal reachable subset of A is an intent and
A 6= A00. For any set X reachable from A and any attribute set P ⊆ X, if
P 00 6⊂ A, then X cannot be an intent. Every minimal reachable subset of A
being an intent, A contains the closure of all its subsets so it is a pseudo-intent.
If P is a pseudo-intent that is not in I, subsets of A \ {i} with i ∈ P 00 \ P cannot
be intents so either P or a superset of P in ΦI that is not an intent is reachable
from A. Hence, A is a minimal recognizable pseudo-intent.</p>
          <p>A minimal recognizable pseudo-intent can therefore be recognized by
computing the sets of its minimal reachable subsets. These minimal reachable sets
can be computed using Algorithm 1. By definition, reachable sets can be
computed by removing from A attributes that play a role in the logical closure, i.e.
attributes in minimal generators of pseudo-intents P ⊂ A such that P 00 6⊆ A \ X
for some A \ X reachable from A. The minimal transversals T make up all the
possible ways to remove minimal generators of pseudo-intents and, thus, all the
sets T such that for every Y ⊂ T , A \ Y cannot be logically closed. As such,
removing minimal transversals of the generators of pseudo-intents used in the
logical closure of a set produces a reachable set. The set A \ T is not always
logically closed so the algorithm is recursively applied until an element of ΦI is
reached.</p>
          <p>The algorithm is not optimal as some reachable sets can be computed
multiple times and the sets reachable from a set A that is not an element of ΦI
could be computed directly from PI (A) instead of its direct subsets. However,
it is sufficient to give us an upper bound of the runtime. For each recursive call,
the algorithm computes PI (A \ {i}) for every attribute i ∈ A. For each of these
attributes, it then computes the minimal transversals of S
There is another recursive call for each pseudo-intent founPd∈mPIis(Asi\n{gi}s)oGtehneIr(uPn)-.
time is bounded by O(|A| × |I| × T ) where T is the complexity of computing
the transversals.</p>
          <p>In the rest of this paper, we will suppose that we have an algorithm
nextReach that enumerates minimal reachable sets in the same fashion as
nextTrans.
4</p>
        </sec>
        <sec id="sec-3-2-4">
          <title>Computing a Recognizable Pseudo-Intent</title>
          <p>
            We want to incrementally compute the pseudo-intents in a formal context. In
the beginning, we only have the formal context (O, A, R) and an empty set of
implications I. The corresponding ΦI is the boolean lattice of subsets of A. In
order to find a first pseudo-intent, we can look for a recognizable set (Proposition
1) in ΦI . We know that a non-closed set contains a pseudo-intent. Thus, we can
start with A and recursively remove attributes as long as we obtain non-closed
sets. When we cannot remove attributes without obtaining an intent, the set is
a recognizable pseudo-intent and we have a first implication. This corresponds
to the algorithm presented in [
            <xref ref-type="bibr" rid="ref22 ref6">6</xref>
            ] that computes a first pseudo-intent. We can
then generalize the algorithm for other pseudo-intents. As I contains a new
implication, sets disappear from ΦI and we now have to look in the new lattice
for a second pseudo-intent. As it is not a Boolean lattice anymore, we cannot
simply remove attributes to obtain lower covers so we have to use Proposition
3 to compute them. By going through the lattice using non-closed lower covers
of sets until we find a set respecting Proposition 1, we can compute a second
pseudo-intent. Pseudo-intents can thus be computed incrementally until A no
longer has any non-closed lower cover. Algorithm 2, given a context, a subset I
of the Duquenne-Guigue Basis and an attribute set A ∈ ΦI , uses this method
to compute a new pseudo-intent P ⊆ A.
          </p>
          <p>Proposition 5. nextP I(A, I) returns either A or a pseudo-intent that is not
in I.</p>
          <p>Proof. Let X be a set in ΦI . If X00 6= X, then there is a pseudo-intent P ⊆ X.
If a lower cover of X is not closed, then there is a pseudo-intent X ⊂ S. The
algorithm returns the first set it finds that has all its lower covers closed. If this
set is not A, then it is not closed and is thus a pseudo-intent.</p>
          <p>Algorithm 3 uses Algorithm 2 to enumerate pseudo-intents iteratively until
it returns A. It is sound but not complete, as exemplified below.
Algorithm 2 nextP I(A, I)
Let us consider an arbitrary context for which the Duquenne-Guigues basis is
{de → bde, bc → bcd, ac → abcd, be → bde, bcde → abcde}. We want to find its
pseudo-intents using Algorithm 3 :</p>
          <p>The set of implications is initially empty. We start with abcde.</p>
          <p>It has a single minimal generator, itself. The first minimal transversal of
Gen(abcde) is a. The set abcde \ a = bcde is not an intent so we continue
recursively with it.</p>
          <p>The set bcde has a single minimal generator, itself. The first minimal
transversal of Gen(bcde) is b. The set bcde \ b = cde is not an intent so we continue
recursively with it.</p>
          <p>The set cde has a single minimal generator, itself. The first minimal
transversal of Gen(cde) is c. The set cde\c = de is not an intent so we continue recursively
with it.</p>
          <p>The set de has a single minimal generator, itself. The first minimal transversal
of Gen(de) is d. The set de \ d = e is an intent. The second and last minimal
transversal is e. The set de \ e = d is an intent. The algorithm returns de as the
first pseudo-intent which gives us I = {de → bde}.</p>
          <p>We start again with abcde. It has a single minimal generator, acde. The first
minimal transversal of Gen(abcde) is a. The set abcde \ a = bcde is not an intent
so we continue recursively with it.</p>
          <p>The set bcde has a single minimal generator, cde. The first minimal
transversal of Gen(cde) is c. The set bcde \ c = bde is an intent. The second minimal
transversal is d. The set bcde \ d = bce is not an intent so we continue recursively
with it.</p>
          <p>The set bce has a single minimal generator, itself. The first minimal
transversal of Gen(bce) is b. The set bce \ b = ce is an intent. The second minimal
transversal is c. The set bce \ c = be is not an intent so we continue recursively
with it.</p>
          <p>The set be has a single minimal generator, itself. The first minimal transversal
of Gen(be) is b. The set be \ b = e is an intent. The second and last minimal
transversal is e. The set be \ e = b is an intent. The algorithm returns be as the
second pseudo-intent which gives us I = {de → bde, be → bde}.</p>
          <p>We start again with abcde. It has two minimal generators, acde and abce.
The first minimal transversal of Gen(abcde) is a. The set abcde \ a = bcde is not
an intent so we continue recursively with it.</p>
          <p>The set bcde has two minimal generators, bce and cde. The first minimal
transversal of Gen(cde) is c. The set bcde \ c = bde is an intent. The second
minimal transversal is bd. The set bcde \ bd = ce is an intent. The third and
last minimal transversal is e. The set bcde \ e = bcd is an intent. The algorithm
returns bcde as the third pseudo-intent which gives us I = {de → bde, be →
bde, bcde → abcde}.</p>
          <p>We start again with abcde. It has two minimal generators, cde and bce. The
first minimal transversal of Gen(abcde) is bd. The set abcde \ bd = ace is not an
intent so we continue recursively with it.</p>
          <p>The set ace has a single minimal generator, itself. The first minimal
transversal of Gen(ace) is a. The set ace \ a = ce is an intent. The second minimal
transversal is c. The set ace \ c = ae is an intent. The third minimal transversal
is e. The set ace \ e = ac is not an intent so we continue recursively with it.</p>
          <p>The set ac has a single minimal generator, itself. The first minimal transversal
of Gen(ace) is a. The set ac \ a = c is an intent. The second and last minimal
transversal is c. The set ac\c = a is intent. The algorithm returns ac as the fourth
pseudo-intent which gives us I = {de → bde, be → bde, bcde → abcde, ac →
abcd}.</p>
          <p>We start again with abcde. It has three minimal generators, ace, cde and bce.
The first minimal transversal of Gen(abcde) is c. The set abcde \ c = abde is
an intent. The second minimal transversal is e. The set abcde \ e = abcd is an
intent. The third and last minimal transversal is abd. The set abcde \ abd = ce
is an intent. The algorithm ends.</p>
          <p>The algorithm has found four pseudo-intents but is unable to find the set bc
when considering the minimal transversals, and thus the sets, in that
particular order. Indeed, knowing be → bde and de → bde makes bcde recognizable
and blocks every path from abcde to bc in ΦI . Finding bc before either de or be
solves the problem.
The nature of Algorithm 2 makes it easy to bound the delay between finding
two pseudo-intents. As the algorithm starts from A and removes attributes until
it ends, it performs a maximum of |A| recursive calls before finding a
pseudointent. In a call, three different tasks are performed : computing the closure
of a set, computing the set of minimal generators and computing the set of all
lower covers. The closure of a set is known to be computable in polynomial time.
Computing GenI (A) is done in time polynomial in the size of the output. The
computation of all the lower covers of A, as we have seen in Section 2.4, can be
performed in quasi-polynomial total time, i.e. in time quasi-polynomial in the
size of n = |GenI (A)| and m = |T r(GenI (A))| (note that the size of m itself is
n
bounded by n [18]). Hence, the delay is in O(|A| × (C + G + T )) with C
2
the complexity of computing a closure, G the complexity of computing minimal
generators and T the complexity of computing the lower covers.
Algorithm 4 nextM inP I(A, I)</p>
          <p>An interesting point of detail is that the algorithm does not necessarily
enumerate all the intents. When all the upper covers of an intent A in ΦI are
intents themselves, A cannot be reached by the algorithm anymore. In
particular, if A ∪ {i} = (A ∪ {i})00 for every i ∈ A \ A, we are sure that A will never be
considered. In the previous example (see Figure 3), we see that the intents abd,
ab, ad, bd, de and ∅ are never considered because they do not appear as lower
covers of sets. We suppose that this property helps reduce the runtime on dense
contexts with a high number of intents.</p>
        </sec>
        <sec id="sec-3-2-5">
          <title>Computing a Minimal Recognizable Pseudo-Intent</title>
          <p>The problem with Algorithm 3 is that there are some pseudo-intents it cannot
compute. Among those leftover pseudo-intents, there is necessarily at least one
that is minimal. We have shown in Proposition 4 that a minimal recognizable
pseudo-intent P can be recognized through the minimal sets reachable from P .
Those reachable sets can themselves be obtained by computing the transversals
of the sets of minimal generators of the pseudo-intents involved in the logical
closure of the different P \ {i} (Algorithm 1). Algorithm 4 uses these properties
to compute a minimal recognizable pseudo-intent. In a manner similar to that of
Algorithm 2, the algorithm starts with A and enumerates the minimal reachable
sets. Once one that is not an intent is found, the algorithm is recursively applied.
The algorithm ends when it finds a set with only intents as minimal reachable
sets. The main difference between Algorithm 2 and Algorithm 4 is that the
former performs a depth-first search in the lattice ΦI while the latter performs
it in the directed graph in which the nodes are the elements of ΦI and the edges
are the pairs in the “reachable” relation.</p>
          <p>Proposition 6. Algorithm 4 returns either A or a minimal pseudo-intent that
is not in I.
loves
*
L
A
loves
loves
*</p>
          <p>A</p>
          <p>L
R
L
loves
*
A</p>
          <p>L
A
loves
loves</p>
          <p>A</p>
          <p>L
loves
dislikes
loves</p>
          <p>A</p>
          <p>M
R
F
L
T
L</p>
          <p>R
hates</p>
          <p>loves
loves
loves
subj
said
A</p>
          <p>pred
obj
likes
*
L
M</p>
          <p>A
F</p>
          <p>T
loves
said
pred</p>
          <p>subj
obj</p>
          <p>loves
dislikes
* A</p>
          <p>M
loves
pred
obj</p>
          <p>subj
said
Man
loves</p>
          <p>F
T</p>
          <p>M
*
dislikes
dislikes
subj
said
loves
T
F</p>
          <p>Man</p>
          <p>R
F
T
L
F
T
pred
obj</p>
          <p>L R
A
F T
L R
FT</p>
          <p>L F
R T
A M
loves
loves</p>
          <p>A
L</p>
          <p>M
* A</p>
          <p>M
loves</p>
          <p>said
L
M</p>
          <p>A
F
likes
pred
obj</p>
          <p>subj
likes</p>
          <p>pred
obj
lobscouse</p>
          <p>Sailor
jested
type
type
subj</p>
          <p>F
loves loves
dislikes
dislikes</p>
          <p>M</p>
          <p>T</p>
          <p>Gentleman
Englishman</p>
          <p>pred
subj
type
said
name
name
obj
"Tom"</p>
          <p>Fig. 6. Concepts of the RDF graph
glue node’s counterpart in the lower graph can be identified by its extent). To
put this differently: in every triple graph, the asterisk concepts are part of the
description of the non-asterisk concepts, but not vice versa.</p>
          <p>
            The extent of a concept reveals how its pattern intent can be obtained.
Consider for example the concept with extension {R, F, T }, which is part of the
top left triple graph. The extension tells us that the pattern intent is the (core
graph of the) component of the pattern product (R, G2)×(F, G1)×(T, G1), which
contains the vertex (R, F, T ), and (R, F, T ) becomes the designated variable. The
diagram also shows that {R, T } is a generating set for this extent, because it
is not contained in a concept extent of the triple graph’s lower neighbors, and
so (R, G2) × (T, G1) already produces the same pattern. As was described in
[
            <xref ref-type="bibr" rid="ref8">8</xref>
            ], Ganter’s NextConcept algorithm can be used to systematically generate all
extents (and thus all concepts), computing pattern products in the process. It is
advisable to use graph folding to obtain minimal equivalent patterns, for output
as well as inbetween computational steps.
          </p>
          <p>Product patterns could also be computed directly from the triples in Turtle
notation (Fig. 1), by combining triples with each other. Informally, we could
write triple graphs as sets of triples (x : κ(x), p : κ(p), y : κ(y)) (borrowing from
RDF and CG notation), and compute the product triples by taking suprema
componentwise, like so:
∨
=
(F : &gt;, p : type, y1 : Englishman)
(T : &gt;, p : type, y2 : Gentleman)
([ FT ] : &gt;, [ pp ] : type, [ yy12 ] : Man).</p>
          <p>However, one would still have to identify and minimize connected components.</p>
          <p>Note that the property and class hierarchies in our example are trees. So the
attribute concepts of K are closed under suprema, and each concept label can
be expressed by a single attribute. The suprema of properties may be of type
”Resource”. Such arcs are removed from the patterns; it can be shown (using
the product property) that the resulting patterns can still be considered MSQs.
4</p>
        </sec>
        <sec id="sec-3-2-6">
          <title>Connectedness</title>
          <p>We have identified two components of the RDF graph in Fig. 1, and this
corresponds to our understanding that objects are ”connected” if they contribute
to the same instance of a situation. The notion of connectedness deserves closer
examination, however. Let us first observe that the notion of strong connectivity
is not the right one, because the second to top concepts in Fig. 6 (we might
name them ”Lover” and ”Beloved”) would not have been created under this
notion. But also, we can in general not rely on weak connectivity alone. If it had
been stated explicitly that all persons are of type ”Person”, all persons would
be connected through that class node.</p>
          <p>Clearly, objects do not contribute to the same situation just on the basis of
belonging to the same class, or having equal property values, like being of the
same age. So connectedness of patterns should not rely on properties, classes
or values. In this paper, no further requirements have been made, but if Liam
liked lobscouse (a traditional sailors’ dish), this would have not been sufficient
because all objects would be connected through the lobscouse node. From a
machine perspective, there is no indication in the RDF data (or the schema)
that ”ex:lobscouse” is of a different quality than ”ex:Tom” or ”ex:Mary”. A
system that generates patterns from automatically acquired data without proper
preprocessing would possibly generate a large number of meaningless (and
unnecessarily large) concepts because of such insubstantial connections, unless it
can be guaranteed that some standard for making such distinctions is applied
on the level of the ontology language.</p>
          <p>Further questions may include if and how real-world objects should be
connected through objects of spoken language; on what basis we could allow a
pattern like the one describing the set of all wifes older than their husband,
and at the same time keep meaningless comparison of values from having an
impact on concept formation; or if pattern connection should be described in
terms of edges rather than nodes, and if we can classify or characterize the kind
of relations which contribute to pattern formation. It seems that, when dealing
with pattern concepts, questions of philosophical ontology may have (at least
subjectively) measurable impact through the notion of connectedness.
5</p>
        </sec>
        <sec id="sec-3-2-7">
          <title>Related Work</title>
          <p>
            In Sect. 2, the category theoretical framework for lattices of pattern concepts has
been applied to triple graphs, and we will now show how it is applied to simple
concept graphs. In [
            <xref ref-type="bibr" rid="ref15">15</xref>
            ], a simple concept graph over a power context family
K~ = (K0, K1, K2, . . . ) is defined as a 5-tuple (V, E, ν, κ, ρ). We may interpret
the 4-tuple (V, E, ν, κ) as a query, K~ as a data source and the map ρ as a set
of solutions. The map κ assigns concepts of the contexts Ki to the vertices and
edges in V and E, respectively. The definition of queries should be independent
from any particular data source, so it makes sense to interpret K~ as a power
context family describing schema information (background knowledge) instead,
the contexts could describe attribute implications, like the one in Fig. 4. The
map ρ will however not be part of the query. For the rest of the exposition, we
shall call the 4-tuple (V, E, ν, κ) an abstract concept graph over K~, after a term
used in the first paper on concept graphs [14, p.300].
          </p>
          <p>
            In [
            <xref ref-type="bibr" rid="ref15">15</xref>
            ], the triple (V, E, ν) is called a relational graph. The morphisms in
the category of abstract concept graphs over K~ are relational graph morphisms
(which replaces condition (1) for triple graphs) satisfying (2). The product is
defined in analogy to (3) (cartesian products of edges have to be taken individually
for each arity k).
          </p>
          <p>A datasource for the schema K~ is a power context family D~ = (D0, D1, D2, . . . )
for which the attribute implications described by Ki =: (Hi, Ni, Ji) are satisfied
in Di =: (Gi, Mi, Ii), i = 0, 1, 2, . . . , and Ni ⊆ Mi holds. We can represent D~
by an abstract concept graph D = (G0, Si≥1 Gi, id, γD) with γD(u) := ((uIk ∩
Nk)Jk , uIk ∩ Nk) ∈ B(Kk) for u ∈ Gk. Let us furthermore define ExtD(κ(u)) :=
Ext(κ(u))JkIk for u ∈ V ∪ E. If we define a realization of G =: (V, E, κ, ν) over D
as a map with ρ(u) ∈ ExtΔ(κ(u)) for all u ∈ V ∪ E and ρ(e) = (ρ(v1), . . . , ρ(vk)),
we obtain that the realizations ρ of G over D are precisely the morphisms ρ :
G → D. This means that product patterns for abstract concept graphs can be
interpreted as MSQs, as was mentioned at the end of Sect. 1.</p>
          <p>Triple graphs are now obtained as a special case of concept graphs: We define
a power context family D~ where D0 is a supercontext of K0 which in addition
contains all objects (having only the ”Resource” attribute), and where D3 =
(T, ∅, ∅) represents the set of triples.</p>
          <p>
            In Relational Concept Analysis, concept lattices for different kinds of
interrelated objects are generated by an iterative algorithm and, as in Fig. 6,
illustrations displaying graphs of concepts have been given [
            <xref ref-type="bibr" rid="ref10 ref20 ref4">4, 10</xref>
            ]. Computational
aspects of generating pattern structures are covered e.g. in [
            <xref ref-type="bibr" rid="ref12 ref13">13, 12</xref>
            ]. In [
            <xref ref-type="bibr" rid="ref19 ref3">3</xref>
            ],
concept lattices are generated from Conceptual Graphs, but the approach seems to
be tailored towards a more specific case where edges (and thus paths) express
dependencies. A comparison with Relational Semantic Systems [
            <xref ref-type="bibr" rid="ref16">16</xref>
            ] still has to
be made.
6
          </p>
        </sec>
        <sec id="sec-3-2-8">
          <title>Conclusion</title>
          <p>
            In [
            <xref ref-type="bibr" rid="ref11">11</xref>
            ], a lattice of closures of database queries, which links products of query
patterns to the join operation on result tables, has been introduced. The queries
and database were formalized by relational structures. The fact that the method
could be applied again, first to RDF graphs and then to abstract concept graphs,
suggests that the underlying category theoretical notions provide a recipe that
could be applied to still different formalizations of queries, allowing in every case
the mathematical description of lattices of most specific queries. Combinatorial
explosion is a computational problem that quickly turns up when computing the
concept lattices. From a practical perspective, the lattices are useless if
complexity problems can not be solved. However, in order to support data exploration,
patterns must be understandable, thus also limited in size, and a solution to this
problem may entail a solution to the problem of computational complexity.
          </p>
          <p>In the section on connectedness, we have seen that ontological considerations
stand in a direct relation to the quality of computed concepts. As a first
consequence, although the idea of treating all kinds of resources in a homogeneous
way seemed appealing, triple graphs must be replaced by some other
formalization which reflects the importance of the distinction between instances and
classes/properties. While such questions naturally arise in the setting of pattern
concepts, they seem to have no obvious analogy for standard FCA, where intents
are sets of attributes. Pattern concepts have thus the potential to further and
substantiate a perspective on FCA as a branch of mathematical modeling, where
the entities to be modeled are not ”real world” systems but rather systems of
concepts. Future work may be concerned with extensions of RDF/RDFS which
support this perspective.</p>
        </sec>
      </sec>
      <sec id="sec-3-3">
        <title>Variability representation in product lines using concept lattices: feasibility study with descriptions from Wikipedia’s product comparison matrices</title>
        <p>Jessie Carbonnel, Marianne Huchard, and Alain Gutierrez
LIRMM, CNRS &amp; Universit´e de Montpellier, France
jessiecarbonnel@gmail.com
surname.lastname@lirmm.fr
Abstract. Several formalisms can be used to express variability in a
product line. Product comparison matrix is a common and simple way
to display variability of existing products from a same family, but they
lack of formalisation. In this paper, we focus on concept lattices, another
alternative already explored in several works to express variability. We
first propose a method to translate a description from existing product
comparison matrices into a concept lattice using Formal Concept
Analysis. Then, we propose an approach to represent the case where a product
family is described by other product families with interconnected
lattices using Relational Concept Analysis. Because of the combinatorial
aspect of these approaches, we evaluate the scalability of the produced
structures. We show that a particular structure (AOC-poset) possesses
interesting properties for the studies that we envision.
1</p>
        <sec id="sec-3-3-1">
          <title>Introduction</title>
          <p>
            In product line engineering [
            <xref ref-type="bibr" rid="ref21 ref5">5</xref>
            ], several formalisms can be used to depict
variability. Variability representation usually requires to take into account a large
amount of data, and it is important to provide tools to help designers to represent
and exploit them.
          </p>
          <p>
            Among existing formalisms, the most common is Product Comparison
Matrices (PCMs). PCMs describe product properties in a tabular form. It is a simple
way to display features of products from a same family and to compare them.
However, there is no existing format or good practices to design these PCMs.
Therefore, cells in PCMs lack of formalisation and it is difficult to perform
automatic and efficient processing or analysis on them [
            <xref ref-type="bibr" rid="ref20 ref4">4, 17</xref>
            ]. Feature Models (FMs)
constitute an alternative to PCMs. FMs describe a set of existing features and
constraints between them, and thus represent all possible configurations of
products from a same family [
            <xref ref-type="bibr" rid="ref11 ref12 ref22 ref6 ref9">6, 9, 11, 12</xref>
            ]. They depict variability in a more formal
way than PCMs, but, in their stardard form, FMs focus exclusively on features
and do not specify if an existing product is associated with a configuration.
          </p>
          <p>
            Formal Concept Analysis (FCA) and concept lattices have already been
studied to express variability [
            <xref ref-type="bibr" rid="ref13">13</xref>
            ]. From a set of objects described by attributes, FCA
computes subsets of objects that have common attributes and structures these
subsets in a hierarchical way in concept lattices. Concept lattices can represent
in a more formal way than PCMs informations related to variability. Through
their structure, concept lattices highlight constraints between attributes like
FMs, while keeping the relation between existing products of the family and
the possible configurations. Besides, contrarily to FMs, which can have many
various forms depending design choices, concept lattices represent variability in
a canonical form. Moreover, FCA can be extended by Relational Concept
Analysis (RCA) which permits to take into account relationships between objects of
separate lattices and provide a set of interconnected lattices. This is useful to
classify sets of products from different categories.
          </p>
          <p>Concept lattices formal and structural aspects make them good candidates
to apply automatic or manual processing including product comparison, research
by attributes, partial visualisation around points of interest, or decision support.
But the exponential growth of the size of concept lattices can make them difficult
to exploit. In this paper, we will study the dimensions of these structures and
try to find out if depicting product line variability with concept lattices provides
structures that can be exploited from a perspective of size. For this, we will build
in a first phase concept lattices from existing descriptions. Because there are
abundant and focus on both products and features, we will extract descriptions
from PCMs. Besides, we can find PCMs that possess a feature whose value
domain corresponds to a set of products described by another PCM. It is a
special case where a product family is described by another product family.
In a second phase, we will model this case by interconnecting concept lattices
obtained from the descriptions of these two PCMs using Relational Concept
Analysis.</p>
          <p>In this paper, we want to answer these questions: How can we represent the
variability expressed by a PCM with a concept lattice? To what extent can we
model the case where a product family is described by another product family
with RCA? Can we efficiently exploit structures obtained with FCA and RCA
with regard to their size?</p>
          <p>The remainder of this paper is organised as follows. In Section 2, we will
review Formal Concept Analysis and propose a way to build a concept lattice from
a PCM’s description. In Section 3, we will study how to represent the case where
a product family is described by another product family with Relational Concept
Analysis. Then, in Section 4, we will apply these two methods on Wikipedia’s
PCMs to get an order of magnitude of the obtained structure size. Section 5
discusses related work. Section 6 presents conclusion and future work.</p>
        </sec>
        <sec id="sec-3-3-2">
          <title>Formal Concept Analysis and product comparison matrices</title>
          <p>This section proposes an approach to represent with a concept lattice the
variability originally expressed in a PCM.</p>
          <p>
            Concept lattices and AOC-posets
Formal Concept Analysis [
            <xref ref-type="bibr" rid="ref8">8</xref>
            ] is a mathematical framework which structures a set
of objects described by attributes and highlights the differences and similarities
between these objects. FCA extracts from a formal context a set of concepts
that forms a partial order provided with a lattice structure: the concept lattice.
          </p>
          <p>A formal context is a 3-tuple (O, A, R) where O and A are two sets and
R ⊆ O × A a binary relation. Elements from O are called objects and elements
from A are called attributes. A pair from R states that the object o possesses
the attribute a. Given a formal context K = (O, A, R), a concept is a tuple
(E, I) such that E ⊆ O and I ⊆ A. It depicts a maximal set of objects that
share a maximal set of common attributes. E = {o ∈ O|∀a ∈ I, (o, a) ∈ R}
is the concept’s extent and I = {a ∈ A|∀o ∈ E, (o, a) ∈ R} is the concept’s
intent. Given a formal context K = (O, A, R) and two concepts C1 = (E1, I1)
and C2 = (E2, I2) from K, C1 ≤ C2 if and only if E1 ⊆ E2 and I2 ⊆ I1. C1 is
a subconcept of C2 and C2 is a superconcept of C1. When we provide all the
concepts from K with the specialisation order ≤, we obtain a lattice structure
called a concept lattice.</p>
          <p>We represent intent and extent of a concept in an optimised way by making
elements appear only in the concept where they are introduced. Figure 7 represents
a concept lattice having simplified intent and extent. We call object-concept and
attribute-concept the concepts which introduce respectively at least an object or
an attribute. In Figure 7, Concept 7 and Concept 2 introduce neither attributes
nor objects: their simplified intent and extent are empty. If they are not
necessary, we can choose to ignore these concepts. Attribute-Object-Concept poset
(AOC-poset) from a formal context K is the sub-order of (CK ,≤) restricted to
object-concepts and attribute-concepts. Figure 4 presents the AOC-poset
matching the concept lattice from Figure 7. In our case, interesting properties of
concept lattices with regard to variability are preserved in AOC-posets: this smaller
structure can be used as an alternative to concept lattices.
A PCM describes a set of products from a same family with variable features in
a tabular way. Figure 1 presents a PCM which describes four products against
two features, taken from Wikipedia.</p>
          <p>We notice that the cells of this PCM lack of formalisation: in this, different
values have the same meaning (Object-Oriented and OO ) and it seems that there
are no rules on the use of value separator (’,’ or ’&amp;’ or ’and’).
Language Standardized
Java Yes
Perl No
Php No
C# Yes</p>
          <p>Paradigm</p>
          <p>Functional, Imperative, OO</p>
          <p>Functional &amp; Procedural &amp; Imperative
Functional, Procedural, Imperative and Object-Oriented</p>
          <p>functional, procedural, imperative, Object Oriented
Fig. 1. Excerpt of a Product Comparison Matrix on programming languages
(http://en.wikipedia.org/wiki/Comparison of programming languages, July 2014)</p>
          <p>Processing PCMs to get formal context
If we want to automatically build concept lattices from this kind of descriptions,
we need to make the cell values respect a format in order to extract and process
them. In [17], authors identify height different types of cell values:
– yes/no values that indicate if the criterion is satisfied or not,
– constrained yes/no values when the criterion is satisfied under conditions,
– single-value when the criterion is satisfied using this value,
– multi-values when several values can satisfy the criterion,
– unknown value when we do not know if the criterion is satisfied,
– empty cell,
– inconsistent value when the value is not related to the criterion,
– extra information when the cell value offers additional informations.</p>
          <p>We clean each type of cells as follows. Empty cells are not a problem, even
though they indicate a lack of information. Inconsistent values should be
detected, then clarified or erased. Unknown values and extra informations will be
simply erased. Other types of cells could have either one single value or a list
of values. We will always use a coma as value separator. Values with the same
meanings will be written in the same way. Once we have applied these rules on
a PCM, we consider that this PCM is cleaned. A cleaned PCM can own three
types of features:
– simple boolean,
– constrained boolean,
– non-boolean.</p>
          <p>Since automatic process is difficult on original PCMs, we clean them
manually. When we clean the PCM in Figure 1, we obtain the PCM in Figure 2.</p>
          <p>We can now automatically extract values from cleaned PCMs to generate
formal contexts. Given a set of objects and a set of binary attributes, a formal
context is a binary relation that states which attributes are possessed by each
object. In summary, we want to convert a set of multivalued features (PCM)
into a set of binary attributes (formal context).</p>
          <p>
            Scaling technique [
            <xref ref-type="bibr" rid="ref8">8</xref>
            ] consists in creating a binary attribute for each value
(or group of values) of a multivalued feature. Boolean features can produce
a single attribute to indicate if either or not the object owns this feature. Yet
Language Standardized
Java Yes
Perl No
Php No
C# Yes
          </p>
          <p>Paradigm
Functional, Imperative, Object-Oriented</p>
          <p>Functional, Procedural, Imperative
Functional, Procedural, Imperative, Object-Oriented</p>
          <p>Functional, Procedural, Imperative, Object-Oriented</p>
          <p>Fig. 2. PCM in Figure 1 cleaned manually
because of empty cells, the fact that an object does not possess an attribute could
also mean that the cell from the PCM was left blank. To be more precise, we
can choose to generate two attributes: one to indicate that the object possesses
the feature, and one to indicate that the object does not possess the feature.
Constrained boolean features can be processed in the same way than simple
boolean features by producing one or two attributes, with the difference that we
can keep constraints in the form of attributes. Non-boolean features will simply
produce an attribute per value or group of values. We applied scaling technique
on the cleaned PCM of Figure 2 and got the formal context in Figure 3.
e
g
a
u
g
n
a</p>
          <p>L
Java x
Perl
Php
C# x
:sedY :odN teend
irzead irzead iloan lrau itev i-rO
tandS tandS tcnuF rceodP Ireapm jtcebO</p>
          <p>x x x
x x x x
x x x x x</p>
          <p>x x x x</p>
          <p>Fig. 3. Formal context obtained after scaling the cleaned PCM in Figure 2
The structure of concept lattices and AOC-posets permits to highlight
interesting properties from variability point of view: they classify objects depending
on their attributes and emphasise relations between these attributes (e.g. require,
exclude). For instance: attributes introduced in the top concept are owned by
all objects; attributes which are introduced in the same concept always appear
together; if an object o1 is introduced in a sub-concept of a concept introducing
an object o2, o1 possesses all the attributes of o2 and other attributes; two
objects introduced in the same concept possess the same attributes. Feature models
show part of this information, mainly reduced to relations between attributes,
as they do not include the products in the representation.</p>
          <p>Figure 7 represents the concept lattice from the formal context of Figure 3.
Figure 4 represents the AOC-poset from the formal context of Figure 3. In these
two structures, we can see that: all languages permit to write programs according
to functional and imperative paradigms; the product Php has all the attributes
of Perl in addition to the attribute Object Oriented ; all standardised languages
are object-oriented.</p>
        </sec>
        <sec id="sec-3-3-3">
          <title>Relational Concept Analysis and interconnected product lattices</title>
          <p>This section proposes an approach to model the case where a PCM possesses
a feature whose value domain corresponds to a set of products described by
another PCM.</p>
          <p>Modeling interconnected families of products with RCA
We illustrate the modeling of interconnected families of products with an
extension of our example. We can find on Wikipedia a PCM on Wikisoftwares that
refers to Programming Languages: we want to structure wikisoftwares
according to programming languages in which they are written. We assume a PCM
about wikisoftwares that owns a boolean feature Open Source and a constrained
boolean feature Spam Prevention. We applied Section 2 approach and obtained
the formal (objects-attributes) context in Figure 5. Figure 8 presents the concept
lattice associated with the context in Figure 5.</p>
          <p>Wikisoftware OS:Yes OS:No SP:Yes SP:No SP:Captcha SP:Blacklist
TeamPage x x x
Socialtext x
MindTouch x x
DokuWiki x x x
EditMe x x x</p>
          <p>Fig. 5. Objects-attributes context of Wikisoftwares</p>
          <p>
            Relational Concept Analysis (RCA) [
            <xref ref-type="bibr" rid="ref10">10</xref>
            ] extends FCA to take into account
relations between several sets of objects. Each set of objects is defined by its
own attributes (in an objects-attributes context) and can be linked with other
sets of objects. A relation between two sets of objects is stated by a relational
context (objects-objects context). A relational context is a 3-tuple (O1, O2, I)
where O1 (source) and O2 (target) are two sets of objects such that there are
two formal contexts (O1, A1, R1) and (O2, A2, R2), and where I ⊆ O1 × O2 is a
binary relation.
          </p>
          <p>We want to express the relation isWritten between objects of Wikisoftwares
and objects of Programming languages. TeamPage and EditMe are written in
Java, SocialText in Perl, DokuWiki in Php and Mindtouch in both Php and
C#. We link each wikisoftware with corresponding programming languages in
an objects-objects context, and we present it in Figure 6.</p>
          <p>isWritten Java Perl Php C#
TeamPage x
Socialtext x
MindTouch x x
DokuWiki x</p>
          <p>EditMe x
Fig. 6. Objects-objects context expressing the relation between objects of
Wikisoftwares and Programming languages</p>
          <p>Processing interconnected families of products
Given an objects-objects context Rj = (Ok, Ol, Ij ), there are different ways for
an object from Ok domain to be in relation with a concept from Ol. For instance:
an object is linked (by Ij ) to at least one object of a concept’s extent (existential
scaling); an object is linked (by Ij ) only to objects of a concept’s extent (universal
scaling). For each relation of R, we specify which scaling operator is used.</p>
          <p>In RCA, objects-attributes contexts are extended according to objects-objects
contexts to take into account relations between objects of different sets. For each
objects-objects context Rj = (Ok, Ol, Ij ), RCA extends the objects-attributes
context of the set of objects Ok by adding relational attributes according to
concepts of the lattice associated with the objects-attributes Ol. Each concept
c from Ol gives a relational attribute q r :c where q is a scaling operator and
r is the relation between Ok and Ol. A relational attribute appears in a lattice
just as the other attributes, with the difference that it can be considered like a
reference to a concept from another lattice.</p>
          <p>As shown on the example, data are represented in a Relational Context
Family (RCF), which is a tuple (K, R) such that K is a set of objects-attributes
contexts Ki = (Oi, Ai, Ii), 1 ≤ i ≤ n and R is a set of objects-objects contexts
Rj = (Ok, Ol, Ij), 1 ≤ j ≤ m, with Ij ⊆ Ok × Ol. Given an objects-attributes
context K = (O, A, I), we define rel(K) the set of relations (objects-objects
contexts) of R which have O for domain, and ρ a function which associates a scaling
operator to each objects-objects context of R. For each step, we extend the
context K by adding relational attributes from each context of rel(K): we obtain the
complete relational extension of K. When we compute the complete relational
extension of each context of K, we obtain the complete relational extension of
the RCF.</p>
          <p>RCA generates a succession of contexts and lattices associated with the RCF
(K, R) and ρ. In step 0, RCA generates lattices associated with contexts of K.
K0 = K. In step e + 1, RCA computes complete relational extension of the Ke
contexts. The obtained extended contexts (Ke+1) possess relational attributes
which refer to concepts of lattices obtained in the previous step.</p>
          <p>In our example, the RCF is composed of Wikisoftware, Programming
Language and of the objects-objects context isWritten. When we compute the
complete relational extension of this RCF, we extend the objects-attributes context
of Wikisoftware with relational attributes which refer to each concept of
Programming language. Figure 7 and Figure 8 represent lattices of Wikisoftware and
Programming language at step 0. Figure 9 presents the concept lattice from the
extended objects-attributes context of Wikisoftwares, at step 1. In this example,
we cannot go further than step 1.</p>
          <p>Fig. 9. Concept lattice of Wikisoftwares, step 1</p>
          <p>In Figure 9, relational attributes are read like references to concepts in the
lattice of Programming languages at step 0 (Figure 7). An extended concept
lattice gives us the same kind of informations that are emphasised in a basic
concept lattice, but it takes into account attributes from other product families.
This brings a new dimension to research and classification of products from a
same family. In our example, it permits us to select a wikisoftware depending on
the paradigm of its programming language. In Figure 9, we can read for instance:
– DokuWiki (concept 1) is written in a programming language characterised
by concepts 6, 7, 8, 3, 5 and 0 of Programming languages, corresponding
to attributes Standardized:No, Procedural, Functional, Object Oriented and
Imperative;
– Team Page and EditMe are equivalent products because they are introduced
in the same concept (same attributes and same relational attributes);
– a wikisoftware not Open Source is written in a standardised language;
– an Open Source wikisoftware is written in an unstandardised language.</p>
        </sec>
        <sec id="sec-3-3-4">
          <title>Assessing scalability of the approach</title>
          <p>Until now, we proposed a first method to obtain a concept lattice from a PCM’s
description and a second method to depict the case where features possess their
own PCM with interconnected lattices. In this section, we evaluate these two
methods on existing PCMs from Wikipedia to get an order of magnitude of the
obtained structures size.</p>
          <p>The number of generated concepts from a formal context depends on the
number of objects, the number of attributes and the form of the context: this
number can reach 2min(|O|,|A|) with a lattice, and |O| + |A| for an AOC-poset.</p>
          <p>In the following tests, we generate both concept lattices and AOC-posets to
emphasise the impact of deleting concepts which introduce neither attributes nor
objects on the size of the structure. Each test was made twice, a first time with
full formal contexts (scaling technique giving two attributes for each boolean
feature, and keeping constraints in the form of attributes for constrained boolean
features) and a second time with reduced fomal contexts (scaling technique giving
one attribute for each boolean feature).</p>
          <p>Scalability for non-connected PCMs (FCA)
Firstly, we analysed 40 PCMs from Wikipedia without taking into account
relations between products. These 40 PCMs were converted into formal contexts with
the method of Section 2. Results are presented in Figure 10. We have analysed
1438 products, generated 4639 binary attributes and 26002 formal concepts.</p>
          <p>Most of the concept lattices possess between 50 and 300 concepts, but some
of them can reach about 5000 concepts: this number is very high, and it would be
difficult to quickly process these data. Reduced contexts (blue plots) give smaller
structures, but some of them remain considerable. Thus, results of AOC-posets
are encouraging: the highest number of concepts obtained is 161. Most of them
possess between 30 and 60 concepts.</p>
          <p>Scalability for connected PCMs (RCA)
Secondly, we made the same type of tests on structures which have been extended
with a relation, using method of Section 3. We wanted to realise these tests on
a quite important number of relationships. Yet, it is simple to find PCMs on
Wikipedia but it is more difficult to automatically find relationships between
these PCMs. To simulate relations between PCMs we used in the first test,</p>
          <p>Mean
Median
Minimum
Maximum
First Quartile
Third Quartile
Fig. 10. Box plots on the number of concepts obtained with concept lattices (top) and
AOC-poset (bottom), from full formal contexts (green) and reduced formal contexts
(blue)
we choose to automatically generate random objects-objects contexts based on
two existing relations we found on Wikipedia. We analysed these relations and
found out that about 75% of objects are linked to at least another object and
that 95% of linked objects are linked to a single other object. We formed 20
pairs of objects-attributes contexts and generated object-objects contexts for
each pair according to our analysis.</p>
          <p>Results are presented in Figure 11. Concept lattices are huge (some can
reach 14000 concepts) whereas AOC-poset remain relatively affordable (about
200 concepts).</p>
          <p>These results match with the products used in a very simplified form for
illustrating the approach. In real data, the first existing relation is between
LinuxDistribution (77 objects, 25 features) and FileSystem (103 objects, 60
features). With a lattice, we obtain 1174 concepts (full context) and 1054
concepts (reduced context). With an AOC-poset, we obtain 188 then 179
concepts. The second relation is between Wikisoftware (43 objects, 12 features)
and Programming Language (90 objects, 5 features). With a lattice, we obtain
282 concepts (full context) and 273 concepts (reduced context). With an
AOCposet, we obtain 87 and then 86 concepts. All the datasets (extracted from
Mean
Median
Minimum
Maximum
First Quartile
Third Quartile</p>
          <p>Lattices (F) Lattices (R) AOC-posets (F) AOC-posets (R)
2263.5 878.2 89.95 72.55
793 194 82 61.5
61 24 33 16
14083 7478 201 189
359.25 108.25 67.5 47.25
2719.5 597.75 101.25 87.25
Fig. 11. Box plots on the number of concepts obtained with formal contexts extended
with RCA
wikipedia and generated) are available for reproducibility purpose at: http:
//www.lirmm.fr/recherche/equipes/marel/datasets/fca-and-pcm.</p>
          <p>According to these results, we can deduce that the concept lattices obtained
possess a majority of empty concepts (which introduce neither attributes nor
objects): AOC-poset appears like a good alternative to generate less complex
structures, and keeps variability informations in the same way that concept
lattices. These results on product description datasets, that are either real datasets,
or datasets generated with respect to existing real one profile, allow us to think
that is is realistic to envision using FCA and RCA for variability representation
within a canonical form integrating features and products.
5</p>
        </sec>
        <sec id="sec-3-3-5">
          <title>Related work</title>
          <p>
            To our knowledge, the first research work using Formal Concept Analysis to
analyse relationships between product configurations and variable features to
assist construction of a product line has been realised in Loesh and Ploederer
[
            <xref ref-type="bibr" rid="ref13">13</xref>
            ]. In this approach, the concept lattice is analysed to extract informations
about groups of features always present, never present, always present together
or never present together. Authors use these informations to describe constraints
between features and propose restructurations of these features (merge, removal
or identification of alternatives feature groups). In [
            <xref ref-type="bibr" rid="ref14">14</xref>
            ], authors study, in an
aspect-oriented requirements engineering context, a concept lattice which
classifies scenarios by functional requirements. They analyse on the one hand the
relation between concepts and quality requirements (usability, maintenance),
and on the other hand interferences between quality requirements. Also, they
analyse the impact of modifications. This analysis has been extended by
observations about product informations contained in the lattice (or the AOC-poset),
and on the manner that some work implicitly use FCA, without mentioning it
[
            <xref ref-type="bibr" rid="ref1 ref17">1</xref>
            ]. In the present work, we show how to extend the original approach, which
analyses products described by features, to a more general case where there are
features that are products themselves. Moreover, we evaluate the scale up of
FCA and RCA on product families described by PCMs from Wikipedia and
linked by relationships randomly generated.
          </p>
          <p>
            In the domain of product lines, another category of works is interested in
identification of features in source code using FCA [
            <xref ref-type="bibr" rid="ref19 ref3">19, 3</xref>
            ]. In this case, described
entities are variants of software systems which are described by source code and
authors try to produce groups of source code elements that can be candidates to
be features. Some works search for traceability links between features and the
code [
            <xref ref-type="bibr" rid="ref16">16</xref>
            ]. In [
            <xref ref-type="bibr" rid="ref23 ref7">7</xref>
            ], authors cross-reference source code parts and scenarios which
execute them and use features. The goal is to identify parts of the code which
correspond to feature implementation. In our case, we do not work on source
code, nor with scenarios, but with existing product descriptions.
          </p>
          <p>
            Finally, a last category of works study feature organisation in FM with FCA.
Some approaches [
            <xref ref-type="bibr" rid="ref15">20, 15</xref>
            ] use conceptual structures (concept lattice or
AOCposet) to recognise contraints, but also to suggest sub-features typed relations
linked to the domain. In the article [
            <xref ref-type="bibr" rid="ref15">15</xref>
            ], authors study in detail the extraction
of implication rules in the lattice and cover relationships, to determine for
instance if a set of features covers all the products. Recent works [
            <xref ref-type="bibr" rid="ref18 ref2">2, 18</xref>
            ] focus on
emphasise logical relationships between features in a FM and on the
identification of transverse constraints. These logical relationships are more specifically
used in [18] to analyse the variability of a set of architectural configurations. In
the present work, we generate a structure or several interconnected structures.
These structures are created to analyse variability, but we do not consider issues
about FM construction.
          </p>
        </sec>
        <sec id="sec-3-3-6">
          <title>Conclusion</title>
          <p>In this paper, we analyse the feasibility of using Formal Concept Analysis and
Concept Lattices as a complement to Product Comparison Matrices to represent
variability in product lines. We propose a method to convert a description from
a product comparison matrix to a concept lattice using the scaling technique.
We also propose a way to model the special case where a product family is
described by another product family with Relational Concept Analysis. We obtain
interconnected lattices that bring a new dimension to research and classification
of products when they are in relation with other product families.</p>
          <p>Subsequently, we realise series of tests to determine an order of magnitude of
the number of concepts composing the structures obtained firstly with FCA by
converting PCMs into formal contexts, and secondly with RCA by introducing
relations between these contexts. In these tests, we compare two structures:
concept lattices which establish a sub-order among all the concepts and
AOCposets which establish a sub-order among the concepts which introduce at least
an attribute or an object. It seems that most of the concepts do not introduce
any information and AOC-poset appears like a more advantageous alternative, in
particular for presenting information to an end-user. Concept lattices are useful
too, when they are medium-size, and for automatic data manipulations. We also
show the effect of two different encoding of boolean values.</p>
          <p>
            In the future, we will use the work of [
            <xref ref-type="bibr" rid="ref20 ref4">4</xref>
            ] to automatise as much as possible
the conversion of PCMs. Moreover, researches on the classification process (using
different scaling operators) and its applications on variability will be performed
to complete this analysis. Also, a detailed study of the possibilities offered by
RCA to model other cases is considered. Finally, it could be interesting to study
transitions between different structures like FMs, PCMs, AOC-posets and
concept lattices to be able to select one depending on the kind of operation we want
to apply.
          </p>
        </sec>
        <sec id="sec-3-3-7">
          <title>References</title>
          <p>8. Ganter, B., Wille, R.: Formal concept analysis - mathematical foundations.</p>
          <p>Springer (1999)
9. Griss, M.L., Favaro, J., Alessandro, M.d.: Integrating Feature Modeling with the
RSEB. In: Proceedings of the 5th International Conference on Software Reuse.
pp. 76–. ICSR ’98, IEEE Computer Society, Washington, DC, USA (1998), http:
//dl.acm.org/citation.cfm?id=551789.853486
10. Hac`ene, M.R., Huchard, M., Napoli, A., Valtchev, P.: Relational concept analysis:
mining concept lattices from multi-relational data. Ann. Math. Artif. Intell. 67(1),
81–108 (2013)
11. Kang, K.C., Cohen, S.G., Hess, J.A., Novak, W.E., Peterson, A.S.: Feature-oriented
domain analysis (foda) feasibility study (November 1990)
12. Kang, K.C., Kim, S., Lee, J., Kim, K., Shin, E., Huh, M.: Form: A feature-oriented
reuse method with domain-specific reference architectures. Ann. Software Eng. 5,
143–168 (1998)
13. Loesch, F., Ploedereder, E.: Restructuring variability in software product lines
using concept analysis of product configurations. In: Proc. of the 11th IEEE ECSMR.
pp. 159–170 (2007)
14. Niu, N., Easterbrook, S.M.: Concept analysis for product line requirements. In:</p>
          <p>Proc. of the 8th AOSD 2009. pp. 137–148 (2009)
15. Ryssel, U., Ploennigs, J., Kabitzsch, K.: Extraction of feature models from formal
contexts. In: Proc. of ACM SPLC ’11. pp. 4:1–4:8 (2011)
16. Salman, H.E., Seriai, A., Dony, C.: Feature-to-code traceability in a collection of
software variants: Combining formal concept analysis and information retrieval.</p>
          <p>In: Proc. of the14th IEEE IRI. pp. 209–216 (2013)
17. Sannier, N., Acher, M., Baudry, B.: From comparison matrix to variability model:
The wikipedia case study. In: Proc. of the 28th IEEE/ACM ASE 2013. pp. 580–585
(2013)
18. Shatnawi, A., Seriai, A.D., Sahraoui, H.: Recovering architectural variability of a
family of product variants. In: To appear in Proc. of the 14th ICSR (2015)
19. Xue, Y., Xing, Z., Jarzabek, S.: Feature location in a collection of product variants.</p>
          <p>In: Proc. of the 19th IEEE WCRE. pp. 145–154 (2012)
20. Yang, Y., Peng, X., Zhao, W.: Domain feature model recovery from multiple
applications using data access semantics and formal concept analysis. In: Proc. of the
16th IEEE WCRE. pp. 215–224 (2009)</p>
        </sec>
      </sec>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          <article-title>1. SPARQL 1.1 Query Language</article-title>
          .
          <source>Tech. rep., W3C</source>
          (
          <year>2013</year>
          ), http://www.w3.org/TR/ sparql11-query
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2. Ada´mek, J.,
          <string-name>
            <surname>Herrlich</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Strecker</surname>
            ,
            <given-names>G.E.</given-names>
          </string-name>
          :
          <article-title>Abstract and concrete categories : the joy of cats</article-title>
          .
          <source>Pure and applied mathematics</source>
          , Wiley, New York (
          <year>1990</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Andrews</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Polovina</surname>
            ,
            <given-names>S.:</given-names>
          </string-name>
          <article-title>A mapping from conceptual graphs to formal concept analysis</article-title>
          . In: Andrews,
          <string-name>
            <given-names>S.</given-names>
            ,
            <surname>Polovina</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            ,
            <surname>Hill</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            ,
            <surname>Akhgar</surname>
          </string-name>
          ,
          <string-name>
            <surname>B</surname>
          </string-name>
          . (eds.)
          <source>Proceedings of ICCS 2011. LNCS</source>
          , vol.
          <volume>6828</volume>
          , pp.
          <fpage>63</fpage>
          -
          <lpage>76</lpage>
          . Springer (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Azmeh</surname>
            ,
            <given-names>Z.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Huchard</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Napoli</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hacene</surname>
            ,
            <given-names>M.R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Valtchev</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          :
          <article-title>Querying relational concept lattices</article-title>
          .
          <source>In: Proc. of the 8th Intl. Conf. on Concept Lattices and their Applications (CLA'11)</source>
          . pp.
          <fpage>377</fpage>
          -
          <lpage>392</lpage>
          (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Beckett</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Berners-Lee</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Prud</surname>
          </string-name>
          'hommeaux, E.,
          <string-name>
            <surname>Carothers</surname>
          </string-name>
          , G.:
          <article-title>RDF 1.1 Turtle. Tech. rep</article-title>
          .,
          <source>W3C</source>
          (
          <year>2014</year>
          ), http://www.w3.org/TR/turtle
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Chandra</surname>
            ,
            <given-names>A.K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Merlin</surname>
            ,
            <given-names>P.M.:</given-names>
          </string-name>
          <article-title>Optimal implementation of conjunctive queries in relational databases</article-title>
          .
          <source>In: Proceedings of the ninth annual ACM symposium on Theory of computing</source>
          . pp.
          <fpage>77</fpage>
          -
          <lpage>90</lpage>
          . STOC '77,
          <string-name>
            <surname>ACM</surname>
          </string-name>
          , New York, NY, USA (
          <year>1977</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7. Ferr´e, S.:
          <article-title>Conceptual navigation in RDF graphs with SPARQL-like queries</article-title>
          . In: Kwuida,
          <string-name>
            <given-names>L.</given-names>
            ,
            <surname>Sertkaya</surname>
          </string-name>
          ,
          <string-name>
            <surname>B</surname>
          </string-name>
          . (eds.)
          <source>Proceedings of ICFCA 2010. LNCS</source>
          , vol.
          <volume>5986</volume>
          , pp.
          <fpage>193</fpage>
          -
          <lpage>208</lpage>
          . Springer, Heidelberg (
          <year>2010</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Ganter</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kuznetsov</surname>
            ,
            <given-names>S.O.</given-names>
          </string-name>
          :
          <article-title>Pattern structures and their projections</article-title>
          . In: Delugach,
          <string-name>
            <given-names>H.S.</given-names>
            ,
            <surname>Stumme</surname>
          </string-name>
          ,
          <string-name>
            <surname>G</surname>
          </string-name>
          . (eds.)
          <source>Proceedings of ICCS 2001. LNCS</source>
          , vol.
          <volume>2120</volume>
          , pp.
          <fpage>129</fpage>
          -
          <lpage>142</lpage>
          . Springer (
          <year>2001</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Hitzler</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          , Kro¨tzsch,
          <string-name>
            <given-names>M.</given-names>
            ,
            <surname>Rudolph</surname>
          </string-name>
          ,
          <string-name>
            <surname>S.</surname>
          </string-name>
          :
          <article-title>Foundations of Semantic Web Technologies</article-title>
          . Chapman &amp; Hall/CRC (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Huchard</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hacene</surname>
            ,
            <given-names>M.R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Roume</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Valtchev</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          :
          <article-title>Relational concept discovery in structured datasets</article-title>
          .
          <source>Annals of Mathematics and Artificial Intelligence</source>
          <volume>49</volume>
          (
          <issue>1-4</issue>
          ),
          <fpage>39</fpage>
          -
          <lpage>76</lpage>
          (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11. Ko¨tters, J.:
          <article-title>Concept lattices of a relational structure</article-title>
          . In: Pfeiffer,
          <string-name>
            <given-names>H.D.</given-names>
            ,
            <surname>Ignatov</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.I.</given-names>
            ,
            <surname>Poelmans</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            ,
            <surname>Gadiraju</surname>
          </string-name>
          , N. (eds.)
          <source>Proceedings of ICCS 2013. LNCS</source>
          , vol.
          <volume>7735</volume>
          , pp.
          <fpage>301</fpage>
          -
          <lpage>310</lpage>
          . Springer (
          <year>2013</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Kuznetsov</surname>
            ,
            <given-names>S.O.</given-names>
          </string-name>
          :
          <article-title>Computing graph-based lattices from smallest projections</article-title>
          . In: Wolff,
          <string-name>
            <given-names>K.E.</given-names>
            ,
            <surname>Palchunov</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.E.</given-names>
            ,
            <surname>Zagoruiko</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.G.</given-names>
            ,
            <surname>Andelfinger</surname>
          </string-name>
          ,
          <string-name>
            <surname>U</surname>
          </string-name>
          . (eds.)
          <source>KONT/KPP. Lecture Notes in Computer Science</source>
          , vol.
          <volume>6581</volume>
          , pp.
          <fpage>35</fpage>
          -
          <lpage>47</lpage>
          . Springer (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Kuznetsov</surname>
            ,
            <given-names>S.O.</given-names>
          </string-name>
          :
          <article-title>Fitting pattern structures to knowledge discovery in big data</article-title>
          .
          <source>In: Formal Concept Analysis, 11th International Conference, ICFCA</source>
          <year>2013</year>
          , Dresden, Germany, May 21-24,
          <year>2013</year>
          . Proceedings. pp.
          <fpage>254</fpage>
          -
          <lpage>266</lpage>
          (
          <year>2013</year>
          ), http://dx.doi.org/ 10.1007/978-3-
          <fpage>642</fpage>
          -38317-5_
          <fpage>17</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>Wille</surname>
          </string-name>
          , R.:
          <article-title>Conceptual graphs and formal concept analysis</article-title>
          .
          <source>In: Lukose</source>
          ,
          <string-name>
            <given-names>D.</given-names>
            ,
            <surname>Delugach</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.S.</given-names>
            ,
            <surname>Keeler</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            ,
            <surname>Searle</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            ,
            <surname>Sowa</surname>
          </string-name>
          ,
          <string-name>
            <surname>J.F</surname>
          </string-name>
          . (eds.)
          <source>Proceedings of ICCS</source>
          <year>1997</year>
          , 5th International Conference on Conceptual Structures.
          <source>LNCS</source>
          , vol.
          <volume>1257</volume>
          , pp.
          <fpage>290</fpage>
          -
          <lpage>303</lpage>
          . Springer, Heidelberg (
          <year>1997</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <surname>Wille</surname>
          </string-name>
          , R.:
          <article-title>Formal concept analysis and contextual logic</article-title>
          . In: Hitzler,
          <string-name>
            <surname>P.</surname>
          </string-name>
          , Scha¨rfe, H. (eds.) Conceptual Structures in Practice, pp.
          <fpage>137</fpage>
          -
          <lpage>173</lpage>
          . Chapman &amp; Hall/CRC (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <surname>Wolff</surname>
            ,
            <given-names>K.E.</given-names>
          </string-name>
          :
          <article-title>Relational scaling in relational semantic systems</article-title>
          . In: Rudolph,
          <string-name>
            <given-names>S.</given-names>
            ,
            <surname>Dau</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            ,
            <surname>Kuznetsov</surname>
          </string-name>
          ,
          <string-name>
            <surname>S.O</surname>
          </string-name>
          . (eds.)
          <source>Proceedings of ICCS 2009. LNCS</source>
          , vol.
          <volume>5662</volume>
          , pp.
          <fpage>307</fpage>
          -
          <lpage>320</lpage>
          . Springer (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          1. Al-Msie 'deen, R.,
          <string-name>
            <surname>Seriai</surname>
            ,
            <given-names>A.D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Huchard</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Urtado</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Vauttier</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Al-Khlifat</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Concept lattices: A representation space to structure software variability</article-title>
          .
          <source>In: ICICS 2014: The fifth International Conference on Information and Communication Systems</source>
          . pp.
          <fpage>1</fpage>
          -
          <lpage>6</lpage>
          . Irbid,
          <string-name>
            <surname>Jordan</surname>
          </string-name>
          (Apr
          <year>2014</year>
          ), http://hal-lirmm.ccsd.cnrs. fr/lirmm-01075533
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          2.
          <string-name>
            <surname>Al-Msie'deen</surname>
          </string-name>
          , R.,
          <string-name>
            <surname>Huchard</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Seriai</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Urtado</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Vauttier</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          :
          <article-title>Reverse engineering feature models from software configurations using formal concept analysis</article-title>
          .
          <source>In: Proceedings of the Eleventh International Conference on Concept Lattices and Their Applications</source>
          , Koˇsice, Slovakia, October 7-
          <issue>10</issue>
          ,
          <year>2014</year>
          . pp.
          <fpage>95</fpage>
          -
          <lpage>106</lpage>
          (
          <year>2014</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          3.
          <string-name>
            <surname>Al-Msie'deen</surname>
          </string-name>
          , R.,
          <string-name>
            <surname>Seriai</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Huchard</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Urtado</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Vauttier</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Salman</surname>
            ,
            <given-names>H.E.</given-names>
          </string-name>
          :
          <article-title>Mining features from the object-oriented source code of a collection of software variants using formal concept analysis and latent semantic indexing</article-title>
          .
          <source>In: Proc. of The 25th SEKE</source>
          . pp.
          <fpage>244</fpage>
          -
          <lpage>249</lpage>
          (
          <year>2013</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          4. B´ecan, G.,
          <string-name>
            <surname>Sannier</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Acher</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Barais</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Blouin</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Baudry</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          :
          <article-title>Automating the formalization of product comparison matrices</article-title>
          .
          <source>In: Proc. of the 29th ACM/IEEE ASE '14</source>
          . pp.
          <fpage>433</fpage>
          -
          <lpage>444</lpage>
          (
          <year>2014</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          5.
          <string-name>
            <surname>Clements</surname>
            ,
            <given-names>P.C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Northrop</surname>
            ,
            <given-names>L.M.:</given-names>
          </string-name>
          <article-title>Software product lines: practices and patterns</article-title>
          . Addison-Wesley (
          <year>2001</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          6.
          <string-name>
            <surname>Czarnecki</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Eisenecker</surname>
          </string-name>
          , U.W.:
          <article-title>Generative programming: methods, tools, and applications</article-title>
          . ACM Press/Addison-Wesley Publishing Co., New York, NY, USA (
          <year>2000</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          7.
          <string-name>
            <surname>Eisenbarth</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Koschke</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Simon</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          :
          <article-title>Locating features in source code</article-title>
          .
          <source>IEEE Trans. Softw. Eng</source>
          .
          <volume>29</volume>
          (
          <issue>3</issue>
          ),
          <fpage>210</fpage>
          -
          <lpage>224</lpage>
          (
          <year>2003</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>