Best Practice Patterns for Variant Modeling of Activities in Model-Based Systems Engineering

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.

[1]  Marc H. Meyer,et al.  The power of product platforms : building value and cost leadership , 1997 .

[2]  Sridhar Kota,et al.  A Metric for Evaluating Design Commonality in Product Families , 2000 .

[3]  Danilo Beuche,et al.  Functional safety and variability: can it be brought together? , 2013, SPLC '13.

[4]  Kikuo Fujita,et al.  Product Variety Optimization Simultaneously Designing Module Combination and Module Attributes , 2004, Concurr. Eng. Res. Appl..

[5]  Paul Clements,et al.  Systems and Software Product Line Engineering , 2013 .

[6]  Dilip Chhajed,et al.  An experimental investigation of valuation change due to commonality in vertical product line extension , 2001 .

[7]  Marco Sinnema,et al.  Product derivation in software product families: a case study , 2005, J. Syst. Softw..

[8]  Kyo Chul Kang,et al.  Feature-Oriented Domain Analysis (FODA) Feasibility Study , 1990 .

[9]  Charles W. Krueger,et al.  Systems and software product line engineering with gears from BigLever software , 2014, SPLC '14.

[10]  C.J.H. Mann,et al.  A Practical Guide to SysML: The Systems Modeling Language , 2009 .

[11]  K. Czarnecki,et al.  Cardinality-Based Feature Modeling and Constraints : A Progress Report , 2005 .

[12]  Fang Guo,et al.  A Comparison of Modular Product Design Methods Based on Improvement and Iteration , 2004 .

[13]  Hassan Gomaa,et al.  Modeling variability in software product lines with the variation point model , 2004, Sci. Comput. Program..

[14]  Olivier Casse,et al.  About Cameo Systems Modeler , 2017 .

[15]  Roger Jianxin Jiao,et al.  Product family design and platform-based product development: a state-of-the-art review , 2007, J. Intell. Manuf..

[16]  Paul Clements,et al.  Software product lines - practices and patterns , 2001, SEI series in software engineering.

[17]  Kosuke Ishii,et al.  Design for variety: developing standardized and modularized product platform architectures , 2002 .

[18]  Danilo Beuche Pure: : Variants , 2013, Systems and Software Variability Management.