<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Verifying Contract-Based Speci cations of Product Lines using Description Logic</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Damir Nesic</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Mattias Nyberg</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Royal Institute of Technology</institution>
          ,
          <addr-line>Stockholm</addr-line>
          ,
          <country country="SE">Sweden</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Scania CV AB</institution>
          ,
          <addr-line>Sodertalje</addr-line>
          ,
          <country country="SE">Sweden</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>The complexity of critical systems is constantly increasing and if developed as Product Lines (PLs), the number of possible system con guration can be huge. Consequently, assuring system properties such as safety or security is increasingly di cult. Assurance cases are used often to argue that a system is safe or secure and Contract-Based Speci cation models are a promising foundation for assurance case argumentation. This paper de nes a method for Description Logic (DL) based veri cation of the well-formedness constraints of an arbitrary CBS model of a PL. The paper presents the DL encoding of arbitrary CBS model, the DL encoding of the well-formedness constraints, and shows how the veri cation of these constraints can be reduced to satis ability veri cation of the corresponding knowledge base. In order to validate the presented approach, a small, but real, industrial PL was expressed as a CBS model, implemented as an OWL ontology, and an o -the-shelf reasoner was used to verify if the CBS model is well-formed.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        The complexity and heterogeneity of critical systems from domains such as
automotive or aerospace is constantly increasing [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ]. Furthermore, in order to
increase the portfolio of products, critical systems are designed by following the
Product Line Engineering (PLE) paradigm [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ], which facilitates the development
of a Product Line (PL) of similar systems such that a high number of distinct
system con gurations is possible. As a consequence, assuring that the complete
PL satis es properties like safety or security is increasingly di cult and in the
case of a very high number of con gurations even not feasible [
        <xref ref-type="bibr" rid="ref16 ref24 ref38">16, 24, 38</xref>
        ].
      </p>
      <p>
        Development of critical systems is regulated by various standards [
        <xref ref-type="bibr" rid="ref19 ref20">19, 20</xref>
        ], and
often the proof of compliance is embodied in a form of an assurance case. An
assurance case is a "a reasoned and compelling argument, supported by a body
of evidence, that a system [...] will operate as intended for a de ned application
in a de ned environment" [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. Developing the assurance case
argumentationstructure and identifying the appropriate evidences are both di cult tasks. The
required "body of evidence" are concrete engineering artifacts, such as results
of safety analyses, speci cations, test cases etc. These are usually maintained
and evolved by di erent tools, which in an enterprise setting often leads to
inconsistencies among these artifacts. As argued in [
        <xref ref-type="bibr" rid="ref27 ref5">5, 27</xref>
        ], Semantic Web [
        <xref ref-type="bibr" rid="ref32">32</xref>
        ],
and Linked Data [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] are promising approaches for cleaning and integrating such
heterogeneous data with the purpose of creating a reliable source of knowledge,
e.g. a source of assurance case evidences.
      </p>
      <p>
        Di culties regarding the assurance case argumentation-structure stem from
the fact that arguing that a system is safe or secure can only be done based on the
methods used to engineer the system. Typically, a variety of methods with di erent
semantics and levels of formality are used to specify, design, implement, and
verify a PL of systems. Consequently, constructing a "reasoned and compelling"
argumentation-structure is challenging and most often manual. One of the few
approaches that can serve as a unifying framework for speci cation, design,
and input for veri cation of complex, heterogeneous PLs is the Contract-Based
Speci cation (CBS) framework [
        <xref ref-type="bibr" rid="ref30 ref37 ref8">8, 30, 37</xref>
        ] and its PLE extension [
        <xref ref-type="bibr" rid="ref26">26</xref>
        ]. As brie y
discussed in [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ], and as shown in [
        <xref ref-type="bibr" rid="ref34">34</xref>
        ] with basic CBS concepts, a CBS model of
a system can serve as the foundation for assurance case argumentation.
      </p>
      <p>
        In order to use a CBS model for this purpose, the model must conform to
