After the derivation of specific applications from a software product line, the applications keep evolving with respect to new customer's requirements. In general, evolutions in most industrial projects are expressed using natural language, because it is the easiest and the most flexible way for customers to express their needs. However, the use of this means of communication has shown its limits in detecting defects, such as inconsistency and duplication, when evolving the existing models of the software product line. The aim of this paper is to transform the natural language specifications of new evolutions into a more formal representation using natural language processing. Then, an algorithm is proposed to automatically detect duplication between these specifications and the existing product line feature models. In order to instantiate the proposed solution, a tool is developed to automatize the two operations.
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.
In this rapidly changing world, business strategies continuously evolve to meet customers' wishes. Hence, the ability to cope with the frequent business changes is becoming important criteria of a leading development paradigm. Software product line engineering is a development paradigm based on reuse that builds a common platform from which a set of applications can be derived. Despite its advantage of enhancing time to market and costs, it is exposed to the risk of falling into the aging phenomenon because of the complexity of its evolution. In this paper the authors present a co-evolution based approach for protecting the software product lines from the aging phenomenon. The approach uses cladistics and trees reconciliation that are mainly used in biology to analyze the co-evolution between organisms. The authors' major goal is to find out changes of products that were not propagated to the common platform at the aim of reconsidering them in the platform and thus protecting it from being obsolete.
Software product line engineering is a development paradigm based on reuse. It builds a common platform from which a set of applications can be derived. Despite its advantage of enhancing time to market and costs, it presents some complications. Among them, the complexity of its evolution because all the components are shared between the derived products. For this reason, the change impact analysis and the evolution understanding in software product lines require greater focus than in single software. In this chapter, the authors present CASPL platform for co-evolution analysis in software product lines. The platform uses evolutionary trees that are mainly used in biology to analyze the co-evolution between applications. The major goal is to enhance the change understanding and to compare the history of changes in the applications of the family, at the aim of correcting divergences between them.
During the creation of a software product, the stakeholders have to take a lot of decisions. These decisions are related to the product scope, requirements priority, architecture assumptions, technological issues, etc. In the domain of Software Product Lines, many studies have dealt with decisions taken during the lifetime of the product, but a little attention has been given to the pre-project decisions. The aim of this paper is to propose a requirement-based framework that capitalizes on the specific products already derived from the product line, in order to support the benchmarking of the possible solutions that respond to a customer's needs, and to help the stakeholders of a product take decisions concerning the scope of the product and the requirements to implement.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.