Go home now Header Background Image
Submission Procedure
share: |
Follow us
Volume 16 / Issue 17

available in:   PDF (504 kB) PS (2 MB)
Similar Docs BibTeX   Write a comment
Links into Future
DOI:   10.3217/jucs-016-17-2313


UML Support for Designing Software Product Lines: The Package Merge Mechanism

Miguel A. Laguna (University of Valladolid, Spain)

José M. Marqués (University of Valladolid, Spain)

Abstract: Software product lines have become a successful but challenging approach to software reuse. Some of the problems that hinder the adoption of this development paradigm are the conceptual gap between the variability and design models, as well as the complexity of the traceability management between them. Most current development methods use UML stereotypes or modify UML to face variability and traceability issues. Commercial tools focus mainly on code management, at a fine-grained level. However, the use of specialized techniques and tools represent additional barriers for the widespread introduction of product lines in software companies. In this paper, we propose an alternative based on the UML package merge mechanisms to reflect the structure of the variability models in product line package architecture, thus making the traceability of the configuration decisions straightforward. This package architecture and the configuration of the concrete products are automatically generated (using Model Driven Engineering techniques) from the variability models. As an additional advantage, the package merge mechanism can be directly implemented at code level using partial classes (present in languages such as C#). To support the proposal, we have developed a tool incorporated into MS Visual Studio. This tool permits the product line variability to be modeled and the required transformations to be automated, including the final compilation of concrete products. A case study of a successful experience is described in the article as an example of applying these techniques and tools. The proposed approach, a combination of UML techniques and conventional IDE tools, can make the development of product lines easier for an organization as it removes the need for specialized tools and personnel.

Keywords: Merge Relationship, Software Product Line, UML, traceability, variability

Categories: D.2.13, D.2.2