various constraints which ensure sound and complete argumentation. Although
these constraints can be veri ed using various technologies, the present paper
introduces an approach based on Description Logic (DL) [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. Because DL is the
foundation of the Web Ontology Language (OWL) [
        <xref ref-type="bibr" rid="ref23">23</xref>
        ], which is a part of the
Semantic Web stack, the aim of the paper is to enable the veri cation of CBS
models, and indirectly the assurance case arguments, with technologies that are
tightly coupled with technologies that can be used for assurance-case evidence
access. Consequently, this should reduce the e ort of automating the prevailingly
manual process of assurance case construction. The results show that using DL
for the veri cation of CBS models is possible, and also that formalizing the
semantics of PLE and CBS concepts in DL is intuitive. However, the results also
show that the open-world assumption and the lack of support for meta-modeling,
incur overhead in the encoding of CBS models as a DL Knowledge Base (KB).
      </p>
      <p>
        Literature on using DL and DL-based reasoners for analyzing contract-based
models is rare. Somewhat related work is [
        <xref ref-type="bibr" rid="ref22 ref39">22, 39</xref>
        ] where the issue of automatically
brokering contracts between web services is treated. However the notion of a
contract and its use is di erent and less formal compared to CBS frameworks.
Most notable non DL-based work regarding analysis of contract-based models is
the MICA tool [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ]. While the present paper focuses on verifying CBS models of
PLs independent of the formalism for expressing contracts, the MICA tool focuses
on ne-grained analyses of CBS models expressed using modal interface theory.
Interestingly, OWL has been extensively used in PLE as a tool for the analysis of
the so-called variability models, which represent the commonality and variability
of a PL. Work in [
        <xref ref-type="bibr" rid="ref31">31</xref>
        ] encodes a set of Simulink [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ] objects that represent PL
variations, as a DL KB and uses an o -the-shelf reasoners to analyze the possible
product con gurations for various defects [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]. Approaches in [
        <xref ref-type="bibr" rid="ref14 ref28 ref36">14, 28, 36</xref>
        ] provide
the encoding of a particular type of a variability model, the so-called feature
model (FM) [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ], as a DL KB and also use o -the-shelf reasoners to detect similar
product con guration defects. The approach in [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ] performs a similar task but
instead of an FM, the considered variability model is an OVM model [
        <xref ref-type="bibr" rid="ref29">29</xref>
        ]. The
present paper also encodes an arbitrary FM as a DL KB but because the purpose
of the FM encoding is to support the analysis of CBS models, the DL semantics
of FM constructs is di erent and the encoding is more compact.
      </p>
      <p>Paper Structure. Section 2 summarizes the concepts underlying PLE, CBS and
the constraints to be veri ed against an arbitrary CBS model. Section 3 de nes
the semantics of presence conditions in terms of CBS concepts. Section 4 presents
the encoding of the PLE and CBS concepts as a DL KB and it is followed by
Section 5 which exempli es how an arbitrary CBS model can be veri ed against
the de ned constraints. Finally, Section 6 concludes the paper.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Background</title>
      <p>
        The idea behind PLE is to declare features [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] which represent characteristics of
each product in a PL, and express them, and their mutual dependencies, in a
variability model which is most often a Feature Model (FM). This representation
of a PL is a part of the so-called problem space [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. Given an FM, development
artifacts are labeled with feature-based formulas referred to as presence conditions.
The representation of a PL in terms of artifacts labeled with presence conditions is
referred to as the solution space [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. By selecting features from an FM, a particular
product con guration is selected, and the set of artifacts that implement the
selected product con guration are those whose presence conditions evaluate to
true for the given feature selection. The remainder of this section presents FMs
as the solution space and CBS models, as the problem space representation of a
PL. From here on, a feature is considered to be a Boolean variable.
2.1
      </p>
      <sec id="sec-2-1">
        <title>Feature models and presence conditions</title>
        <p>De nition 1 (Feature Model). A feature model V is a pair V = (F ; C) where
F = ff1; : : : ; fng is a set of features and C is a set of Boolean constraints over
the features in F .</p>
        <p>
          FMs de ne graphical syntax for a set of Boolean constraints in order to
structure the features into a tree, where each parent -fi to child -fm relation
corresponds to the expression fm ! fi. Figure 1a shows the FM graphical
syntax used in the present paper, together with corresponding propositional
expressions [
          <xref ref-type="bibr" rid="ref12">12</xref>
          ]. Figure 1b shows the FM running example, created using the
FeatureIDE tool [
          <xref ref-type="bibr" rid="ref21">21</xref>
          ]. The syntax in Figure 1a is read as: i) fm is a mandatory
feature, ii) fm and fn are a group of alternative features where Y stands for
exclusive or, iii) fm and fn are a group of or features, and iv) fm is an optional
feature. Note that Figure 1b contains additional Boolean constraints, where the
constraint such as V8 ! Advanced is read as requires.
        </p>
        <p>De nition 2 (Product Con guration). Given a feature model V = (F ; C), a
product con guration, denoted as PC , is a set of feature value-assignments such
that each fi 2 F is assigned with a value true or false. A product con guration
for which each Boolean constraint in C evaluates to true is valid.</p>
        <p>A product con guration represents, in terms of features, all individual systems
that are identically con gured. As discussed previously, the feature representation
is mapped to the representation in terms of concrete artifacts by labeling the
artifacts with presence conditions.
(a) Used FM graphical syntax.
(b) FM running example.</p>
      </sec>
      <sec id="sec-2-2">
        <title>2.2 Contract-Based Speci cation and Design</title>
        <p>The basic concepts of CBS are shown in Figure 2a. Given these, the central
concept of a Contract is de ned as following.</p>
        <p>De nition 4 (Contract). A Contract K is an ordered pair of speci cations,
denoted (A; G), where A is called an Assumption, G is called a Guarantee, and A
and G are in the assumption of relation, denoted assumptionOf(A; G).</p>
        <p>A component C satis es a contract K = (A; G) if for each component C0 such
that implements(C0; A), the component C00 is such that implements(C00; G) where
composedOf(C00; C0) and composedOf(C00; C). Components composed of other
components are referred to as Composite while components not composed of
other components are referred to as Atomic. The expectation that a component C
shall satisfy the contract K is indicated by allocating a contract to a component,
denoted as allocatedTo(K; C). Finally, in order to allow PLs, function labels
each Speci cation and each Component with a presence condition '. Figure 2b
shows the running example which is the Fuel Level Display system (FLD), a real
system present in product of Scania CV AB.</p>
        <p>Basic CBS concepts
Component C - Physical or logical component
Speci cation S - Requirement on C behaviour
implements(C; S) - C behaviour conforms to S
ful lls(Si; Sj) - 8C:implements(C; Si) !</p>
        <p>
          implements(C; Sj)
composedOf(C; C1) - C1 comprises C
aDetailed descriptions can be found in [
          <xref ref-type="bibr" rid="ref26">26</xref>
          ].
        </p>
        <p>(a) Basic CBS concepts
(b) FLD system running example.</p>
        <p>The composite component FLD is composed of atomic components FuelSensor,
COO, short for COOrdinator, BMS, short for Body Management System, and ICL,
short for Instrumentation CLuster. Relations ful lls are shown as arrows labeled
f, relations assumptionOf are shown as arrows labeled a, and white rectangles
represent contracts. Overlaying a contract over a component represents the
allocatedTo relation. The intended functionality of the FLD system is to display
the current fuel level on the ICL display and guarantee that the displayed value
corresponds to the actual fuel level. Guarantee G0 captures this speci cation
under the assumption A0 that the ignition key is turned on.</p>
        <p>The guarantees of contracts allocated to FuelSensor, COO, BMS and ICL specify
