Product detection based on state abstraction technologies in the software product line(SPL)is more complex when compared to a single system.This variability constitutes a new complexity,and the counterexample may be v...Product detection based on state abstraction technologies in the software product line(SPL)is more complex when compared to a single system.This variability constitutes a new complexity,and the counterexample may be valid for some products but spurious for others.In this paper,we found that spurious products are primarily due to the failure states,which correspond to the spurious counterexamples.The violated products correspond to the real counterexamples.Hence,identifying counterexamples is a critical problem in detecting violated products.In our approach,we obtain the violated products through the genuine counterexamples,which have no failure state,to avoid the tedious computation of identifying spurious products dealt with by the existing algorithm.This can be executed in parallel to improve the efficiency further.Experimental results showthat our approach performswell,varying with the growth of the system scale.By analyzing counterexamples in the abstract model,we observed that spurious products occur in the failure state.The approach helps in identifying whether a counterexample is spurious or genuine.The approach also helps to check whether a failure state exists in the counterexample.The performance evaluation shows that the proposed approach helps significantly in improving the efficiency of abstraction-based SPL model checking.展开更多
This article contains a system conversion from object oriented design into Software Product Line (SPL) using delta modeling of Abstract Behavioral Specification (ABS). ABS is a modeling language which targets system w...This article contains a system conversion from object oriented design into Software Product Line (SPL) using delta modeling of Abstract Behavioral Specification (ABS). ABS is a modeling language which targets system with high level of variety and supports SPL development with delta modeling. The case study of this thesis is a digital library system called Library Automation and Digital Archive (LONTAR). Originally, LONTAR only uses SOAP-based web service. With ABS, LONTAR will be converted into SPL and implement another web service called REST. The motivation of this conversion of LONTAR from object oriented into SPL is because it is easier to develop system with ABS than using regular object oriented. Product definition in ABS is relatively easier than creating a new subclass and do customization to make it works well.展开更多
Software Product Line(SPL)is a group of software-intensive systems that share common and variable resources for developing a particular system.The feature model is a tree-type structure used to manage SPL’s common an...Software Product Line(SPL)is a group of software-intensive systems that share common and variable resources for developing a particular system.The feature model is a tree-type structure used to manage SPL’s common and variable features with their different relations and problem of Crosstree Constraints(CTC).CTC problems exist in groups of common and variable features among the sub-tree of feature models more diverse in Internet of Things(IoT)devices because different Internet devices and protocols are communicated.Therefore,managing the CTC problem to achieve valid product configuration in IoT-based SPL is more complex,time-consuming,and hard.However,the CTC problem needs to be considered in previously proposed approaches such as Commonality VariabilityModeling of Features(COVAMOF)andGenarch+tool;therefore,invalid products are generated.This research has proposed a novel approach Binary Oriented Feature Selection Crosstree Constraints(BOFS-CTC),to find all possible valid products by selecting the features according to cardinality constraints and cross-tree constraint problems in the featuremodel of SPL.BOFS-CTC removes the invalid products at the early stage of feature selection for the product configuration.Furthermore,this research developed the BOFS-CTC algorithm and applied it to,IoT-based feature models.The findings of this research are that no relationship constraints and CTC violations occur and drive the valid feature product configurations for the application development by removing the invalid product configurations.The accuracy of BOFS-CTC is measured by the integration sampling technique,where different valid product configurations are compared with the product configurations derived by BOFS-CTC and found 100%correct.Using BOFS-CTC eliminates the testing cost and development effort of invalid SPL products.展开更多
Software product line engineering is a large scale development paradigm based on mass production. It consists in building a common platform from which a set of products can be derived. Under the constraints of continu...Software product line engineering is a large scale development paradigm based on mass production. It consists in building a common platform from which a set of products can be derived. Under the constraints of continuous evolution and costs optimization, the derivation process must be able to answer customers’ requirements and provide adequate products in a short time without defects. However, this purpose cannot be achieved if the customer must wait for the change is implemented in the common platform. In this paper, we describe our work which proposes a framework to manage derivation of adaptable products. An adaptable product is obtained by deriving the most similar product from the common platform and changing it to support the new requirements. The aim of the framework is to give quick response to the customers need while the new requirements are being implemented in the common platform. The framework includes tools for processing natural language requirements, computing the similarity between products on the basis of their requirements, and the product adaptation effort measuring.展开更多
Software product line (SPL) is an approach used to develop a range of software products with a high degree of similarity. In this approach, a feature model is usually used to keep track of similarities and differenc...Software product line (SPL) is an approach used to develop a range of software products with a high degree of similarity. In this approach, a feature model is usually used to keep track of similarities and differences. Over time, as modifications are made to the SPL, inconsistencies with the feature model could arise. The first approach to dealing with these inconsistencies is refactoring. Refactoring consists of small steps which, when accumulated, may lead to large-scale changes in the SPL, resulting in features being added to or eliminated from the SPL. In this paper, we propose a framework for refactoring SPLs, which helps keep SPLs consistent with the feature model. After some introductory remarks, we describe a formal model for representing the feature model. We express various refactoring patterns applicable to the feature model and the SPL formally, and then introduce an algorithm for finding them in the SPL. In the end, we use a real-world case study of an SPL to illustrate the applicability of the framework introduced in the paper.展开更多
Software product lines(SPLs) are important software engineering techniques for creating a collection of similar software systems. Software products can be derived from SPLs quickly. The process of software product der...Software product lines(SPLs) are important software engineering techniques for creating a collection of similar software systems. Software products can be derived from SPLs quickly. The process of software product derivation can be modeled as feature selection optimization with resource constraints, which is a nondeterministic polynomial-time hard(NP-hard) problem. In this paper, we present an approach that using ant colony optimization to get an approximation solution of the problem in polynomial time. We evaluate our approach by comparing it to two important approximation techniques. One is filtered Cartesian flattening and modified heuristic(FCF+M-HEU) algorithm, the other is genetic algorithm for optimized feature selection(GAFES). The experimental results show that our approach performs 6% worse than FCF+M-HEU with reducing much running time. Meanwhile, it performs 10% better than GAFES with taking more time.展开更多
Software product line (SPL) engineering is increasingly being adopted in safety-critical systems. It is highly desirable to rigorously show that these systems are designed correctly. However, formal analysis for SPL...Software product line (SPL) engineering is increasingly being adopted in safety-critical systems. It is highly desirable to rigorously show that these systems are designed correctly. However, formal analysis for SPLs is more difficult than for single systems because an SPL may contain a large number of individual systems. In this paper, we propose an efficient model-checking technique for SPLs using induction and a SAT (Boolean satisfiability problem) solver. We show how an induction-based verification method can be adapted to the SPLs, with the help of a SAT solver. To combat the state space explosion problem, a novel technique that exploits the distinguishing characteristics of SPLs, called feature cube enlargement, is proposed to reduce the verification efforts. The incremental SAT mechanism is applied to further improve the efficiency. The correctness of our technique is proved. Experimental results show dramatic improvement of our technique over the existing binary decision diagram (BDD)-based techniques.展开更多
Domain analysis is essential to core assets development in software product line engineering. Most existing approaches, however, depend on domain experts’ experience to analyze the commonality and variability of syst...Domain analysis is essential to core assets development in software product line engineering. Most existing approaches, however, depend on domain experts’ experience to analyze the commonality and variability of systems in a domain, which remains a manual and intensive process. This paper addresses the issue by proposing a model-driven approach to automating the domain requirements derivation process. The paper focuses on the match between the use cases of existing individual products and the domain functional requirements of a product line. By introducing a set of linguistic description dimensions to differentiate the sub-variations in a use case, the use case template is extended to model variability. To this end, a transformation process is formulated to sustain and deduce the information in use cases, and to match it to domain functional requirements. This paper also presents a prototype which implements the derivation as a model transformation described in a graphical model transformation language MOLA. This approach complements existing domain analysis techniques with less manual operation cost and more efficiency by automating the domain functional requirements development.展开更多
基金supported by the Fund of ExcellentYouth Scientific and Technological Innovation Team of Hubei’s Universities(Project No:T201818)Science and Technology Research Program of Hubei Provincial Education Department(Project No:Q20143005)Guiding project of scientific research plan of Hubei Provincial Department of Education(Project No:B2021261).
文摘Product detection based on state abstraction technologies in the software product line(SPL)is more complex when compared to a single system.This variability constitutes a new complexity,and the counterexample may be valid for some products but spurious for others.In this paper,we found that spurious products are primarily due to the failure states,which correspond to the spurious counterexamples.The violated products correspond to the real counterexamples.Hence,identifying counterexamples is a critical problem in detecting violated products.In our approach,we obtain the violated products through the genuine counterexamples,which have no failure state,to avoid the tedious computation of identifying spurious products dealt with by the existing algorithm.This can be executed in parallel to improve the efficiency further.Experimental results showthat our approach performswell,varying with the growth of the system scale.By analyzing counterexamples in the abstract model,we observed that spurious products occur in the failure state.The approach helps in identifying whether a counterexample is spurious or genuine.The approach also helps to check whether a failure state exists in the counterexample.The performance evaluation shows that the proposed approach helps significantly in improving the efficiency of abstraction-based SPL model checking.
文摘This article contains a system conversion from object oriented design into Software Product Line (SPL) using delta modeling of Abstract Behavioral Specification (ABS). ABS is a modeling language which targets system with high level of variety and supports SPL development with delta modeling. The case study of this thesis is a digital library system called Library Automation and Digital Archive (LONTAR). Originally, LONTAR only uses SOAP-based web service. With ABS, LONTAR will be converted into SPL and implement another web service called REST. The motivation of this conversion of LONTAR from object oriented into SPL is because it is easier to develop system with ABS than using regular object oriented. Product definition in ABS is relatively easier than creating a new subclass and do customization to make it works well.
文摘Software Product Line(SPL)is a group of software-intensive systems that share common and variable resources for developing a particular system.The feature model is a tree-type structure used to manage SPL’s common and variable features with their different relations and problem of Crosstree Constraints(CTC).CTC problems exist in groups of common and variable features among the sub-tree of feature models more diverse in Internet of Things(IoT)devices because different Internet devices and protocols are communicated.Therefore,managing the CTC problem to achieve valid product configuration in IoT-based SPL is more complex,time-consuming,and hard.However,the CTC problem needs to be considered in previously proposed approaches such as Commonality VariabilityModeling of Features(COVAMOF)andGenarch+tool;therefore,invalid products are generated.This research has proposed a novel approach Binary Oriented Feature Selection Crosstree Constraints(BOFS-CTC),to find all possible valid products by selecting the features according to cardinality constraints and cross-tree constraint problems in the featuremodel of SPL.BOFS-CTC removes the invalid products at the early stage of feature selection for the product configuration.Furthermore,this research developed the BOFS-CTC algorithm and applied it to,IoT-based feature models.The findings of this research are that no relationship constraints and CTC violations occur and drive the valid feature product configurations for the application development by removing the invalid product configurations.The accuracy of BOFS-CTC is measured by the integration sampling technique,where different valid product configurations are compared with the product configurations derived by BOFS-CTC and found 100%correct.Using BOFS-CTC eliminates the testing cost and development effort of invalid SPL products.
文摘Software product line engineering is a large scale development paradigm based on mass production. It consists in building a common platform from which a set of products can be derived. Under the constraints of continuous evolution and costs optimization, the derivation process must be able to answer customers’ requirements and provide adequate products in a short time without defects. However, this purpose cannot be achieved if the customer must wait for the change is implemented in the common platform. In this paper, we describe our work which proposes a framework to manage derivation of adaptable products. An adaptable product is obtained by deriving the most similar product from the common platform and changing it to support the new requirements. The aim of the framework is to give quick response to the customers need while the new requirements are being implemented in the common platform. The framework includes tools for processing natural language requirements, computing the similarity between products on the basis of their requirements, and the product adaptation effort measuring.
文摘Software product line (SPL) is an approach used to develop a range of software products with a high degree of similarity. In this approach, a feature model is usually used to keep track of similarities and differences. Over time, as modifications are made to the SPL, inconsistencies with the feature model could arise. The first approach to dealing with these inconsistencies is refactoring. Refactoring consists of small steps which, when accumulated, may lead to large-scale changes in the SPL, resulting in features being added to or eliminated from the SPL. In this paper, we propose a framework for refactoring SPLs, which helps keep SPLs consistent with the feature model. After some introductory remarks, we describe a formal model for representing the feature model. We express various refactoring patterns applicable to the feature model and the SPL formally, and then introduce an algorithm for finding them in the SPL. In the end, we use a real-world case study of an SPL to illustrate the applicability of the framework introduced in the paper.
基金the Shanghai Municipal Science and Technology Commission(No.12511502902)the National Natural Science Foundation of China(No.61375053)
文摘Software product lines(SPLs) are important software engineering techniques for creating a collection of similar software systems. Software products can be derived from SPLs quickly. The process of software product derivation can be modeled as feature selection optimization with resource constraints, which is a nondeterministic polynomial-time hard(NP-hard) problem. In this paper, we present an approach that using ant colony optimization to get an approximation solution of the problem in polynomial time. We evaluate our approach by comparing it to two important approximation techniques. One is filtered Cartesian flattening and modified heuristic(FCF+M-HEU) algorithm, the other is genetic algorithm for optimized feature selection(GAFES). The experimental results show that our approach performs 6% worse than FCF+M-HEU with reducing much running time. Meanwhile, it performs 10% better than GAFES with taking more time.
基金Acknowledgements This work was supported in part by the National Basic Research Program of China (973 Program) (2010CB328003), the National Natural Science Foundation of China (Grant Nos. 61672310, 61272001, 60903030, 91218302), and the Chinese National Key Technology R&D Program (SQ2012BAJY4052).
文摘Software product line (SPL) engineering is increasingly being adopted in safety-critical systems. It is highly desirable to rigorously show that these systems are designed correctly. However, formal analysis for SPLs is more difficult than for single systems because an SPL may contain a large number of individual systems. In this paper, we propose an efficient model-checking technique for SPLs using induction and a SAT (Boolean satisfiability problem) solver. We show how an induction-based verification method can be adapted to the SPLs, with the help of a SAT solver. To combat the state space explosion problem, a novel technique that exploits the distinguishing characteristics of SPLs, called feature cube enlargement, is proposed to reduce the verification efforts. The incremental SAT mechanism is applied to further improve the efficiency. The correctness of our technique is proved. Experimental results show dramatic improvement of our technique over the existing binary decision diagram (BDD)-based techniques.
文摘Domain analysis is essential to core assets development in software product line engineering. Most existing approaches, however, depend on domain experts’ experience to analyze the commonality and variability of systems in a domain, which remains a manual and intensive process. This paper addresses the issue by proposing a model-driven approach to automating the domain requirements derivation process. The paper focuses on the match between the use cases of existing individual products and the domain functional requirements of a product line. By introducing a set of linguistic description dimensions to differentiate the sub-variations in a use case, the use case template is extended to model variability. To this end, a transformation process is formulated to sustain and deduce the information in use cases, and to match it to domain functional requirements. This paper also presents a prototype which implements the derivation as a model transformation described in a graphical model transformation language MOLA. This approach complements existing domain analysis techniques with less manual operation cost and more efficiency by automating the domain functional requirements development.