iMER-FM: Iterative Process of System Feature Model Extraction from the Requirements

Author(s):  
Muhammad Javed ◽  
Yuqing Lin

Software product line engineering (SPLE) is a paradigm to promote systematic software reuse. A Feature Model (FM) is a common means to illustrate the commonality and variability of software products in a family. In most existing FM extraction approaches, keywords in the requirement document or certain types of system behavior or external events are considered features. The resulting FM is a combination of user activities and system actions (SAs), making it hard to understand. In this paper, we present an automatic approach to generate a product line FM from multiple requirement documents. We consider user activity and SAs separately in our approach and focus on the expected behaviors of the software system, together with the data being processed. The resulting FM clearly illustrates the expected functionalities of the software system and their variability in the product line. We also compared our approach with existing techniques by processing the same textual documents, and noted improvements in our results.

Author(s):  
Elham Darmanaki Farahani ◽  
Jafar Habibi

The aim of the Software Product Line (SPL) approach is to improve the software development process by producing software products that match the stakeholders’ requirements. One of the important topics in SPLs is the feature model (FM) configuration process. The purpose of configuration here is to select and remove specific features from the FM in order to produce the required software product. At the same time, detection of differences between application’s requirements and the available capabilities of the implementation platform is a major concern of application requirements engineering. It is possible that the implementation of the selected features of FM needs certain software and hardware infrastructures such as database, operating system and hardware that cannot be made available by stakeholders. We address the FM configuration problem by proposing a method, which employs a two-layer FM comprising the application and infrastructure layers. We also show this method in the context of a case study in the SPL of a sample E-Shop website. The results demonstrate that this method can support both functional and non-functional requirements and can solve the problems arising from lack of attention to implementation requirements in SPL FM selection phase.


2014 ◽  
Vol 998-999 ◽  
pp. 1085-1091 ◽  
Author(s):  
Ni Yun Jia ◽  
Guan Zhong Yang

Feature modeling is a main stream technology in domain requirement analysis of software product line engineering. Establishing the traceability between feature model and software architecture plays the essential role in improving software quality. Based on Formal Concept Analysis technology, we proposed a method to verify traceability between feature model and software architecture. The method analyzed the constitution of the feature, defined feature model and software architecture function expression, constructed a concept lattice and presented several mapping criteria to analysis it. It is more applicable for higher complexity model, comparing to the other model traceability method. A case study is used to demonstrate the feasibility of the method.


Author(s):  
Mehdi Noorian ◽  
Mohsen Asadi ◽  
Ebrahim Bagheri ◽  
Weichang Du

Software Product Line (SPL) engineering is a systematic reuse-based software development approach which is founded on the idea of building software products using a set of core assets rather than developing individual software systems from scratch. Feature models are among the widely used artefacts for SPL development that mostly capture functional and operational variability of a system. Researchers have argued that connecting intentional variability models such as goal models with feature variability models in a target domain can enrich feature models with valuable quality and non-functional information. Interrelating goal models and feature models has already been proposed in the literature for capturing non-functional properties in software product lines; however, this manual integration process is cumbersome and tedious. In this paper, we propose a (semi) automated approach that systematically integrates feature models and goal models through standard ontologies. Our proposed approach connects feature model and goal model elements through measuring the semantic similarity of their annotated ontological concepts. Our work not only provides the means to systematically interrelate feature models and goal models but also allows domain engineers to identify and model the role and significance of non-functional properties in the domain represented by the feature model.


2021 ◽  
Vol 12 (5) ◽  
pp. 41-53
Author(s):  
Armaya’u Zango Umar ◽  
Jaejoon Lee

Software product line engineering is a paradigm for developing a family of software products from a repository of reusable assets rather than developing each individual product from scratch. In featureoriented software product line engineering, the common and the variable characteristics of the products are expressed in terms of features. Using software product line engineering approach, software products are produced en masse by means of two engineering phases: (i) Domain Engineering and, (ii) Application Engineering. At the domain engineering phase, reusable assets are developed with variation points where variant features may be bound for each of the diverse products. At the application engineering phase, individual and customized products are developed from the reusable assets. Ideally, the reusable assets should be adaptable with less effort to support additional variations (features) that were not planned beforehand in order to increase the usage context of SPL as a result of expanding markets or when a new usage context of software product line emerges. This paper presents an exploration research to investigate the properties of features, in the code-asset implemented using Object-Oriented Programming Style. In the exploration, we observed that program elements of disparate features formed unions as well as intersections that may affect modifiability of the code-assets. The implication of this research to practice is that an unstable product line and with the tendency of emerging variations should aim for techniques that limit the number of intersections between program elements of different features. Similarly, the implication of the observation to research is that there should be subsequent investigations using multiple case studies in different software domains and programming styles to improve the understanding of the findings.


Author(s):  
Hitesh Yadav ◽  
Rita Chhikara ◽  
Charan Kumari

Background: Software Product Line is the group of multiple software systems which share the similar set of features with multiple variants. Feature model is used to capture and organize features used in different multiple organization. Objective: The objective of this research article is to obtain an optimized subset of features which are capable of providing high performance. Methods: In order to achieve the desired objective, two methods have been proposed. a) An improved objective function which is used to compute the contribution of each feature with weight based methodology. b) A hybrid model is employed to optimize the Software Product Line problem. Results: Feature sets varying in size from 100 to 1000 have been used to compute the performance of the Software Product Line. Conclusion: The results shows that proposed hybrid model outperforms the state of art metaheuristic algorithms.


Author(s):  
Raúl Mazo ◽  
Camille Salinesi ◽  
Daniel Diaz ◽  
Olfa Djebbi ◽  
Alberto Lora-Michiels

Drawing from an analogy between features based Product Line (PL) models and Constraint Programming (CP), this paper explores the use of CP in the Domain Engineering and Application Engineering activities that are put in motion in a Product Line Engineering strategy. Specifying a PL as a constraint program instead of a feature model carries out two important qualities of CP: expressiveness and direct automation. On the one hand, variables in CP can take values over boolean, integer, real or even complex domains and not only boolean values as in most PL languages such as the Feature-Oriented Domain Analysis (FODA). Specifying boolean, arithmetic, symbolic and reified constraint, provides a power of expression that spans beyond that provided by the boolean dependencies in FODA models. On the other hand, PL models expressed as constraint programs can directly be executed and analyzed by off-the-shelf solvers. This paper explores the issues of (a) how to specify a PL model using CP, including in the presence of multi-model representation, (b) how to verify PL specifications, (c) how to specify configuration requirements, and (d) how to support the product configuration activity. Tests performed on a benchmark of 50 PL models show that the approach is efficient and scales up easily to very large and complex PL specifications.


2017 ◽  
Vol 20 (3) ◽  
pp. 1951-1976 ◽  
Author(s):  
Alessandro Ferreira Leite ◽  
Vander Alves ◽  
Genaína Nunes Rodrigues ◽  
Claude Tadonki ◽  
Christine Eisenbeis ◽  
...  

Sign in / Sign up

Export Citation Format

Share Document