Table 2 - uploaded by Abdelrahman Osman Elfaki
Content may be subject to copyright.
Representation of variant and variation point using Backus–Naur form (BNF). 

Representation of variant and variation point using Backus–Naur form (BNF). 

Similar publications

Article
Full-text available
Continuous heating differential scanning calorimetry is frequently employed to study the kinetics of transformation reactions and, in particular, the crystallization of the glassy alloys. Such data are analyzed by the Kissinger method, which was originally derived for the study of homogeneous reactions. Although the consensus in the literature, ove...
Article
Full-text available
A numerical study of the use of the momentum interpolation method for flows with a large body force is presented. The inherent problems of the momentum interpolation method are discussed first. The origins of problems of the momentum interpolation method are the validity of linear assumptions employed for the evaluation of the cell-face velocities,...
Article
In this paper, nonviscous, nonproportional, symmetric vibrating structures are considered. Nonviscously damped systems present dissipative forces depending on the time history of the response via kernel hereditary functions. Solutions of the free motion equation leads to a nonlinear eigenvalue problem involving mass, stiffness and damping matrices,...
Article
This work deals with the problem of estimating a photovoltaic generation forecasting model in scenarios where measurements of meteorological variables (i.e., solar irradiance and temperature) at the plant site are not available. A novel algorithm for the estimation of the parameters of the well-known PVUSA model of a photovoltaic plant is proposed....
Conference Paper
Full-text available
We present a computational method that produces automatically precision models of trees from terrestrial laser scanning (TLS) data. The method is fast, typically few minutes per tree, and the resulting model contains both the topological and geometrical information of the tree. The method is validated using artificial and real TLS data. The results...

Citations

