Supporting multiple perspectives in feature-based configuration

Feature diagrams have become commonplace in software product line engineering as a means to document variability early in the life cycle. Over the years, their application has also been extended to assist stakeholders in the configuration of software products. However, existing feature-based configuration techniques offer little support for tailoring configuration views to the profiles of the various stakeholders. In this paper, we propose a lightweight, yet formal and flexible, mechanism to leverage multidimensional separation of concerns in feature-based configuration. We propose a technique to specify concerns in feature diagrams and to generate automatically concern-specific configuration views. Three alternative visualisations are proposed. Our contributions are motivated and illustrated through excerpts from a real web-based meeting management application which was also used for a preliminary evaluation. We also report on the progress made in the development of a tool supporting multi-view feature-based configuration.

[1]  Krzysztof Czarnecki,et al.  Feature models are views on ontologies , 2006, 10th International Software Product Line Conference (SPLC'06).

[2]  Andreas Classen,et al.  A text-based approach to feature modelling: Syntax and semantics of TVL , 2011, Sci. Comput. Program..

[3]  Krzysztof Czarnecki,et al.  Sample Spaces and Feature Models: There and Back Again , 2008, 2008 12th International Software Product Line Conference.

[4]  Krzysztof Czarnecki,et al.  Variability modeling in the real: a perspective from the operating systems domain , 2010, ASE '10.

[5]  Jia Liu,et al.  Refinements and multi-dimensional separation of concerns , 2003, ESEC/FSE-11.

[6]  Bashar Nuseibeh,et al.  Viewpoints: A Framework for Integrating Multiple Perspectives in System Development , 1992, Int. J. Softw. Eng. Knowl. Eng..

[7]  Jaejoon Lee,et al.  FORM: A feature-;oriented reuse method with domain-;specific reference architectures , 1998, Ann. Softw. Eng..

[8]  Andreas Classen,et al.  A Formal Semantics for Multi-level Staged Configuration , 2009, VaMoS.

[9]  Mei Hong Multi-view based customization of feature models , 2008 .

[10]  Ramez Elmasri,et al.  Fundamentals of Database Systems , 1989 .

[11]  Donald D. Cowan,et al.  Efficient compilation techniques for large scale feature models , 2008, GPCE '08.

[12]  Olly Gotel,et al.  Contribution structures [Requirements artifacts] , 1995, Proceedings of 1995 IEEE International Symposium on Requirements Engineering (RE'95).

[13]  Krzysztof Czarnecki,et al.  SAT-based analysis of feature models is easy , 2009, SPLC.

[14]  Goetz Botterweck,et al.  Integrating Automated Product Derivation and Individual User Interface Design , 2010, VaMoS.

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

[16]  Pierre Marquis,et al.  On propositional definability , 2008, Artif. Intell..

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

[18]  Dave Clarke,et al.  Towards a Theory of Views for Feature Models , 2010, SPLC Workshops.

[19]  Roel Wieringa,et al.  Guest Editors' Introduction: Stakeholders in Requirements Engineering , 2007, IEEE Software.

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

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

[22]  Donald D. Cowan,et al.  S.P.L.O.T.: software product lines online tools , 2009, OOPSLA Companion.

[23]  Goetz Botterweck,et al.  Research Tool to Support Feature Configuration in Software Product Lines , 2010, VaMoS.

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

[25]  Patrick Heymans,et al.  Variability Modeling Challenges from the Trenches of an Open Source Product Line Re-engineering Project , 2008, 2008 12th International Software Product Line Conference.

[26]  Variant Management with pure : : variants pure-systems , 2007 .

[27]  Bernhard Rumpe,et al.  Modeling Languages: Syntax, Semantics and All That Stuff, Part I: The Basic Stuff , 2000 .

[28]  Donald D. Cowan,et al.  Collaborative Product Configuration: Formalization and Efficient Algorithms for Dependency Analysis , 2008, J. Softw..

[29]  Andreas Classen,et al.  Formal modelling of feature configuration workflows , 2009, SPLC.

[30]  Yvonne Dittrich,et al.  Taking care of cooperation when evolving socially embedded systems: The PloneMeeting case , 2009, 2009 ICSE Workshop on Cooperative and Human Aspects on Software Engineering.

[31]  Matthias Weber,et al.  Managing Highly Complex Product Families with Multi-Level Feature Trees , 2006, 14th IEEE International Requirements Engineering Conference (RE'06).

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

[33]  Goetz Botterweck,et al.  Visual Tool Support for Configuring and Understanding Software Product Lines , 2008, 2008 12th International Software Product Line Conference.

[34]  Michal Antkiewicz,et al.  FeaturePlugin: feature modeling plug-in for Eclipse , 2004, eclipse '04.

[35]  Bashar Nuseibeh,et al.  ViewPoints: meaningful relationships are difficult! , 2003, 25th International Conference on Software Engineering, 2003. Proceedings..

[36]  Donald D. Cowan,et al.  Decision-making coordination in collaborative product configuration , 2008, SAC '08.

[37]  Stanley M. Sutton,et al.  N degrees of separation: multi-dimensional separation of concerns , 1999, Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002).

[38]  Christian Kästner,et al.  Virtual Separation of Concerns: Toward Preprocessors 2.0 , 2010, it Inf. Technol..

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

[40]  Catalin Bidian,et al.  From stakeholder goals to product features: towards a role-based variability framework with decision boundary , 2006, PST.

[41]  Juha Savolainen,et al.  Viewpoint-Oriented Variability Modeling , 2009, 2009 33rd Annual IEEE International Computer Software and Applications Conference.

[42]  Andreas Classen,et al.  Relating requirements and feature configurations: a systematic approach , 2009, SPLC.

[43]  Mats Per Erik Heimdahl,et al.  Structuring product family requirements for n-dimensional and hierarchical product lines , 2003, Requirements Engineering.

[44]  O. Gotel,et al.  Contribution Structures , 1995 .

[45]  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).

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

[47]  Marcilio Mendonça,et al.  Efficient Reasoning Techniques for Large Scale Feature Models , 2009 .

[48]  Sergio Segura,et al.  Automated analysis of feature models 20 years later: A literature review , 2010, Inf. Syst..