Variability Modeling Challenges from the Trenches of an Open Source Product Line Re-engineering Project

Variability models, feature diagrams ahead, have become commonplace in the software product lines engineering literature. Whereas ongoing research keeps improving their expressiveness, formalisation and automation, more experience reports on their usage in real projects are needed. This paper describes some challenges encountered during the re-engineering of PloneMeeting, an Open Source software family, into a software product line. The main challenging issues we could observe were (i) the ambiguity originating from implicit information (missing definitions of feature labels and unclear modelling viewpoint), (ii) the necessity of representing spurious features, (iii) the difficulty of making diagrams and constraints resistant to change, and (iv) the risks of using feature attributes to represent large sets of subfeatures. Our study reveals the limitations of current constructs, and calls for both language and methodological improvements. It also suggests further comparative evaluations of modelling alternatives.

[1]  John Krogstie,et al.  Using a Semiotic Framework to Evaluate UML for the Development of Models of High Quality , 2001, Unified Modeling Language: Systems Analysis, Design and Development Issues.

[2]  Pierre-Yves Schobbens,et al.  Disambiguating the Documentation of Variability in Software Product Lines: A Separation of Concerns, Formalization and Automated Analysis , 2007, 15th IEEE International Requirements Engineering Conference (RE 2007).

[3]  Krzysztof Czarnecki,et al.  Staged configuration through specialization and multilevel configuration of feature models , 2005, Softw. Process. Improv. Pract..

[4]  Krzysztof Czarnecki,et al.  Formalizing cardinality-based feature models and their specialization , 2005, Softw. Process. Improv. Pract..

[5]  Klaus Pohl,et al.  Software Product Line Engineering - Foundations, Principles, and Techniques , 2005 .

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

[7]  Klaus Pohl,et al.  Software Product Line Engineering , 2005 .

[8]  P. Heymans,et al.  Separating variability concerns in a product line re-engineering project , 2008, EA@AOSD.

[9]  Egon Börger,et al.  Formal methods for industrial applications : specifying and programming the steam boiler control , 1996 .

[10]  Klaus Schmid,et al.  Software product lines in action - the best industrial practice in product line engineering , 2007 .

[11]  Pierre-Yves Schobbens,et al.  Generic semantics of feature diagrams , 2007, Comput. Networks.

[12]  Pierre-Yves Schobbens,et al.  Feature Diagrams: A Survey and a Formal Semantics , 2006, 14th IEEE International Requirements Engineering Conference (RE'06).

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

[14]  Jan Bosch,et al.  On the notion of variability in software product lines , 2001, Proceedings Working IEEE/IFIP Conference on Software Architecture.

[15]  Don S. Batory,et al.  Feature Models, Grammars, and Propositional Formulas , 2005, SPLC.

[16]  Daniel Hoffman,et al.  Commonality and Variability in Software Engineering , 1998, IEEE Softw..

[17]  Michael Jackson,et al.  Four dark corners of requirements engineering , 1997, TSEM.

[18]  Susan Elliott Sim,et al.  Case studies for software engineers , 2005, Proceedings. 26th International Conference on Software Engineering.

[19]  Patrick Donohoe,et al.  Feature-Oriented Project Line Engineering , 2002, IEEE Softw..

[20]  Jan Bosch,et al.  A taxonomy of variability realization techniques , 2005, Softw. Pract. Exp..

[21]  Pierre-Yves Schobbens,et al.  Evaluating formal properties of feature diagram languages , 2008, IET Softw..

[22]  Cameron Cooper Building Websites with Plone: An in-depth and comprehensive guide to the Plone content management system. , 2004 .

[23]  Pierre-Yves Schobbens,et al.  PloneGov as an Open Source Product Line , 2007 .