... Some Artificial Intelligence (AI) [24] techniques have since been used to solve this problem, albeit during domain engineering to ensure that the FM itself remains consistent with respect to the features being added by developers. For instance, in [25], the authors have translated the FM into description logic to resolve internal inconsistencies, and in [26,27], the authors have done the same using abductive reasoning and knowledge-base (KB) rules, respectively. A review of these AI techniques (from 1990 to 2009) is given in [28]. ...
... The proposed solution does not fix inconsistencies, moreover, an exemplary FM with a limited set of features is used for validation. Elfaki et al. [26] present a knowledgebased solution to fix the inconsistencies. The primary objective of the research is to correct an inconsistent FM due to dead and inconsistent features. ...
Article
Full-text available
A Software Product Line (SPL) is a collection of software for configuring software products in which sets of features are configured by different teams of product developers. This process often leads to inconsistencies (or dissatisfaction of constraints) in the resulting product configurations, whose resolution consumes considerable business resources. In this paper, we aim to solve this problem by learning, or mathematically modeling, all previous feature selection patterns by SPL developers and then use these patterns to predict inconsistent configuration patterns at runtime. We propose and implement an informative Predictive Analytics tool called p-SPLIT, which provides runtime decision support to SPL developers in three ways: 1) by identifying configurations of feature selections (patterns) that lead to inconsistent product configurations, 2) by identifying feature selection patterns that lead to consistent product configurations, and 3) by predicting feature inconsistencies in the product that is currently being configured (at runtime). p-SPLIT provides the first application of Predictive Analytics for the SPL feature modeling domain at the application engineering level. With different experiments in representative SPL settings, we obtained 85% predictive accuracy for p-SPLIT and a 98% AUC score. We also obtained subjective feedback from the practitioners who validate the usability of p-SPLIT in providing runtime decision support to SPL developers. Our results prove that p-SPLIT technology is a potential addition for the global SPL product configuration community, and we further validate this by comparing p-SPLIT’s characteristics with state-of-the-art SPL development solutions.
... Some studies have identified causes for dead features (Trinidad et al., 2008b). The knowledge-based method was used to identify inconsistencies and redundancies by looking for particular explanations for defects (Osman & Amnuaisuk, 2008;Elfaki et al., 2009b). A connection between propositional logic and context-free grammar was used to detect inconsistency in FMs by Hemakumar (Hemakumar, 2008). ...
Article
Full-text available
Product line (PL)-based development is a thriving research area to develop software-intensive systems. Feature models (FMs) facilitate derivation of valid products from a PL by managing commonalities and variabilities among software products. However, the researchers in academia as well as in the industries experience difficulties in quality assessment of FMs. The increasing complexity and size of FMs may lead to defects, which outweigh the benefits of PL. This paper provides a systematic literature review and key research issues related to the FM defects in PL. We derive a typology of FM defects according to their level of importance. The information on defects’ identification and explanations are provided with formalization. Further, corrective explanations are presented which incorporates various techniques used to fix defects with their implementation. This information would help software engineering community by enabling developers or modelers to find the types of defects and their causes and to choose an appropriate technique to fix defects in order to produce defect-free products from FMs, thereby enhancing the overall quality of PL-based development.
... To solve the inconsistency issue, researchers proposed different solutions such as description logic [10], abductive reasoning [11], a knowledge-based solution [12], and VOLUME 8, 2020 This work is licensed under a Creative Commons Attribution 4.0 License. For more information, see https://creativecommons.org/licenses/by/4.0/ ...
... However, this approach does not apply to the product configuration because of the different dynamics (explained in detail in the Background Section) [13]. Similarly, the main focus of the knowledge-based approach [12] is to solve the inconsistencies in FM. The abductive reasoning approach [11] only identifies an inconsistency with the possible reason but it does not solve inconsistencies. ...
... A knowledge-based approach to solve the inconsistencies is also presented in [12]. Here, the focus is on inconsistent FM due to dead and inconsistent features. ...
Article
Full-text available
Feature modeling is a common approach for configuring and capturing commonalities and variations among different Software Product Lines (SPL) products. This process is carried out by a set of SPL design teams, each working on a different configuration of the desired product. The integration of these configurations leads to inconsistencies in the final product design. The typical solution involves extensive deliberation and unnecessary resource usage, which makes SPL inconsistency resolution an expensive and unoptimized process. We present the first comprehensive evaluation of swarm intelligence (using Particle Swarm Optimization) to the problem of resolving inconsistencies in a configured integrated SPL product. We call it o-SPLIT (optimization-based Software Product LIne Tool) and validate o-SPLIT with standard ERP, SPLOT (Software Product Lines Online Tools), and BeTTy (BEnchmarking and TesTing on the analYsis) product configurations along with diverse feature set sizes. The results show that Particle Swarm Optimization can successfully optimize SPL product configurations. Finally, we implement o-SPLIT as a decision-support tool in a real, local SPL setting and acquire subjective feedback from SPL designers which shows that the teams are convinced of the usability and high-level decision support provided by o-SPLIT.
... Automated analysis of VMs has a long history [4,18,19]. For instance, to detect whether a model instance (also known as product or configuration) is valid [1-3, 10, 16, 20, 23, 24, 30, 36, 38, 40] (i.e. it does not violate any inter-feature constraints); to provide explanations about the causes that make an instance invalid in order to guide the user to solve the problem [1,3,8,12,13,20,30,33,34,38,42]; to detect dead features in the model (i.e. features that cannot be part of any valid instance) [8,12,13,20,25,26,33,34,39,41,42,44,45], etc. ...
... For instance, to detect whether a model instance (also known as product or configuration) is valid [1-3, 10, 16, 20, 23, 24, 30, 36, 38, 40] (i.e. it does not violate any inter-feature constraints); to provide explanations about the causes that make an instance invalid in order to guide the user to solve the problem [1,3,8,12,13,20,30,33,34,38,42]; to detect dead features in the model (i.e. features that cannot be part of any valid instance) [8,12,13,20,25,26,33,34,39,41,42,44,45], etc. ...
Conference Paper
Full-text available
Automated analysis of variability models is crucial for managing software system variants, customized for different market segments or contexts of use. As most approaches for automated analysis are built upon logic engines, they require having a Boolean logic translation of the variability models. However, the translation of some significant languages to Boolean logic is remarkably non-trivial. The contribution of this paper is twofold: first, a translation of the Kconfig language is presented; second, an approach to test the translation for any given model is provided. The proposed translation has been empirically tested with the introduced validation procedure on five open-source projects.
... The proposed approach identifies false optional features as compared to the work by Millo et al [43]. Knowledge-based (KB) method is used to identify inconsistency and dead feature using particular explanations for these defects [44]. Giraldo et al [45] have used ontologies and Semantic Query-enhanced Web Rule Language (SQWRL) to identify causes of dead features. ...
... Further, Elfaki [7] has detected and prevented inconsistencies in the process of domain engineering using FOL rules. They have used their own generated data sets to validate these methods [5,7,44]. ...
Article
Software product line (SPL) is an emergent strategy for generating software products. The variability and commonality of SPL is illustrated by feature models (FMs). The quality of software products relies on the correctness of SPL. The overall benefits of software product line engineering (SPLE) are reduced by various kinds of defects such as dead features and false optional features in an FM. These defects can be inherited in the software products built from a defective product line model (PLM). In this paper, the problem of enhancing the quality of software products derived from SPLE is handled. An ontological based approach is proposed following first-order logic (FOL) rules to identify defects namely dead features and false optional features. The classification of cases for these defects in FMs that represent variability of SPL is defined. The presented approach has been explained with the help of an FM derived from the standard case in product line (PL) community. The initial empirical evaluation of the proposed approach analyses 35 FMs with different sizes. The results obtained exhibit that the proposed approach is accurate, effective, scalable up to 200 features and therefore improves SPL.
... In this paper, two validation operations are investigated: inconsistency detection, and inconsistency prevention. The initial versions of this work are published in elfaki et al. (2008; 2009). ...
Article
A medium-sized domain-engineering process can contain thousands of features that all have constraint dependency rules between them. Therefore, the validation of the content of domain-engineering process is vital to produce high-quality software products. However, it is not feasible to do this manually. This paper aims to improve the quality of the software products generated by the domain-engineering process by ensuring the validity of the results of that process. We propose rules for two operations: inconsistency detection and inconsistency prevention. We introduce first-order logic (FOL) rules to detect three types of inconsistency and prevent the direct inconsistency in the domain-engineering process. Developing FOL rules to detect and prevent inconsistency in the domain-engineering process directly without the need to the configuration process is our main contribution. We performed some experiments to test the scalability and applicability of our approach on domain-engineered software product lines containing 1000 assets to 20000 assets. The results show that our approach is scalable and could be utilized to improve the domain-engineering process.
... The scientific literature provides several approaches to automate the identification of semantic defects in FMs [4,26,35,43,45,47]. Nevertheless, none of them is able to automatically explain how to correct the identified defects. ...
Article
Full-text available
Software product line engineering is a promising paradigm for developing software intensive systems. Among their proven benefits are reduced time to market, better asset reuse and improved software quality. To achieve this, the collection of products of the product line are specified by means of product line models. Feature Models (FMs) are a common notation to represent product lines that express the set of feature combinations that software products can have. Experience shows that these models can have defects. Defects in FMs be inherited to the products configured from these models. Consequently, defects must be early identified and corrected. Several works reported in scientific literature, deal with identification of defects in FMs. However, only few of these proposals are able to explain how to fix defects, and only some corrections are suggested. This paper proposes a new method to detect all possible corrections from a defective product line model. The originality of the contribution is that corrections can be found when the method systematically eliminates dependencies from the FMs. The proposed method was applied on 78 distinct FMs with sizes up to 120 dependencies. Evaluation indicates that the method proposed in this paper scale up, is accurate, and sometimes useful in real scenarios.
... However, in contrast to our work, they only use constraints on attribute values containing smaller-, greater-or equal-relations and no general arithmetic constraints as we do. Osman et al. [7] detect and explain anomalies in a FM by a knowledge-based method using propositional logic. He extends a FM by so called variation points. ...
Article
Full-text available
Product configuration systems are often based on a variability model. The development of a variability model is a time consuming and error-prone process. Considering the ongoing development of products, the variability model has to be adapted frequently. These changes often lead to mistakes, such that some products cannot be derived from the model anymore, that undesired products are derivable or that there are contradictions in the variability model. In this paper, we propose an approach to discover and to explain contradictions in attributed feature models efficiently in order to assist the developer with the correction of mistakes. We use extended feature models with attributes and arithmetic constraints, translate them into a constraint satisfaction problem and explore those for contradictions. When a contradiction is found, the constraints are searched for a set of contradicting relations by the QuickXplain algorithm.
... For instance, various work supports detection of anomalies in an fm, such as "dead features" (a feature can never be selected) or "false optional features" (a feature is specified as optional but must be included into all products, e.g., due to cross-tree constraints). While the majority of existing work addresses Boolean fms, some work supports detecting such anomalies also in cardinality-based fms, e.g., based on propositional logic [8] or a knowledge-base [15]. The survey also considers inconsistent cardinalities ("wrong cardinality") but only with respect to group cardinalities and, moreover, none of the surveyed work supports detecting them. ...
Article
Feature-models (fms) are a widely used approach to specify the commonalities and variability in variable systems and software product lines. Various works have addressed edits to fms for fm evolution and tool support to ensure consistency of fms. An important extension to fms are feature cardinalities and related constraints, as extensively used e.g., when modeling variability of cloud computing environments. Since cardinality-based fms pose additional complexity, additional support for evolution and consistency checking with respect to feature cardinalities would be desirable, but has not been addressed yet. In this paper, we discuss common cardinality-based fm edits and resulting inconsistencies based on experiences with fms in cloud domain. We introduce tool-support for automated inconsistency detection and explanation based on an off-the-shelf solver. We demonstrate the feasibility of the approach by an empirical evaluation showing the performance of the tool.
... La corrección de los modelos de características depende entonces de la experiencia y habilidad del diseñador del modelo, quien debe decidir qué cambios del modelo corregirían cada defecto. Sin embargo, hacer esta operación manualmente es tan complicado como encontrar el defecto mismo, ya que a medida que aumenta la complejidad del modelo de características, el número de dependencias y la transitividad entre ellas, hacen que la corrección se vuelva una tarea lenta y propensa a errores [6], [7], [11]. ...
Article
Full-text available
Software product line engineering is a promising paradigm for developing software intensive systems. Among their proven benefits are reduced time to market, better asset reuse and improved software quality. To be successful, software product line engineering represents the collection of products of the product line by means of product line models. Feature Models (FMs) are a common way to represent product lines by expressing the set of feature combinations that software products can have. However, these models might have defects. Defects in FMs might be inheriting to the products configured from these models. Consequently, defects must be early identified and corrected. In scientific literature, several works deal with identification of defects in FMs. However, only few of these proposals are able to explain how to fix found defects, and they only identify some corrections. This paper proposes a new method to detect all possible corrections that can be found when the method systematically eliminates features from the FMs. In particular, the proposed method was applied on 78 distinct FMs with sizes up to 120 dependencies. Preliminary evaluation indicates that the method proposed in this paper is accurate and potentially useful in real scenarios