that the fuel level measurement in volts, its conversion to liters, and its display
on a [0 max] scale, correspond to the actual fuel level, while assuming that
the power-supply is nominal, that the information on the communication buss
is updated regularly etc. Consequently, if G3 is implemented, i.e. the displayed
value corresponds to the actual one, then G0 is implemented, i.e. G3 ful lls G0.
The dashed border of BMS and COO indicates that these components are not
present in each product con guration, i.e. COO is responsible for volts to liters
conversions in product con gurations with diesel fuel, while BMS, performs the
same conversion in product con gurations with gas fuel. In other words, the CBS
model in Figure 2b de nes the solution space of a PL of FLD systems.</p>
        <p>If a CBS model of a PL conforms to certain constraints, then it is referred to
as a speci cation structure.</p>
        <p>De nition 5 (Speci cation Structure). Given a set of contracts Ki = (Ai; Gi),
where each Ai and Gi is unique, such that each Ki is allocated to a single atomic
component Ci, a contract K0 = (A0; G0) allocated to the composite component
C0, which is composed of atomic components Ci, an edge-labeled directed graph
D = (N ; E) is a speci cation structure if:
i) each node n 2 N is either an assumption Ai or A0 or a guarantee Gi or G0,
ii) each edge e = (ni; nj) 2 E corresponds to either a single assumptionOf(Si; Sj)
or a single ful lls(Si; Sj) relation,
iii) for each edge e = (ni; nj) 2 E it holds that ni 6= nj,
iv) for each assumptionOf(Si; Sj) relation, Si is an assumption, Sj is a guarantee
and the ordered pair (Si; Sj) is a contract,
v) for each edge ful lls(Si; Sj), if
a) Si is a guarantee then Si is a guarantee of a contract Ki and Sj is either
an assumption Aj or the guarantee G0,
b) Si is an assumption then Si is the assumption A0 and Sj is any Ai.</p>
        <p>De nition 5 allows circular speci cation structures, or presence conditions
of an assumption A and a guarantee G of a contract (A; G) such that in some
product con gurations A and G do not simultaneously apply. To avoid such cases,
a proper speci cation structure is de ned. The entailment between presence
conditions 'i and 'j is denoted as 'i j=C 'j as a short hand for (C; 'i) j= 'j, i.e.
entailment must hold under the constraints from C. For example, in Figure 2b, it
holds that '2 2 '1, but when constraints Truck ! Fuel and Fuel ! Gas Y Diesel
from Figure 1b are considered, then the entailment holds, i.e. '2 j=C '1.
De nition 6 (Proper Speci cation Structure). Given a feature model V =
(F ; C), a speci cation structure is proper if:
i) for each assumption Ai of a contract Ki, there exists a speci cation Sk such
that ful lls(Sk; Ai), where Sk is either A0 or Gi,
ii) there exists a guarantee Gi such that ful lls(Gi; G0),
iii) the graph of D is acyclic,
iv) for each contract (Ai; Gi), it holds that (Ai) j=C (Gi) and (Gi) j=C (Ai),
v) for each contract (Ai; Gi) allocated to a component Ci it holds that (Ai) j=C
(Ci) and (Gi) j=C (Ci),
vi) for the composite component C0 composed of atomic components Ci, for each</p>
        <p>Ci it holds that (Ci) j=C (C0),
vii) for each contract Ki = (Ai; Gi) allocated to an atomic component Ci and
for each speci cation Sk such that ful lls(Sk; Ai) it holds that (Ai) j=C
Wful lls(Sk;Ai) (Sk),
viii) for the contract K0 = (A0; G0) allocated to the composite component C0 and
for each guarantee Gi of a contract Ci such that ful lls(Gi; G0) it holds that
(G0) j=C Wful lls(Gi;G0) (Gi).</p>
        <p>
          The following theorem presents the key compositional idea of the CBS [
          <xref ref-type="bibr" rid="ref26">26</xref>
          ].
Note that in the following theorem, symbol j= means entailment between Si; Sj
irregardless of the formalisms used to express Si and Sj .
        </p>
        <p>Theorem 1. Given a feature model V, and a speci cation structure D, if
i) D is proper,
ii) for each relation ful lls(Si; Sj ), it holds that Si j= Sj ,
iii) each atomic component Ci satis es the contract allocated to it,
then, for each valid product con guration PCi , the composite component C0
satisifes the contract K0.</p>
        <p>Less formally, if a CBS model of a PL is a proper speci cation structure, and
if each pair of speci cations in ful lls relation entail each other, then by verifying
that each component of each PL product con guration satis es the contract
allocated to it, it can be inferred that each product con guration satis es the
contract allocated to it. The remainder of the paper shows how to verify that an
arbitrary CBS model, is a proper speci cation structure.
3</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>Semantics of presence conditions</title>
      <p>This and the following sections present the contribution of the paper. In order to
be able to verify that an arbitrary CBS model is a proper speci cations structure,
it is necessary to de ne a common semantic interpretation of the constructs
representing the problem space and the solution space.</p>
      <p>Because an FM and a CBS model jointly represent the PL design, a potentially
in nite number of product individuals p can be created by instantiating the PL
design. From this it follows that each product con guration corresponds to a set
of products individuals. Furthermore, each p can be represented as a Component,
either atomic or composite. For example, each individual Scania product, which
is a truck or a bus, is a Composite component composedOf an individual of the
FLD system, which is also a Composite component.</p>
      <p>Let Con g be a function which given a product individual p returns its product
