91,659 research outputs found

    Analysis of expert’s opinion on requirements patterns for software product families framework using GQM method

    Get PDF
    Software product line engineering (SPLE), provides an opportunity to improve reuse of software artifacts through domain engineering and application engineering processes. During the domain engineering process, reuse activities of the product line are well-planned and subsequently executed in the application engineering process. This paper presents an analysis of interview result with experts in requirements engineering (RE) and software development for validating requirements pattern for software product families (RP-SPF) framework. The interview was conducted using goal questions metrics (GQM) method to define a goal and formulate research questions for conducting the interview. During the interview, 6 experts compared RP-SPF approach (systematic) with ad hoc (conventional) approach of reuse and documentation of requirements in terms of suitability, efficiency, and effectiveness in SPLE. The experts also gave their feedback on the perception of the use of RP-SPF tool. The analysis of the interview result shows that RP-SPF approach is suitable in SPLE and more efficient and effective than ad hoc approach of reuse and documentation of requirements

    Requirements engineering in software product line engineering

    Full text link
    The final publication is available at Springer via http://dx.doi.org/10.1007/s00766-013-0189-0Many attempts have been made to increase the productivity and quality of software products based on software reuse. Software product line practice is one such approach, one that focuses on developing a family of products which have a majority of features in common. Hence, there are numerous requirements that are common across the family, but others are unique to individual products. Traditional requirements engineering methods were conceived to deal with single product requirements and are usually not flexible enough to address the needs arising from reusing requirements for a family of products. There is also the additional burden of correctly identifying and engineering both product-line-wide requirements and product-specific requirements as well as evolving them. Therefore, in this special issue, we want to highlight the importance and the role of requirements engineering for product line development as well as to provide insights into the state of the art in the field.Insfrán Pelozo, CE.; Chastek, G.; Donohoe, P.; Sampaio Do Prado Leite, JC. (2014). Requirements engineering in software product line engineering. Requirements Engineering. 19(4):331-332. doi:10.1007/s00766-013-0189-0S331332194Clements P, Northrop LM (2001) Software product lines: practices and patterns. Addison-Wesley, BostonDerakhshanmanesh M, Fox J, Ebert J (2012) Adopting feature-centric reuse of requirements assets: an industrial experience report. First international workshop on requirements engineering practices on software product line engineering, Salvador, BrazilKuloor C, Eberlein A (2002) Requirements engineering for software product lines, proceedings of the 15th international conference on software and systems engineering and their applications (ICSSEA’02), Paris, FranceNorthrop LM, Clements P (2013) A framework for software product line practice. Software engineering institute. http://www.sei.cmu.edu/productlines/tools/framework/index.cfm . Accessed 22 July 2013Yu Y, Lapouchnian A, Liaskos S, Mylopoulos J, Leite JCSP (2008) From Goals to High-Variability Software Design. Foundations of Intelligent Systems, 17th International Symposium Proceedings. ISMIS 2008. Springer Lecture Notes in Computer Science, 4994: 1–1

    Towards correct-by-construction product variants of a software product line: GFML, a formal language for feature modules

    Full text link
    Software Product Line Engineering (SPLE) is a software engineering paradigm that focuses on reuse and variability. Although feature-oriented programming (FOP) can implement software product line efficiently, we still need a method to generate and prove correctness of all product variants more efficiently and automatically. In this context, we propose to manipulate feature modules which contain three kinds of artifacts: specification, code and correctness proof. We depict a methodology and a platform that help the user to automatically produce correct-by-construction product variants from the related feature modules. As a first step of this project, we begin by proposing a language, GFML, allowing the developer to write such feature modules. This language is designed so that the artifacts can be easily reused and composed. GFML files contain the different artifacts mentioned above.The idea is to compile them into FoCaLiZe, a language for specification, implementation and formal proof with some object-oriented flavor. In this paper, we define and illustrate this language. We also introduce a way to compose the feature modules on some examples.Comment: In Proceedings FMSPLE 2015, arXiv:1504.0301

    Towards Product Lining Model-Driven Development Code Generators

    Get PDF
    A code generator systematically transforms compact models to detailed code. Today, code generation is regarded as an integral part of model-driven development (MDD). Despite its relevance, the development of code generators is an inherently complex task and common methodologies and architectures are lacking. Additionally, reuse and extension of existing code generators only exist on individual parts. A systematic development and reuse based on a code generator product line is still in its infancy. Thus, the aim of this paper is to identify the mechanism necessary for a code generator product line by (a) analyzing the common product line development approach and (b) mapping those to a code generator specific infrastructure. As a first step towards realizing a code generator product line infrastructure, we present a component-based implementation approach based on ideas of variability-aware module systems and point out further research challenges.Comment: 6 pages, 1 figure, Proceedings of the 3rd International Conference on Model-Driven Engineering and Software Development, pp. 539-545, Angers, France, SciTePress, 201

    A Model-Based Approach to Managing Feature Binding Time in Software Product Line Engineering

    Get PDF
    Software Product Line Engineering (SPLE) is a software reuse paradigm for developing software products, from managed reusable assets, based on analysis of commonality and variability (C & V) of a product line. Many approaches of SPLE use a feature as a key abstraction to capture the C&V. Recently, there have been increasing demands for the provision of flexibility about not only the variability of features but also the variability of when features should be selected (i.e., variability on feature binding times). Current approaches to support variations of feature binding time mostly focused on ad hoc implementation mechanisms. In this paper, we first identify the challenges of feature binding time management and then propose an approach to analyze the variation of feature binding times and use the results to specify model-based architectural components for the product line. Based on the specification, components implementing variable features are parameterized with the binding times and the source codes for the components and the connection between them are generated

    Model driven product line engineering : core asset and process implications

    Get PDF
    Reuse is at the heart of major improvements in productivity and quality in Software Engineering. Both Model Driven Engineering (MDE) and Software Product Line Engineering (SPLE) are software development paradigms that promote reuse. Specifically, they promote systematic reuse and a departure from craftsmanship towards an industrialization of the software development process. MDE and SPLE have established their benefits separately. Their combination, here called Model Driven Product Line Engineering (MDPLE), gathers together the advantages of both. Nevertheless, this blending requires MDE to be recasted in SPLE terms. This has implications on both the core assets and the software development process. The challenges are twofold: (i) models become central core assets from which products are obtained and (ii) the software development process needs to cater for the changes that SPLE and MDE introduce. This dissertation proposes a solution to the first challenge following a feature oriented approach, with an emphasis on reuse and early detection of inconsistencies. The second part is dedicated to assembly processes, a clear example of the complexity MDPLE introduces in software development processes. This work advocates for a new discipline inside the general software development process, i.e., the Assembly Plan Management, which raises the abstraction level and increases reuse in such processes. Different case studies illustrate the presented ideas.This work was hosted by the University of the Basque Country (Faculty of Computer Sciences). The author enjoyed a doctoral grant from the Basque Goverment under the “Researchers Training Program” during the years 2005 to 2009. The work was was co-supported by the Spanish Ministry of Education, and the European Social Fund under contracts WAPO (TIN2005-05610) and MODELINE (TIN2008-06507-C02-01)

    A Product Line Systems Engineering Process for Variability Identification and Reduction

    Full text link
    Software Product Line Engineering has attracted attention in the last two decades due to its promising capabilities to reduce costs and time to market through reuse of requirements and components. In practice, developing system level product lines in a large-scale company is not an easy task as there may be thousands of variants and multiple disciplines involved. The manual reuse of legacy system models at domain engineering to build reusable system libraries and configurations of variants to derive target products can be infeasible. To tackle this challenge, a Product Line Systems Engineering process is proposed. Specifically, the process extends research in the System Orthogonal Variability Model to support hierarchical variability modeling with formal definitions; utilizes Systems Engineering concepts and legacy system models to build the hierarchy for the variability model and to identify essential relations between variants; and finally, analyzes the identified relations to reduce the number of variation points. The process, which is automated by computational algorithms, is demonstrated through an illustrative example on generalized Rolls-Royce aircraft engine control systems. To evaluate the effectiveness of the process in the reduction of variation points, it is further applied to case studies in different engineering domains at different levels of complexity. Subject to system model availability, reduction of 14% to 40% in the number of variation points are demonstrated in the case studies.Comment: 12 pages, 6 figures, 2 tables; submitted to the IEEE Systems Journal on 3rd June 201

    Tailoring the Scrum Development Process to Address Agile Product Line Engineering

    Get PDF
    Software Product Line Engineering (SPLE) is becoming widely used due to the improvement it means when developing software products of the same family. However, SPLE demands long-term investment on a product-line platform that might not be profitable due to rapid changing business settings. Since Agile Software Development (ASD) approaches are being successfully applied in volatile markets, several companies have suggested the idea of integrating SPLE and ASD when a family product has to be developed. Agile Product Line Engineering (APLE) advocates the integration of SPLE and ASD to address their lacks when they are individually applied to software development. A previous literature re-view of experiences and practices on APLE revealed important challenges about how to fully put APLE into practice. Our contribution address several of these challenges by tailoring the agile method Scrum by means of three concepts that we have defined: plastic partial components, working PL-architectures, and reactive reuse

    Validation of RP-SPF framework: a systematic method for requirements reuse in software product lines

    Get PDF
    Reuse of requirements is crucial activity in software development especially across software product line engineering (SPLE), which involves two main processes known as domain engineering and application engineering. With these two processes SPLE enables systematic reuse of requirements through proper planning and development. This paper presents methodology and result of survey of experts for validating a proposed systematic requirement reuse approach named requirements pattern for software product families (RP-SPF) framework. During the survey, 14 experts in requirements engineering (RE), SPLE and software development responded and gave their opinions on RP-SPF framework. The result of the survey shows that RP-SPF approach is suitable and can effectively improve requirements engineering activities of SPLE. © BEIESP

    Requirement patterns: an approach for streamlining requirements engineering in software product families

    Get PDF
    Reusable structure is essential in all reuse-based software development processes. This provides a solid foundation for seamless management of reusable artefacts especially in software product line engineering (SPLE). One of the potential benefits provided by a well-defined structure is systematic reuse of these artefacts. Requirements pattern approach provides guidelines for requirement engineers to reuse and specify requirements. Although a plethora of research on requirements pattern have been reported in the literature, no research available focuses on requirement engineering (RE) activities of SPLE. In this paper, we present an anatomy of software requirement pattern (SRP) for SPLE with a structured example from e-learning domain. To enable practitioners, understand the concept of requirement pattern more, we present a meta-model for the SRP concepts and their relationships. In addition, we describe how the requirement pattern approach, streamlines RE activities, design for and with reuse in both domain and application engineering processes of SPLE. The requirement pattern approach thus helps in achieving systematic requirements reuse (RR) and generation of structured software requirement specification (SRS) for individual applications
    corecore