=Paper=
{{Paper
|id=Vol-2211/paper-26
|storemode=property
|title=Verifying Contract-Based Specifications of Product Lines using Description Logic
|pdfUrl=https://ceur-ws.org/Vol-2211/paper-26.pdf
|volume=Vol-2211
|authors=Damir Nešić,Mattias Nyberg
|dblpUrl=https://dblp.org/rec/conf/dlog/NesicN18
}}
==Verifying Contract-Based Specifications of Product Lines using Description Logic==
Verifying Contract-Based Specifications of Product Lines using Description Logic Damir Nešić1 and Mattias Nyberg1,2 1 Royal Institute of Technology, Stockholm, Sweden 2 Scania CV AB, Södertalje, Sweden {damirn,matny}@kth.se Abstract. The complexity of critical systems is constantly increasing and if developed as Product Lines (PLs), the number of possible sys- tem configuration can be huge. Consequently, assuring system properties such as safety or security is increasingly difficult. Assurance cases are used often to argue that a system is safe or secure and Contract-Based Specification models are a promising foundation for assurance case ar- gumentation. This paper defines a method for Description Logic (DL) based verification 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 verification of these constraints can be reduced to satisfiability verification 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 off-the-shelf reasoner was used to verify if the CBS model is well-formed. 1 Introduction The complexity and heterogeneity of critical systems from domains such as automotive or aerospace is constantly increasing [15]. Furthermore, in order to increase the portfolio of products, critical systems are designed by following the Product Line Engineering (PLE) paradigm [2], which facilitates the development of a Product Line (PL) of similar systems such that a high number of distinct system configurations is possible. As a consequence, assuring that the complete PL satisfies properties like safety or security is increasingly difficult and in the case of a very high number of configurations even not feasible [16, 24, 38]. Development of critical systems is regulated by various standards [19, 20], 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 defined application in a defined environment” [1]. Developing the assurance case argumentation- structure and identifying the appropriate evidences are both difficult tasks. The required ”body of evidence” are concrete engineering artifacts, such as results of safety analyses, specifications, test cases etc. These are usually maintained and evolved by different tools, which in an enterprise setting often leads to inconsistencies among these artifacts. As argued in [5, 27], Semantic Web [32], 2 D. Nešić and M. Nyberg and Linked Data [9] 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. Difficulties 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 different 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 specification, design, and input for verification of complex, heterogeneous PLs is the Contract-Based Specification (CBS) framework [8, 30, 37] and its PLE extension [26]. As briefly discussed in [8], and as shown in [34] with basic CBS concepts, a CBS model of a system can serve as the foundation for assurance case argumentation. 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 verified using various technologies, the present paper introduces an approach based on Description Logic (DL) [4]. Because DL is the foundation of the Web Ontology Language (OWL) [23], which is a part of the Semantic Web stack, the aim of the paper is to enable the verification 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 effort of automating the prevailingly manual process of assurance case construction. The results show that using DL for the verification 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). Literature on using DL and DL-based reasoners for analyzing contract-based models is rare. Somewhat related work is [22, 39] where the issue of automatically brokering contracts between web services is treated. However the notion of a contract and its use is different and less formal compared to CBS frameworks. Most notable non DL-based work regarding analysis of contract-based models is the MICA tool [11]. While the present paper focuses on verifying CBS models of PLs independent of the formalism for expressing contracts, the MICA tool focuses on fine-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 [31] encodes a set of Simulink [13] objects that represent PL variations, as a DL KB and uses an off-the-shelf reasoners to analyze the possible product configurations for various defects [7]. Approaches in [14, 28, 36] provide the encoding of a particular type of a variability model, the so-called feature model (FM) [6], as a DL KB and also use off-the-shelf reasoners to detect similar product configuration defects. The approach in [10] performs a similar task but instead of an FM, the considered variability model is an OVM model [29]. The present paper also encodes an arbitrary FM as a DL KB but because the purpose Verifying Contract-Based Specifications of Product Lines using DL 3 of the FM encoding is to support the analysis of CBS models, the DL semantics of FM constructs is different and the encoding is more compact. Paper Structure. Section 2 summarizes the concepts underlying PLE, CBS and the constraints to be verified against an arbitrary CBS model. Section 3 defines 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 exemplifies how an arbitrary CBS model can be verified against the defined constraints. Finally, Section 6 concludes the paper. 2 Background The idea behind PLE is to declare features [2] 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 [3]. 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 [3]. By selecting features from an FM, a particular product configuration is selected, and the set of artifacts that implement the selected product configuration 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 Feature models and presence conditions Definition 1 (Feature Model). A feature model V is a pair V = (F, C) where F = {f1 , . . . , fn } is a set of features and C is a set of Boolean constraints over the features in F. FMs define 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 [12]. Figure 1b shows the FM running example, created using the FeatureIDE tool [21]. 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. Definition 2 (Product Configuration). Given a feature model V = (F, C), a product configuration, denoted as PC , is a set of feature value-assignments such that each fi ∈ F is assigned with a value true or false. A product configuration for which each Boolean constraint in C evaluates to true is valid. A product configuration represents, in terms of features, all individual systems that are identically configured. As discussed previously, the feature representation is mapped to the representation in terms of concrete artifacts by labeling the artifacts with presence conditions. 4 D. Nešić and M. Nyberg fi fi fi fi i) ii) iii) iv) fm fm fn fm fn fm fi → fm fi → (fm Y fn )fi → (fm ∨ fn ) (a) Used FM graphical syntax. (b) FM running example. Fig. 1: Used FM constructs and the FM running-example. Definition 3 (Presence Condition). A presence condition ϕ is a Boolean expression over features in F, defined as ϕ ::= fi |¬(ϕ)|(ϕ ∧ ϕ)|(ϕ ∨ ϕ). 2.2 Contract-Based Specification and Design The basic concepts of CBS are shown in Figure 2a. Given these, the central concept of a Contract is defined as following. Definition 4 (Contract). A Contract K is an ordered pair of specifications, 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). A component C satisfies a contract K = (A, G) if for each component C 0 such that implements(C 0 , A), the component C 00 is such that implements(C 00 , G) where composedOf(C 00 , C 0 ) and composedOf(C 00 , 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 Specification 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. Basic CBS concepts Component C - Physical or logical component Specification S - Requirement on C behaviour implements(C, S) - C behaviour conforms to S fulfills(Si , Sj ) - ∀C.implements(C, Si ) → implements(C, Sj ) composedOf(C, C1 ) - C1 comprises C a Detailed descriptions can be found in [26]. (a) Basic CBS concepts (b) FLD system running example. Fig. 2: Basic CBS concept (left) and the running CBS model example (right) The composite component FLD is composed of atomic components FuelSensor, COO, short for COOrdinator, BMS, short for Body Management System, and ICL, Verifying Contract-Based Specifications of Product Lines using DL 5 short for Instrumentation CLuster. Relations fulfills 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 specification under the assumption A0 that the ignition key is turned on. 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 fulfills G0 . The dashed border of BMS and COO indicates that these components are not present in each product configuration, i.e. COO is responsible for volts to liters conversions in product configurations with diesel fuel, while BMS, performs the same conversion in product configurations with gas fuel. In other words, the CBS model in Figure 2b defines the solution space of a PL of FLD systems. If a CBS model of a PL conforms to certain constraints, then it is referred to as a specification structure. Definition 5 (Specification 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 K 0 = (A0 , G0 ) allocated to the composite component C 0 , which is composed of atomic components Ci , an edge-labeled directed graph D = (N , E) is a specification structure if: i) each node n ∈ N is either an assumption Ai or A0 or a guarantee Gi or G0 , ii) each edge e = (ni , nj ) ∈ E corresponds to either a single assumptionOf(Si , Sj ) or a single fulfills(Si , Sj ) relation, iii) for each edge e = (ni , nj ) ∈ 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 fulfills(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 . Definition 5 allows circular specification structures, or presence conditions of an assumption A and a guarantee G of a contract (A, G) such that in some product configurations A and G do not simultaneously apply. To avoid such cases, a proper specification structure is defined. The entailment between presence conditions ϕi and ϕj is denoted as ϕi |=C ϕj as a short hand for (C, ϕi ) |= ϕ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 |=C ϕ1 . Definition 6 (Proper Specification Structure). Given a feature model V = (F, C), a specification structure is proper if: 6 D. Nešić and M. Nyberg i) for each assumption Ai of a contract Ki , there exists a specification Sk such that fulfills(Sk , Ai ), where Sk is either A0 or Gi , ii) there exists a guarantee Gi such that fulfills(Gi , G0 ), iii) the graph of D is acyclic, iv) for each contract (Ai , Gi ), it holds that Φ(Ai ) |=C Φ(Gi ) and Φ(Gi ) |=C Φ(Ai ), v) for each contract (Ai , Gi ) allocated to a component Ci it holds that Φ(Ai ) |=C Φ(Ci ) and Φ(Gi ) |=C Φ(Ci ), vi) for the composite component C 0 composed of atomic components Ci , for each Ci it holds that Φ(Ci ) |=C Φ(C 0 ), vii) for each contract Ki = (Ai , Gi ) allocated to an atomic component Ci and for each specification Sk such that fulfills(Sk , Ai ) it holds that Φ(Ai ) |=C W fulfills(Sk ,Ai ) Φ(Sk ), viii) for the contract K 0 = (A0 , G0 ) allocated to the composite component C 0 and for each guarantee Gi of a contract Ci such that fulfills(Gi , G0 ) it holds that 0 W Φ(G ) |=C fulfills(Gi ,G0 ) Φ(Gi ). The following theorem presents the key compositional idea of the CBS [26]. Note that in the following theorem, symbol |= means entailment between Si , Sj irregardless of the formalisms used to express Si and Sj . Theorem 1. Given a feature model V, and a specification structure D, if i) D is proper, ii) for each relation fulfills(Si , Sj ), it holds that Si |= Sj , iii) each atomic component Ci satisfies the contract allocated to it, then, for each valid product configuration PCi , the composite component C 0 satisifes the contract K 0 . Less formally, if a CBS model of a PL is a proper specification structure, and if each pair of specifications in fulfills relation entail each other, then by verifying that each component of each PL product configuration satisfies the contract allocated to it, it can be inferred that each product configuration satisfies the contract allocated to it. The remainder of the paper shows how to verify that an arbitrary CBS model, is a proper specification structure. 3 Semantics of presence conditions 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 specifications structure, it is necessary to define a common semantic interpretation of the constructs representing the problem space and the solution space. Because an FM and a CBS model jointly represent the PL design, a potentially infinite number of product individuals p can be created by instantiating the PL design. From this it follows that each product configuration 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. Verifying Contract-Based Specifications of Product Lines using DL 7 Let Config be a function which given a product individual p returns its product configuration PC . Moreover, let Eval be a function that takes a presence condition ϕ and a product configuration PC and returns the value of ϕ for the given PC . Definition 7 (Presence condition semantics). The semantics of a presence condition ϕ, denoted as JϕK, is JϕK = {p| Eval(ϕ, Config(p)) = true}. 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 [25]. 4 Encoding an FM and a CBS model as Tbox axioms 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 {G1 , A2 } ⊆ O, (G1 , A2 ) ∈ R, and GT1 = Specification, AT1 = Specification, (G1 , A1 )T = fulfills. 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 defined in [4]. 4.1 General CBS entities and relations as Tbox axioms Before defining 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 specification structure and specifications, de- noted hasSpecification(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 re- lation 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 Definition 5 and Definition 6 will require these roles. According to the discussion in Section 3, the Tbox is complemented with the concept DP ∈ 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 specifications 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. Finally, Definition 4 and condition (iii) from Definition 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 Definition 4, and ax- ioms ∃ RassOf .Self v ⊥ and ∃ Rfulls .Self v ⊥ correspond to condition (iii) of Definition 5. The semantics of the construct ∃R.Self is defined in [17]. 8 D. Nešić and M. Nyberg Table 1: Concepts and roles corresponding to CBS concepts and relations. (a) Concepts Dx ∈ NC (b) Roles Rx ∈ NR CBS entity concept Inclusion Role Domain Range Inverse Spec. Struct. DSS Rfulls d:DS r:DS Specification DS RassOf d:DSA r:DSG Assumption DSA DSA v DS RalcTo d:DK r:DC Guarantee DSG DSG v DS Rcomp d:DCA r:DCC Component DC RhasA d:DK r:DSA Composite Comp. DCC DCC v DC RhasG d:DK r:DSG Atomic Comp. DCA DCA v DC RhasS d:DSS r:DS Contract DK RgPartOf d:DSG r:DK RhasG RaPartOf d:DSA r:DK RhasA Disjoint: DSA u DSG v ⊥, DCC u DCA v ⊥ RfullBy d:DS r:DS Rfulls Disjoint: DSS , DS , DC , DK are pairwise disjoint a Actual axioms available in [26]. 4.2 Arbitrary FM as Tbox axioms In order to verify conditions (iv)-(viii) from Definition 6, it is necessary to consider the FM. Several publications [14, 28, 36] have encoded an FM as a set of Tbox axioms that capture the FM graph in order to verify properties [7] of the possible product configurations. The present paper encodes the FM differently and the semantics of each feature f is a set of product individuals whose product configuration PC is such that (f = true) ∈ PC . Consequently, the semantics of concepts based on features, e.g. presence conditions or product configurations, 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. Table 2: FM as Tbox axioms. FM construct Tbox encoding Feature fi Dfi ∈ NC , Dfi v DP Parent fi - child fm Dfm v Dfi Parent fi - mandatory child feature fm Dfi v Dfm Parent fi - optional child feature fm - Parent fi - alternative feature group f1 , . . . , fn Dfi ≡ tn j=1 Dfj ,Dfj u Dfk6=j v ⊥ Parent fi - or feature group f1 , . . . , fn Dfi ≡ tn j=1 Dfj Feature fi requires feature fj Dfi v Dfj Encoding arbitrary Boolean constraints in c ∈ C is exemplified 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. 4.3 Arbitrary model M as Tbox axioms 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 exemplified Verifying Contract-Based Specifications of Product Lines using DL 9 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 ∈ O such that oTi = Guarantee, the Tbox is complemented with axioms Doi ∈ NC , Doi v DSG , DSG ≡ ti Doi , and for each Doi and Doj6=i , Doi u Doj v ⊥. b) Encoding relations. For each oi ∈ O such that oTi = Guarantee and each pair (oi , o1 ), . . . , (oi , on ) ∈ R where (oi , o1 )T = · · · = (oi , on )T = fulfills, the Tbox is complemented with axioms Doi v unj=1 = 1 Rfulls .Doj , and Doi v ∀Rfulls .(tnj=1 Doj ). c) Encoding presence conditions. For each oi ∈ O labeled with a pres- ence condition Φ(oi ), the Tbox is complemented with axioms DΦ(oi ) ∈ 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 ∈ O such that oTi = Guarantee and Doi v DS , where DS is the domain restriction of role Rfulls , if there is no oj ∈ O such that (oi , oj ) ∈ R and (oi , oj )T = fulfills, the Tbox is complemented with the axiom Doi v ¬(∃ Rfulls .DS ) where DS is the range restriction of the role Rfulls . e) Encoding inverse relations. Because each pair (oi , oj ) ∈ R implicitly defines its inverse pair (oj , oi ), the relations inverse to fulfills, hasAssumption, hasGuarantee can be constructed, and the encoding principle (b) can be used to encode the relations represented by roles RfullBy , RaPartOf , and RgPartOf . 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 ∀RassOf .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 Specification, and DS which corresponds to Specification is the domain restriction of the role Rfulls , because there is no Specification Sk such that (A1 , Sk )T = fulfills, then the Tbox is complemented with the axiom DA1 v ¬(∃ Rfulls .DS ) where DS is the range restriction of Rfulls . The presence condition semantics defined in Definition 7 is preserved by the corresponding Tbox encoding due to the following theorem. 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 . The presence conditions semantics in Definition 7 is defined under the the closed- world assumption, i.e. only the explicitly created product individuals p can be 10 D. Nešić and M. Nyberg elements of JϕK. For example, there are thousands of configurations of the FLD system and only some configurations 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 Verifying that M is a proper specification structure This section presents the encoding of the constraints from Definition 5 and Definition 6 as Tbox axioms. Note that it is assumed that constraint iii) from Definition 6 is verified elsewhere. The constraint from Definition 5 and Definition 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 Definition 5 and (i) and (ii) from Definition 6. The former group includes constraints (iv)-(viii) from Definition 6. Here the encoding of a single constraint from both groups is presented while the remaining ones can be found in [26]. An example of a constraint unrelated to presence conditions is constraint (v)-a) from Definition 5. Definition 5(v)-a: For each edge fulfills(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 defines the conditions on Si and the expression to right defines conditions on Sj . D5(v)−a ≡(∃ RgPartOf .(∃ RalcTo .(∃ Rcomp .DC 0 ))) u (∀ Rfulls .((∃ RaPartOf .(∃ RalcTo .(∃ Rcomp .DC 0 ))) t DG0 )) Given a model M, for each {oi , oj } ⊆ O such that oTi = Guarantee, and (oi , oj )T = fulfills, it should be verified that the concept corresponding to Doi is subsumed by D5(v)−a , i.e. K |= Doi v D5(v)−a . In accordance with [18], verifying that a KB entails the above inclusion is equivalent to verifying that the KB is not satisfiable if the Tbox is complemented with a fresh concept DFresh ≡ Doi u ¬(D5(v)−a ). An example of a constraint related to presence condition is constraint (vii) from Definition 6. Definition 6(vii): For each contract Ki = (Ai , Gi ) allocated to an atomic component Ci and W for each specification Sk such that fulfills(Sk , Ai ) it holds that Φ(Ai ) |=C fulfills(Sk ,Ai ) Φ(Sk ). Given a model M, for each set of pairs {(o1 , oi ), · · · , (on , oi )} ⊆ R such that oTi = Assumption, (o1 , oi )T = . . . = (on , oi )T = fulfills, and Φ(oi ), Φ(o1 ), . . . , Φ(on ) are the corresponding presence conditions, it should be verified that K |= DΦ(oi ) v tnj=1 DΦ(oj ) . Note that be- cause an FM V = (F, C) is already encoded as a set of Tbox axioms, verification 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 . Similarly to the constraints above, for an arbitrary model M, each condition from Definition 5 and Definition 6 can be formulated as an inclusion axiom Di v Dj and verified by establishing that K |= Di v Dj . Let R be a set of all inclusion axioms required to establish that M is a proper specification structure. Verifying Contract-Based Specifications of Product Lines using DL 11 Theorem 3. Given a model M, a corresponding knowledge base K = (T , A), and the set R, if ∀r ∈ R.K |= r, then M is a proper specification structure. 5.1 Implementation In order to validate the presented encoding, the running example was manually implemented as an OWL ontology using the Protege [35] tool and HermiT [33] 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 specification structure. As can be verified 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 specification structure. The resulting ontology is available online3 . 6 Conclusion 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 Specification (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 verification 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 verifications, 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 verification 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 verification 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 verifications was possible to encode as the Tbox satisfiability problem and routinely checked by an off-the-shelf reasoner. Furthermore, the presented DL semantics of PL concepts feature, product configuration, 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 12 D. Nešić and M. Nyberg References 1. Goal structuring notation community standard version 2 (Jan 2018), https://scsc.uk/r141B:1?t=1 2. Apel, S., Batory, D., Kästner, C., Saake, G.: Feature-oriented software product lines. Springer-Verlag, Berlin-Heidelberg, Germany (2016) 3. Apel, S., Kästner, C.: An overview of feature-oriented software development (2009) 4. Baader, F., Calvanese, D., McGuinness, D.L., Nardi, D., Patel-Schneider, P.F. (eds.): The Description Logic Handbook: Theory, Implementation, and Applications. Cambridge University Press (2003) 5. Bansal, S.K.: Towards a semantic extract-transform-load (etl) framework for big data integration. In: 2014 IEEE International Congress on Big Data. pp. 522–529 (2014) 6. Batory, D.: Feature models, grammars, and propositional formulas. In: International Conference on Software Product Lines. pp. 7–20 (2005) 7. Benavides, D., Segura, S., Ruiz Cortés, A.: Automated analysis of feature models 20 years later: A literature review. Information Systems 35(6) (2010) 8. Benveniste, A., Caillaud, B., Nickovic, D., Passerone, R., Raclet, J.B., Reinke- meier, P., Sangiovanni-Vincentelli, A., Damm, W., Henzinger, T.A., Larsen, K.G.: Contracts for system design. Foundations and Trends® in Electronic Design Au- tomation (2-3), 124–400 (2018) 9. Bizer, C., Heath, T., Berners-Lee, T.: Linked data: The story so far. In: Semantic services, interoperability and web applications: emerging concepts, pp. 205–227. IGI Global (2011) 10. Braun, G., Pol’la, M., Buccella, A., Cecchi, L., Fillottrani, P., Cechich, A.: A dl semantics for reasoning over ovm-based variability models. In: Description Logic workshop (2017) 11. Caillaud, B.: A modal interface compositional analysis library (Oct 2011), www.irisa.fr/s4/tools/mica 12. Czarnecki, K., Wasowski, A.: Feature diagrams and logics: There and back again. In: Proceedings of the International Software Product Line Conference. pp. 23–34. SPLC ’07 (2007) 13. Dabney, J.B., Harman, T.L.: Mastering simulink. Pearson (2004) 14. Fan, S., Zhang, N.: Feature model based on description logics. In: Gabrys, B., Howlett, R.J., Jain, L.C. (eds.) Knowledge-Based Intelligent Information and Engineering Systems (2006) 15. Gunes, V., Peter, S., Givargis, T., Vahid, F.: A survey on concepts, applications, and challenges in cyber-physical systems. KSII Transactions on Internet & Information Systems 8(12) (2014) 16. Halin, A., Nuttinck, A., Acher, M., Devroey, X., Perrouin, G., Baudry, B.: Test them all, is it worth it? Assessing configuration sampling on the JHipster Web development stack. Empirical Software Engineering (Jul 2018) 17. Horrocks, I., Kutz, O., Sattler, U.: The even more irresistible sroiq. In: Proceedings of the International Conference on Principles of Knowledge Representation and Reasoning ’06. pp. 57–67 (2006) 18. Horrocks, I., Patel-Schneider, P.: Reducing owl entailment to description logic satisfiability. Web Semantics: Science, Services and Agents on the World Wide Web 1(4), 345 – 357 (2004) 19. ISO61508: Functional Safety. standard, The International Electrotechnical Com- mission, Geneva, CH (2010) Verifying Contract-Based Specifications of Product Lines using DL 13 20. ISO26262: Road vehicles - Functional safety. standard, International Organization for Standardization, Geneva, CH (2011) 21. Kastner, C., Thum, T., Saake, G., Feigenspan, J., Leich, T., Wielgorz, F., Apel, S.: Featureide: A tool framework for feature-oriented software development. In: Proceedings of the 31st International Conference on Software Engineering. pp. 611–614 (2009) 22. Liu, H., Li, Q., Gu, N., Liu, A.: Modeling and reasoning about semantic web services contract using description logic. In: 2008 The Ninth International Conference on Web-Age Information Management. pp. 179–186 (July 2008) 23. McGuinness, D.L., Van Harmelen, F., et al.: Owl web ontology language overview. W3C recommendation 10(10) (2004) 24. Mukelabai, M., Nešić, D., Maro, S., Berger, T., Steghöfer, J.P.: Tackling combi- natorial explosion:a study of industrial needs and practices for analyzing highly configurable systems. In: Proceedings of ASE’18 (2018) 25. Nešić, D., Nyberg, M.: Modeling product-line legacy assets using multi-level theory. In: Proceedings of International Systems and Software Product Lines Conference ’17 - Volume B. pp. 89–96 (2017) 26. Nešić, D., Nyberg, M.: Contract-based specification and description-logic-based vali- dation of product lines. Technical report, Royal Institute of Technology, Stockholm, Sweden (2018) 27. Nešić, D., Nyberg, M.: Applying multi level modeling to data integration in product line engineering. In: Proceedings MODELS Satelite events: International Workshop on Multi-Level Modeling ’17. pp. 235–242 (2017) 28. Noorian, M., Ensan, A., Bagheri, E., Boley, H., Biletskiy, Y.: Feature model debugging based on description logic reasoning. In: DMS (2011) 29. Pohl, K., Böckle, G., van der Linden, F.J.: Software Product Line Engineering. Foundations, Principles, and Techniques. Springer (2005) 30. Quinton, S., Graf, S.: Contract-based verification of hierarchical systems of compo- nents. In: Proceedings IEEE International Conference on Software Engineering and Formal Methods ’08. pp. 377–381 (2008) 31. Ryssel, U., Ploennigs, J., Kabitzsch, K.: Reasoning of feature models from derived features. SIGPLAN Not. 48(3), 21–30 (Sep 2012) 32. Shadbolt, N., Berners-Lee, T., Hall, W.: The semantic web revisited. IEEE Intelligent Systems pp. 96–101 (2006) 33. Shearer, R., Motik, B., Horrocks, I.: Hermit: A highly-efficient owl reasoner. In: OWLED. vol. 432, p. 91 (2008) 34. Sljivo, I., Gallina, B., Carlson, J., Hansson, H.: Generation of safety case argument- fragments from safety contracts. In: Proceedings International Conference on Com- puter Safety, Reliability, and Security ’14. pp. 170–185 (2014) 35. Stanford Center for Biomedical Informatics Research: Protege ontology editor (2016), https://protege.stanford.edu/ 36. Wang, H.H., Li, Y.F., Sun, J., Zhang, H., Pan, J.: Verifying feature models using owl. Web Semantics 5(2), 117–129 37. Westman, J., Nyberg, M.: Conditions of contracts for separating responsibilities in heterogeneous systems. Formal Methods in System Design 52(2), 147–192 (Apr 2018) 38. Wozniak, L., Clements, P.: How automotive engineering is taking product line engineering to the extreme. In: SPLC ’15 (2015) 39. Zou, J., Wang, Y., Lin, K.J.: A formal service contract model for accountable saas and cloud services. In: 2010 IEEE International Conference on Services Computing. pp. 73–80 (July 2010)