con guration PC . Moreover, let Eval be a function that takes a presence condition
' and a product con guration PC and returns the value of ' for the given PC .</p>
      <sec id="sec-3-1">
        <title>De nition 7 (Presence condition semantics). The semantics of a presence</title>
        <p>condition ', denoted as J'K, is J'K = fpj Eval('; Con g(p)) = trueg.</p>
        <p>
          A presence condition ' corresponds to a set of individual products to which
the artifact labeled with ' applies. This interpretation of presence conditions
corresponds to the concept of product groups [
          <xref ref-type="bibr" rid="ref25">25</xref>
          ].
4
        </p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>Encoding an FM and a CBS model as Tbox axioms</title>
      <p>This section presents the encoding of an arbitrary FM and an arbitrary CBS
model as a set of Tbox axioms. In order to provide a formal encoding, a CBS
model is represented as a tuple M = (O; R; J KT ), where O is a set of objects,
R is a set of pairs representing relations, and J KT is a function which returns
the type of an object or a relation. For instance, a fragment of the example
from Figure 2b would be fG1; A2g O, (G1; A2) 2 R, and G1T = Speci cation,
A1T = Speci cation, (G1; A1)T = ful lls.</p>
      <p>
        Regarding DL notation, let NC ; NR and NI be mutually disjoint sets of
concept names, role names, and individual names, respectively. In the remainder
of the paper we use the DL notation and the semantics de ned in [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ].
4.1
      </p>
      <sec id="sec-4-1">
        <title>General CBS entities and relations as Tbox axioms</title>
        <p>Before de ning the encoding of a FM or a model M, the Tbox is complemented
with concepts and roles that correspond to general CBS entities and relations
and these are shown in Table 1. Roles RhasS ; RhasA; RhasG , correspond to the
containment relation between a speci cation structure and speci cations,
denoted hasSpeci cation(D; Si), and the containment relation between contracts
and corresponding assumptions and guarantees, denoted hasAssumption(K; A)
and hasGuarantee(K; G). The role Rcomp, short for comprises, represents the
relation inverse to composedOf, and roles RaPartOf ; RgPartOf ; RfullBy are inverse to
roles RhasA; RhasG ; Rfulls , respectively. As will be shown later, expressing several
conditions from De nition 5 and De nition 6 will require these roles.</p>
        <p>According to the discussion in Section 3, the Tbox is complemented with
the concept DP 2 NC which represents all individual products, and the axiom
DP v DC in order to capture the fact that each individual product is a component.
Moreover, because speci cations are partitioned into assumptions and guarantees,
the axiom DS DSA t DSG is added to the Tbox. Similarly, because components
are partitioned into Atomic and Composite components, the axiom DC DCA t
DCC is added to the Tbox.</p>
        <p>
          Finally, De nition 4 and condition (iii) from De nition 5 can be encoded
as Tbox axioms independently of the provided FM or a model M. The axiom
DK v = 1 RhasA:DSA u = 1 RhasG :DSG corresponds to De nition 4, and
axioms 9 RassOf :Self v ? and 9 Rfulls :Self v ? correspond to condition (iii) of
De nition 5. The semantics of the construct 9R:Self is de ned in [
          <xref ref-type="bibr" rid="ref17">17</xref>
          ].
        </p>
      </sec>
      <sec id="sec-4-2">
        <title>4.2 Arbitrary FM as Tbox axioms</title>
        <p>
          In order to verify conditions (iv)-(viii) from De nition 6, it is necessary to
consider the FM. Several publications [
          <xref ref-type="bibr" rid="ref14 ref28 ref36">14, 28, 36</xref>
          ] have encoded an FM as a set of
Tbox axioms that capture the FM graph in order to verify properties [
          <xref ref-type="bibr" rid="ref7">7</xref>
          ] of the
possible product con gurations. The present paper encodes the FM di erently
and the semantics of each feature f is a set of product individuals whose product
con guration PC is such that (f = true) 2 PC . Consequently, the semantics of
concepts based on features, e.g. presence conditions or product con gurations, is
also set of product individuals, just as the intuition suggests. The Tbox encoding
of an arbitrary FM V = (F ; C) is shown in Table 2.
        </p>
        <p>Encoding arbitrary Boolean constraints in c 2 C is exempli ed on the running
example from Figure 1b. Consider the arbitrary constraint Diesel ^ V8 !
LeftTank ^ RightTank. The corresponding Tbox axiom is DTruck v :(DDiesel u
DV8) t (DLeftTank u DRightTank), where DTruck is the root of the FM.</p>
        <sec id="sec-4-2-1">
          <title>Arbitrary model M as Tbox axioms</title>
          <p>Given an arbitrary model M = (O; R; J KT ), the Tbox encoding consists of the
encoding of: objects in O, relations in R, presence conditions of objects in O, the
absence of relations because of the underlying open-world assumption, and inverse
relation described in the beginning of Section 4.1. The encoding is exempli ed
by using particular types of objects and relations but the encoding principles are
similar for all other types of objects and relations.
a) Encoding objects. For each oi 2 O such that oiT = Guarantee, the Tbox is
complemented with axioms Doi 2 NC , Doi v DSG , DSG tiDoi , and for
each Doi and Doj6=i , Doi u Doj v ?.
b) Encoding relations. For each oi 2 O such that oiT = Guarantee and each
pair (oi; o1); : : : ; (oi; on) 2 R where (oi; o1)T = = (oi; on)T = ful lls,
n
the Tbox is complemented with axioms Doi v uj=1 = 1 Rfulls :Doj , and
n</p>
          <p>Doi v 8Rfulls :(tj=1Doj ).</p>
        </sec>
        <sec id="sec-4-2-2">
          <title>c) Encoding presence conditions. For each oi 2 O labeled with a pres</title>
          <p>ence condition (oi), the Tbox is complemented with axioms D (oi) 2
