Abstract:
Product line development practices have emerged in recent years as methods to increase variety in a family of products while also keeping development costs down. However,...Show MoreMetadata
Abstract:
Product line development practices have emerged in recent years as methods to increase variety in a family of products while also keeping development costs down. However, with higher complexity comes complex system models that are error-prone and time consuming to maintain. This article proposes two variant modeling patterns which, when used in the right context, can reduce complexity, eliminate many opportunities for error, and minimize development costs and maintenance effort. The 150% pattern, already commonly used in industry, capitalizes on commonality among variants. The encapsulation pattern promotes model organization and understandability. This article also introduces four comparison criteria-number of variation points, number of shared model elements, human readability, and model maintainability-that a system architect can use to determine which pattern is best suited to model a certain product family. The 150% pattern is found to be best to be used for product lines with high commonality among variants, whereas product lines whose variants exhibit much variety and are managed by multiple development teams are best modeled using the encapsulation pattern. A parking brake product family is used to illustrate each modeling pattern and provides a sample context against which to use the comparison criteria.
Published in: IEEE Systems Journal ( Volume: 14, Issue: 3, September 2020)