This book contains the proceedings of the 5th international workshop on product family engineering, pfe5. Modeling dependencies between variation points in use case. Software engineering and architecture inproceedings. Variability management vm in software product line spl is a key activity that usually affects the degree to which a spl is successful. Software productfamily engineering 5th international. When applying a modelbased approach to ple, variability modeling must be. Software product line engineering is an approach to costefficiently derive tailored products to markets and customers, utilizing common components and services in a planned manner. Variability refers to the ability of an artefact to be configured, customized, extended, or changed for use in a specific context 3. Product line software engineering empowers highlevel constructive software reuse by exploiting commonality and managing variability among the member products in a product family. We have given a vital role for variability management in software product line engineering. Variability assessment in software product families.
Pdf cardinalitydependent variability in orthogonal. Variability management is about managing the commonalities and variabilities within a product line. Basically, the reusability of any software artefact is determined. An adhoc approach allows users to adapt processes at runtime for a single use, a heuristics that has also successfully been used in 21 sec.
Modelling dependencies between variation points in use. Software variability management introduction software engineering, as any engineering discipline, is concerned with developing and. Making the variability in software product families explicit has been identified as an. To conquer the complexity of the modelling, the modelling is decomposed into two views a. Bosch, architecting product diversification formalizing variability dependencies in software productfamily engineering, in. Generic modeling using uml extensions for variability. In the past few years, several variability modeling techniques have been developed, each using its own concepts to model the variability provided by a product family. Product line engineering an overview sciencedirect topics. The main parameters in our experiments are the parameters underlying the product mix variability and the dependencies on product and package level. Variability is a central concept in software product family engineering. Reuse and variability management are two faces of the same coin and strongly influence business performance.
Software variability management connecting repositories. Spl community has spent huge amount of resources on developing various approaches to dealing with variability related challenges over the last decade. Software productfamily engineering electronic resource. Variability management is seen as the key aspect that differentiates conventional software engineering and software product line engineering kruger 02. Managing variability within the feature model is a key step for the success of a product family. Michel jaring and jan bosch 2004 architecting product diversification formalizing variability dependencies in software product family engineering. A product line systems engineering process for variability. Architecting product diversification formalizing variability dependencies in software product family engineering. The best known concept for modeling variability originates from the.
However, the success of software product line engineering builds on one more key factor, which is, that the product line. University of calgary an agile framework for variability. This will involve in a complex and challenging task to be supported by appropriate approaches, techniques, and tools. In proceedings of the 5th product family engineering workshop pfe springer lncs, pages 8197. Product lines have been applied to other engineering fields for decades, while being quite recently introduced in software engineering. Covamof a framework for modeling variability in software. Software engineering and architecture micheljaring. The variability provided by a product family has to undergo continual and timely change, or the product family will risk using the ability to effectively exploit the similarities of its members. Being able to determine whether, when and how variability should respond to changing markets, business needs, and advances in technology, however, i. They can be varied in the domain specified in section 3. Michel jaring and jan bosch 2004 variability dependencies in product family engineering. Commonalities are structured lists of assumptions that are true for all product members.
A new featureoriented method has been proposed to model feature variability and. Reuse variability management and system engineering. Obviously, making the costumer aware of the product family capabilities and variability is a key factor for the successful reuse of the product family assets. This workshop was held in siena, italy, november 46, 2003. These dependencies originate, amongst others, from the. In software product line spl, a family of software is specified with a set of core assets representing reusable features with their variability, dependencies, and constraints. Software architects try to prepare the architecture of a software product family for product diversification, i. This workshop was the fifth in the series, with the same subject, software product family engineering. Jan bosch 2004 architecturecentric software engineering. Pdf architecting product diversification formalizing.
Variability and dependency modeling of quality attributes. On the other hand, in particular aristaflow 4 promoted ad hoc process modeling as a particularly convenient way for customization. Variability modeling in modeldriven software product line. Variability dependencies in product family engineering. Therefore, variability describes the differences between instances of the system modeled and needs to be bound at speci. Variability modeling is important for managing variability in software product families, especially during product derivation. Variability dependencies in product family engineering core. A case study on variability management in software product. The simulation experiments were performed in matlab. Pdf modeling dependencies in product families with covamof.
Starting from this observation, we propose, in this paper, an approach to reverse engineer the architecture of a set of product variants. A metamodel for representing variability in product family development variability dependencies in product family engineering managing component variability within embedded software product lines via transformational code generation evolving a product family in a changing context towards a uml profile for software product lines applying system. Variability management vm encompasses the activities of explicitly representing variability in software artefacts throughout the lifecycle, managing dependencies among different variabilities, and supporting. Estimating values of complex dependencies in covamof. Product mix variability with correlated demand in two. Product diversification is based on the concept of variability. These techniques, however, describe the variability of a product line for one particular moment in time only. Product family engineering is characterized by a so called dual lifecycle 5 as indicated in. Supervisor, frank maurer, department of computer science. Our goal is to identify the variability and dependencies among architecturalelement variants at the architectural level.
Approach to modelling feature variability and dependencies. Research methodology in the domain of software engineering, it was acknowledged by moody et al. Software product line engineering software product line engineering sple refers to software engineering methods, tools and techniques for creating a collection of similar software systems from a shared set of software assets using a common means of production. Product line engineering product line engineering ple, also known as product family engineering pfe is a method that defines the underlying architecture of an organizations product platform. Hard products industries where mechanical and structural engineering were historically dominant and soft. Architecting product diversification formalizing variability dependencies in software product family engineering conference paper pdf available october 2004 with 80 reads how we measure reads.
Classifying variability modeling techniques sciencedirect. The wide adaptation of product line engineering in software industry has enabled cost effective development of high quality software for diverse market segments. In proceedings of the 4th international conference on quality software qsic ieee, pages 154161. Software engineering group dresden university of technology matthias.
Software product families need to support increasing amounts of variability, leading to a situation where variability dependencies become of primary concern. Case tool support for variability management in software. Recovering architectural variability of a family of. Michel jaring 2005 variability engineering as an integral part of the software product family development process. This work was sponsored in part by the dutch national research organization, nwo, jacquard project deliver. A metamodel for representing variability in product. Variability in a product family is defined as a measure of how members of a family may differ from each other weisslai 99.