NC ,D (oi) v DP , and D (oi) DL(oi) where DL(oi) is the DL encoding
of the presence condition according to the same principles as for arbitrary
FM constraints.
d) Encoding the absence of relations. For each oi 2 O such that oiT =
Guarantee and Doi v DS, where DS is the domain restriction of role Rfulls , if
there is no oj 2 O such that (oi; oj) 2 R and (oi; oj)T = ful lls, the Tbox is
complemented with the axiom Doi v :(9 Rfulls :DS) where DS is the range
restriction of the role Rfulls .
e) Encoding inverse relations. Because each pair (oi; oj) 2 R implicitly
de nes its inverse pair (oj; oi), the relations inverse to ful lls, hasAssumption,
hasGuarantee can be constructed, and the encoding principle (b) can be used
to encode the relations represented by roles RfullBy , RaPartOf , and RgPartOf .</p>
          <p>Using the running example, we exemplify the usage of the encoding principles.
Object FuelSensor from Figure 2b is encoded as DFuelSensor v DCA and declared
to be pairwise disjoint with each of the three remaining concepts DBMS; DCOO,
and DICL. As an example of relation encoding, consider the pair (A1; G1)T =
assumptionOf whose encoding is DA1 v= 1 RassOf :DG1 and DA1 v 8RassOf :DG1 .
Note that the reason for encoding relations using both value restrictions and
number restrictions, is because value restriction does not guarantee the existence
of the relation. As an example of a presence condition encoding, consider (A2) =
'5 = Truck ^ V8 which is encoded as D (A2) DTruck u DV8 . Finally, for an
example of the absence of a relation, consider assumption A1. Because each
Assumption is a Speci cation, and DS which corresponds to Speci cation is
the domain restriction of the role Rfulls , because there is no Speci cation Sk
such that (A1; Sk)T = ful lls, then the Tbox is complemented with the axiom
DA1 v :(9 Rfulls :DS) where DS is the range restriction of Rfulls .</p>
          <p>The presence condition semantics de ned in De nition 7 is preserved by the
corresponding Tbox encoding due to the following theorem.</p>
          <p>Theorem 2. Given a presence condition ' expressed over features f1; : : : ; fm,
and corresponding concepts D' and Df1 ; : : : ; Dfm , if D' 'DL, where 'DL is
obtained by replacing each feature fi from ' with Dfi , each ^ with u, each _
with t, and preserving each :, then it holds that J'K = D'I.</p>
          <p>The presence conditions semantics in De nition 7 is de ned under the the
closedworld assumption, i.e. only the explicitly created product individuals p can be
elements of J'K. For example, there are thousands of con gurations of the FLD
system and only some con gurations are instantiated into product individuals
p. Consequently, J'K can only be analyzed with respect to the created p. Given
Theorem 2 and the the open-world assumption of DL, reasoning about D'I is
possible without asserting a single named individual in the Abox.
5</p>
          <p>Verifying that M is a proper speci cation structure
This section presents the encoding of the constraints from De nition 5 and
De nition 6 as Tbox axioms. Note that it is assumed that constraint iii) from
De nition 6 is veri ed elsewhere.</p>
          <p>
            The constraint from De nition 5 and De nition 6 can be partitioned into
two groups; the ones about presence condition, and the unrelated to presence
condition. The latter group includes constraints (i), (ii), (iv), (v) from De nition 5
and (i) and (ii) from De nition 6. The former group includes constraints (iv)-(viii)
from De nition 6. Here the encoding of a single constraint from both groups
is presented while the remaining ones can be found in [
            <xref ref-type="bibr" rid="ref26">26</xref>
            ]. An example of a
constraint unrelated to presence conditions is constraint (v)-a) from De nition 5.
          </p>
          <p>De nition 5(v)-a: For each edge ful lls(Si; Sj) if Si is a guarantee then Si is
a guarantee of a contract Ki and Sj is either an assumption Aj or the guarantee
G0. The constraint is encoded by a concept D5(v) a where the expression to the
left of u oprator de nes the conditions on Si and the expression to right de nes
conditions on Sj.</p>
          <p>D5(v) a (9 RgPartOf :(9 RalcTo:(9 Rcomp:DC0 ))) u</p>
          <p>
            (8 Rfulls :((9 RaPartOf :(9 RalcTo:(9 Rcomp:DC0 ))) t DG0 ))
Given a model M, for each foi; ojg O such that oiT = Guarantee, and (oi; oj)T =
ful lls, it should be veri ed that the concept corresponding to Doi is subsumed
by D5(v) a, i.e. K j= Doi v D5(v) a. In accordance with [
            <xref ref-type="bibr" rid="ref18">18</xref>
            ], verifying that a KB
entails the above inclusion is equivalent to verifying that the KB is not satis able
if the Tbox is complemented with a fresh concept DFresh Doi u :(D5(v) a).
          </p>
          <p>An example of a constraint related to presence condition is constraint (vii)
from De nition 6.</p>
          <p>De nition 6(vii): For each contract Ki = (Ai; Gi) allocated to an atomic
component Ci and for each speci cation Sk such that ful lls(Sk; Ai) it holds
that (Ai) j=C Wful lls(Sk;Ai) (Sk). Given a model M, for each set of pairs
f(o1; oi); ; (on; oi)g R such that oiT = Assumption, (o1; oi)T = : : : =
(on; oi)T = ful lls, and (oi); (o1); : : : ; (on) are the corresponding presence
n
conditions, it should be veri ed that K j= D (oi) v tj=1D (oj). Note that
because an FM V = (F ; C) is already encoded as a set of Tbox axioms, veri cation
that the above inclusion holds is with respect to the constraints in C. Verifying
the entailment of the above inclusion is done in the same way as for D5(v) a.</p>
          <p>Similarly to the constraints above, for an arbitrary model M, each condition
