Towards detecting redundancy in domain engineering process using first order logic rules

Software product line SPL is an emerging methodology for developing software products. SPL consists of two processes: domain-engineering and application-engineering. Successful software product is highly dependent on the validity of a domain engineering process. Therefore, validation is a significant process within the domain-engineering. Anomalies such as dead feature, redundancy, and wrong-cardinality are well-known problems in SPL. In the literature, redundancy did not take the signs of attentions as a dead feature and wrong-cardinality. The maturity of the SPL can be enhanced by detecting and removing the redundancy from the domain engineering. This paper proposes first order logic FOL rules for detecting the redundancy in domain-engineering process. Detecting redundancy in the domain engineering direct is our contribution. Our methodology comprised of three steps: 1 variability is modelled in the form of predicates as a prerequisite; 2 for each type of the redundancy, a general form is formulated to swathe all possible cases; 3 FOL rules are illustrated to implement each possibility based on deducing the results from predefined cases. As a result, all forms of redundancies in the domain-engineering process are amorphous. Finally, experiments are conducted to attest the scalability of our method.

[1]  Don S. Batory,et al.  Feature Models, Grammars, and Propositional Formulas , 2005, SPLC.

[2]  Jan Bosch,et al.  Workshop on Software Variability Management for Product Derivation ? Towards Tool Support , 2004, SPLC.

[3]  Klaus Pohl,et al.  Software Product Line Engineering - Foundations, Principles, and Techniques , 2005 .

[4]  Kyo Chul Kang,et al.  Feature-Oriented Domain Analysis (FODA) Feasibility Study , 1990 .

[5]  Antonio Ruiz Cortés,et al.  Automated analysis of feature models: challenges ahead , 2006, CACM.

[6]  Sergio Segura,et al.  Automated analysis of feature models 20 years later: A literature review , 2010, Inf. Syst..

[7]  Sergio Segura Automated Analysis of Feature Models Using Atomic Sets , 2008, SPLC.

[8]  Antonio Ruiz Cortés,et al.  Automated Reasoning on Feature Models , 2005, CAiSE.

[9]  Miguel Toro,et al.  Automated error analysis for the agilization of feature modeling , 2008, J. Syst. Softw..

[10]  Itana Maria de Souza Gimenes,et al.  A variability management process for software product lines , 2005, CASCON.

[11]  Jan Bosch,et al.  A taxonomy of variability realization techniques , 2005, Softw. Pract. Exp..

[12]  Antonio Ruiz Cortés,et al.  FAMA Framework , 2008, 2008 12th International Software Product Line Conference.

[13]  Haiyan Zhao,et al.  A Propositional Logic-Based Method for Verification of Feature Models , 2004, ICFEM.

[14]  Patrick Donohoe,et al.  Feature-Oriented Project Line Engineering , 2002, IEEE Softw..

[15]  L. Hotz Supporting the Product Derivation Process with a Knowledge-based Approach , 2003 .

[16]  Mike Mannion Using First-Order Logic for Product Line Model Validation , 2002, SPLC.

[17]  Douglas C. Schmidt,et al.  Automated Diagnosis of Product-Line Configuration Errors in Feature Models , 2008, 2008 12th International Software Product Line Conference.

[18]  Xin Peng,et al.  Ontology-Based Feature Modeling and Application-Oriented Tailoring , 2006, ICSR.

[19]  Antonio Ruiz Cortés,et al.  First International Workshop on Analysis of Software Product Lines (ASPL'08) , 2008, 2008 12th International Software Product Line Conference.

[20]  Marc H. Meyer,et al.  Technology Strategy in a Software Products Company , 2015 .

[21]  Michal Antkiewicz,et al.  Mapping features to models: a template approach based on superimposed variants , 2005, GPCE'05.

[22]  Somnuk Phon-Amnuaisuk,et al.  Modeling Variability in Software Product Line Using First Order Logic , 2009, 2009 Seventh ACIS International Conference on Software Engineering Research, Management and Applications.

[23]  Krzysztof Czarnecki,et al.  Generative programming - principles and techniques of software engineering based on automated configuration and fragment-based component models , 1999 .

[24]  Paul Clements,et al.  Software product lines - practices and patterns , 2001, SEI series in software engineering.

[25]  Marco Sinnema,et al.  Classifying variability modeling techniques , 2007, Inf. Softw. Technol..

[26]  Somnuk Phon-Amnuaisuk,et al.  Investigating Inconsistency Detection as a Validation Operation in Software Product Line , 2009, SERA.

[27]  Fan Shao Feature Model Based on Description Logics , 2007 .

[28]  Krzysztof Czarnecki,et al.  Verifying feature-based model templates against well-formedness OCL constraints , 2006, GPCE '06.

[29]  Antonio Ruiz Cortés,et al.  Isolated Features Detection in Feature Models , 2006, CAiSE Forum.

[30]  Andrzej Pieczynski,et al.  Employing fuzzy logic in feature diagrams to model variability in software product-lines , 2003, 10th IEEE International Conference and Workshop on the Engineering of Computer-Based Systems, 2003. Proceedings..

[31]  Joseph R. Kiniry,et al.  Reasoning about Feature Models in Higher-Order Logic , 2007 .

[32]  Jeff Z. Pan,et al.  Verifying feature models using OWL , 2007, J. Web Semant..

[33]  Haiyan Zhao,et al.  An Optimization Strategy to Feature Models' Verification by Eliminating Verification-Irrelevant Features and Constraints , 2009, ICSR.

[34]  Leonard J. Bass,et al.  Managing variability in software architectures , 2001, SSR '01.

[35]  Jan Bosch,et al.  Maturity and Evolution in Software Product Lines: Approaches, Artefacts and Organization , 2002, SPLC.

[36]  Klaus Schmid,et al.  Software product lines in action - the best industrial practice in product line engineering , 2007 .

[37]  Danilo Beuche,et al.  Variability management with feature models , 2004, Sci. Comput. Program..

[38]  Krzysztof Czarnecki,et al.  Generative programming - methods, tools and applications , 2000 .

[39]  Somnuk Phon-Amnuaisuk,et al.  Knowledge Based Method to Validate Feature Models , 2008, SPLC.

[40]  Krzysztof Czarnecki,et al.  Staged Configuration Using Feature Models , 2004, SPLC.

[41]  Tomi Männistö,et al.  Representing Feature Models of Software Product Families Using a Configuration Ontology , 2004 .

[42]  Horst Lichter,et al.  Determining the Variation Degree of Feature Models , 2005, SPLC.

[43]  C. W. Krueger New methods in software product line development , 2006 .

[44]  Hai H. Wang,et al.  Formal semantics and verification for feature modeling , 2005, 10th IEEE International Conference on Engineering of Complex Computer Systems (ICECCS'05).

[45]  Arie van Deursen,et al.  Domain-specific language design requires feature descriptions , 2002 .