from De nition 5 and De nition 6 can be formulated as an inclusion axiom
Di v Dj and veri ed by establishing that K j= Di v Dj. Let R be a set of all
inclusion axioms required to establish that M is a proper speci cation structure.
Theorem 3. Given a model M, a corresponding knowledge base K = (T ; A),
and the set R, if 8r 2 R:K j= r, then M is a proper speci cation structure.</p>
        </sec>
      </sec>
      <sec id="sec-4-3">
        <title>5.1 Implementation</title>
        <p>
          In order to validate the presented encoding, the running example was manually
implemented as an OWL ontology using the Protege [
          <xref ref-type="bibr" rid="ref35">35</xref>
          ] tool and HermiT [
          <xref ref-type="bibr" rid="ref33">33</xref>
          ]
reasoner was used to perform the reasoning. The resulting ontology was SRIQ
DL and it contained 463 axioms with 45 additional axioms needed to verify
if the running example is a proper speci cation structure. As can be veri ed
from Figure 2b, the analysis showed that (A4) and (G4) do not entail (ICL),
thus violating constraint (v) of Def. 6, i.e. the running example is not a proper
speci cation structure. The resulting ontology is available online3.
6
        </p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>Conclusion</title>
      <p>Compliance with standards regulating the development of critical systems is often
shown using assurance cases. Assurance cases are comprised of two main parts, the
arguments about the intended system properties and the evidences which support
the arguments. As discussed in Section 1, Contract-Based Speci cation (CBS)
frameworks have shown to be useful as the basis of assurance case arguments but
only if they conform to a number of constraints. The present paper has presented
a DL-based method for the veri cation of these constraints against an arbitrary
CBS model of a product line of systems. Although other technologies, besides
DL, can be used to perform such veri cations, DL was used because DL is the
foundation of OWL which is part of the Semantic Web stack and Semantic Web
is a promising approach for cleaning, integrating, and enabling uniform access to
the evidences required for an assurance case. Because some constraints require
veri cation of propositional entailment it was not possible to encode a CBS model
as a set of Abox assertions, and the constraints to which a CBS model must
conform to as a set of Tbox axioms. Instead, both the CBS model and the CBS
constraints were encoded as Tbox axioms and a new DL concept was added for
each CBS model-element that was in the scope of a constraint. In other words,
the number of additional DL concepts needed for the veri cation of a CBS model
is linear in the size of the CBS model. A drawback of using DL and the underlying
open-world assumption was the need to explicitly declare negative facts about the
given CBS model, thus incurring an overhead compared to technologies working
under the closed-world assumption. Still, each of the several types of veri cations
was possible to encode as the Tbox satis ability problem and routinely checked
by an o -the-shelf reasoner. Furthermore, the presented DL semantics of PL
concepts feature, product con guration, and presence condition naturally captures
the intuition that each of these concepts represents subsets of the set of all possible
product individuals. Future work includes applying the presented method on a
CBS model of a full-scale FLD system PL.
3 https://goo.gl/8G5Wec</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          <article-title>1. Goal structuring notation community standard version 2</article-title>
          (
          <year>Jan 2018</year>
          ), https://scsc.uk/r141B:1?t=
          <fpage>1</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Apel</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Batory</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          , Kastner,
          <string-name>
            <given-names>C.</given-names>
            ,
            <surname>Saake</surname>
          </string-name>
          , G.:
          <article-title>Feature-oriented software product lines</article-title>
          . Springer-Verlag, Berlin-Heidelberg, Germany (
          <year>2016</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Apel</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          , Kastner,
          <string-name>
            <surname>C.</surname>
          </string-name>
          :
          <article-title>An overview of feature-oriented software development (</article-title>
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Baader</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Calvanese</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>McGuinness</surname>
            ,
            <given-names>D.L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Nardi</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Patel-Schneider</surname>
            ,
            <given-names>P.F</given-names>
          </string-name>
          . (eds.):
          <article-title>The Description Logic Handbook: Theory, Implementation, and Applications</article-title>
          . Cambridge University Press (
          <year>2003</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Bansal</surname>
            ,
            <given-names>S.K.</given-names>
          </string-name>
          :
          <article-title>Towards a semantic extract-transform-load (etl) framework for big data integration</article-title>
          .
          <source>In: 2014 IEEE International Congress on Big Data</source>
          . pp.
          <volume>522</volume>
          {
          <issue>529</issue>
          (
          <year>2014</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Batory</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          :
          <article-title>Feature models, grammars, and propositional formulas</article-title>
          .
          <source>In: International Conference on Software Product Lines</source>
          . pp.
          <volume>7</volume>
          {
          <issue>20</issue>
          (
          <year>2005</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Benavides</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Segura</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ruiz</surname>
            <given-names>Cortes</given-names>
          </string-name>
          ,
          <string-name>
            <surname>A.</surname>
          </string-name>
          :
          <article-title>Automated analysis of feature models 20 years later: A literature review</article-title>
          .
          <source>Information Systems</source>
          <volume>35</volume>
          (
          <issue>6</issue>
          ) (
          <year>2010</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Benveniste</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Caillaud</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Nickovic</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Passerone</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Raclet</surname>
            ,
            <given-names>J.B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Reinkemeier</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sangiovanni-Vincentelli</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Damm</surname>
            ,
            <given-names>W.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Henzinger</surname>
            ,
            <given-names>T.A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Larsen</surname>
            ,
            <given-names>K.G.</given-names>
          </string-name>
          :
          <article-title>Contracts for system design</article-title>
          .
          <source>Foundations and Trends® in Electronic Design Automation (2-3)</source>
          ,
          <volume>124</volume>
          {
          <fpage>400</fpage>
          (
          <year>2018</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Bizer</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Heath</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Berners-Lee</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          :
          <article-title>Linked data: The story so far</article-title>
          .
          <source>In: Semantic services, interoperability and web applications: emerging concepts</source>
          , pp.
          <volume>205</volume>
          {
          <fpage>227</fpage>
          .
          <string-name>
            <given-names>IGI</given-names>
            <surname>Global</surname>
          </string-name>
          (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Braun</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          , Pol'la,
          <string-name>
            <given-names>M.</given-names>
            ,
            <surname>Buccella</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            ,
            <surname>Cecchi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            ,
            <surname>Fillottrani</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            ,
            <surname>Cechich</surname>
          </string-name>
          ,
          <string-name>
            <surname>A.</surname>
          </string-name>
          :
          <article-title>A dl semantics for reasoning over ovm-based variability models</article-title>
          .
          <source>In: Description Logic workshop</source>
          (
          <year>2017</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Caillaud</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          :
          <article-title>A modal interface compositional analysis library (Oct 2011), www</article-title>
          .irisa.fr/s4/tools/mica
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Czarnecki</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wasowski</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Feature diagrams and logics: There and back again</article-title>
          .
          <source>In: Proceedings of the International Software Product Line Conference</source>
          . pp.
          <volume>23</volume>
          {
          <fpage>34</fpage>
          . SPLC '
          <volume>07</volume>
          (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Dabney</surname>
            ,
            <given-names>J.B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Harman</surname>
            ,
            <given-names>T.L.</given-names>
          </string-name>
          :
          <article-title>Mastering simulink</article-title>
          .
          <source>Pearson</source>
          (
          <year>2004</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>Fan</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          , Zhang, N.:
          <article-title>Feature model based on description logics</article-title>
          . In: Gabrys,
          <string-name>
            <given-names>B.</given-names>
            ,
            <surname>Howlett</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.J.</given-names>
            ,
            <surname>Jain</surname>
          </string-name>
          , L.C. (eds.)
          <article-title>Knowledge-Based Intelligent Information</article-title>
          and Engineering
          <string-name>
            <surname>Systems</surname>
          </string-name>
          (
          <year>2006</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <surname>Gunes</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Peter</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Givargis</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Vahid</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          :
          <article-title>A survey on concepts, applications, and challenges in cyber-physical systems</article-title>
          .
          <source>KSII Transactions on Internet &amp; Information Systems</source>
          <volume>8</volume>
          (
          <issue>12</issue>
          ) (
          <year>2014</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <surname>Halin</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Nuttinck</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Acher</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Devroey</surname>
            ,
            <given-names>X.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Perrouin</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Baudry</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          :
          <article-title>Test them all, is it worth it? Assessing con guration sampling on the JHipster Web development stack</article-title>
          .
          <source>Empirical Software Engineering (Jul</source>
          <year>2018</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17.
          <string-name>
            <surname>Horrocks</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kutz</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sattler</surname>
            ,
            <given-names>U.</given-names>
          </string-name>
          :
          <article-title>The even more irresistible sroiq</article-title>
          .
          <source>In: Proceedings of the International Conference on Principles of Knowledge Representation and Reasoning '06</source>
          . pp.
          <volume>57</volume>
          {
          <issue>67</issue>
          (
          <year>2006</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18.
          <string-name>
            <surname>Horrocks</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Patel-Schneider</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          :
          <article-title>Reducing owl entailment to description logic satis ability</article-title>
          .
          <source>Web Semantics: Science, Services and Agents on the World Wide Web</source>
          <volume>1</volume>
          (
          <issue>4</issue>
          ),
          <volume>345</volume>
          {
          <fpage>357</fpage>
          (
          <year>2004</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          19.
          <article-title>ISO61508: Functional Safety. standard, The International Electrotechnical Commission</article-title>
          , Geneva,
          <string-name>
            <surname>CH</surname>
          </string-name>
          (
          <year>2010</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          20. ISO26262:
          <article-title>Road vehicles - Functional safety</article-title>
          . standard, International Organization for Standardization, Geneva,
          <string-name>
            <surname>CH</surname>
          </string-name>
          (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          21.
          <string-name>
            <surname>Kastner</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Thum</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Saake</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Feigenspan</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Leich</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wielgorz</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Apel</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          :
          <article-title>Featureide: A tool framework for feature-oriented software development</article-title>
          .
          <source>In: Proceedings of the 31st International Conference on Software Engineering</source>
          . pp.
          <volume>611</volume>
          {
          <issue>614</issue>
          (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          22.
          <string-name>
            <surname>Liu</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Li</surname>
            ,
            <given-names>Q.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gu</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Liu</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Modeling and reasoning about semantic web services contract using description logic</article-title>
          .
          <source>In: 2008 The Ninth International Conference on Web-Age Information Management</source>
          . pp.
          <volume>179</volume>
          {
          <issue>186</issue>
          (
          <year>July 2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          23.
          <string-name>
            <surname>McGuinness</surname>
            ,
            <given-names>D.L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Van Harmelen</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          , et al.:
          <article-title>Owl web ontology language overview</article-title>
          .
          <source>W3C recommendation 10(10)</source>
          (
          <year>2004</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          24.
          <string-name>
            <surname>Mukelabai</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Nesic</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Maro</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Berger</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          , Steghofer,
          <string-name>
            <surname>J.P.</surname>
          </string-name>
          :
          <article-title>Tackling combinatorial explosion:a study of industrial needs and practices for analyzing highly con gurable systems</article-title>
          .
          <source>In: Proceedings of ASE'18</source>
          (
          <year>2018</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          25.
          <string-name>
            <surname>Nesic</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Nyberg</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Modeling product-line legacy assets using multi-level theory</article-title>
          .
          <source>In: Proceedings of International Systems and Software Product Lines Conference '</source>
          <fpage>17</fpage>
          - Volume B. pp.
          <volume>89</volume>
          {
          <issue>96</issue>
          (
          <year>2017</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref26">
        <mixed-citation>
          26.
          <string-name>
            <surname>Nesic</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Nyberg</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Contract-based speci cation and description-logic-based validation of product lines</article-title>
          .
          <source>Technical report</source>
          , Royal Institute of Technology, Stockholm, Sweden (
          <year>2018</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref27">
        <mixed-citation>
          27.
          <string-name>
            <surname>Nesic</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Nyberg</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Applying multi level modeling to data integration in product line engineering</article-title>
          .
          <source>In: Proceedings MODELS Satelite events: International Workshop on Multi-Level Modeling '17</source>
          . pp.
          <volume>235</volume>
          {
          <issue>242</issue>
          (
          <year>2017</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref28">
        <mixed-citation>
          28.
          <string-name>
            <surname>Noorian</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ensan</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bagheri</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Boley</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Biletskiy</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          :
          <article-title>Feature model debugging based on description logic reasoning</article-title>
          . In: DMS (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref29">
        <mixed-citation>
          29.
          <string-name>
            <surname>Pohl</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          , Bockle, G.,
          <string-name>
            <surname>van der Linden</surname>
            ,
            <given-names>F.J.: Software</given-names>
          </string-name>
          <string-name>
            <surname>Product Line Engineering</surname>
          </string-name>
          . Foundations, Principles, and Techniques. Springer (
          <year>2005</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref30">
        <mixed-citation>
          30.
          <string-name>
            <surname>Quinton</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Graf</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          :
          <article-title>Contract-based veri cation of hierarchical systems of components</article-title>
          .
          <source>In: Proceedings IEEE International Conference on Software Engineering and Formal Methods '08</source>
          . pp.
          <volume>377</volume>
          {
          <issue>381</issue>
          (
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref31">
        <mixed-citation>
          31.
          <string-name>
            <surname>Ryssel</surname>
            ,
            <given-names>U.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ploennigs</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kabitzsch</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          :
          <article-title>Reasoning of feature models from derived features</article-title>
          .
          <source>SIGPLAN Not</source>
          .
          <volume>48</volume>
          (
          <issue>3</issue>
          ),
          <volume>21</volume>
          {30 (Sep
          <year>2012</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref32">
        <mixed-citation>
          32.
          <string-name>
            <surname>Shadbolt</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Berners-Lee</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hall</surname>
            ,
            <given-names>W.:</given-names>
          </string-name>
          <article-title>The semantic web revisited</article-title>
          .
          <source>IEEE Intelligent Systems</source>
          pp.
          <volume>96</volume>
          {
          <issue>101</issue>
          (
          <year>2006</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref33">
        <mixed-citation>
          33.
          <string-name>
            <surname>Shearer</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Motik</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Horrocks</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          :
          <article-title>Hermit: A highly-e cient owl reasoner</article-title>
          .
          <source>In: OWLED</source>
          . vol.
          <volume>432</volume>
          , p.
          <volume>91</volume>
          (
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref34">
        <mixed-citation>
          34.
          <string-name>
            <surname>Sljivo</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gallina</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Carlson</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hansson</surname>
          </string-name>
          , H.:
          <article-title>Generation of safety case argumentfragments from safety contracts</article-title>
          .
          <source>In: Proceedings International Conference on Computer Safety</source>
          , Reliability, and Security '
          <volume>14</volume>
          . pp.
          <volume>170</volume>
          {
          <issue>185</issue>
          (
          <year>2014</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref35">
        <mixed-citation>
          35. Stanford Center for Biomedical Informatics Research: Protege ontology editor (
          <year>2016</year>
          ), https://protege.stanford.edu/
        </mixed-citation>
      </ref>
      <ref id="ref36">
        <mixed-citation>
          36.
          <string-name>
            <surname>Wang</surname>
            ,
            <given-names>H.H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Li</surname>
            ,
            <given-names>Y.F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sun</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          , Zhang, H.,
          <string-name>
            <surname>Pan</surname>
          </string-name>
          , J.:
          <article-title>Verifying feature models using owl</article-title>
          .
          <source>Web Semantics</source>
          <volume>5</volume>
          (
          <issue>2</issue>
          ),
          <volume>117</volume>
          {
          <fpage>129</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref37">
        <mixed-citation>
          37.
          <string-name>
            <surname>Westman</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Nyberg</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Conditions of contracts for separating responsibilities in heterogeneous systems</article-title>
          .
          <source>Formal Methods in System Design</source>
          <volume>52</volume>
          (
          <issue>2</issue>
          ),
          <volume>147</volume>
          {192 (Apr
          <year>2018</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref38">
        <mixed-citation>
          38.
          <string-name>
            <surname>Wozniak</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Clements</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          :
          <article-title>How automotive engineering is taking product line engineering to the extreme</article-title>
          .
          <source>In: SPLC '15</source>
          (
          <year>2015</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref39">
        <mixed-citation>
          39.
          <string-name>
            <surname>Zou</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wang</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lin</surname>
            ,
            <given-names>K.J.:</given-names>
          </string-name>
          <article-title>A formal service contract model for accountable saas and cloud services</article-title>
          .
          <source>In: 2010 IEEE International Conference on Services Computing</source>
          . pp.
          <volume>73</volume>
          {
          <issue>80</issue>
          (
          <year>July 2010</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>