An interactive multi-perspective toolset for non-linear product configuration processes

Ebrahim Khalil Abbasi, Arnaud Hubaux, Patrick Heymans
2011 Proceedings of the 15th International Software Product Line Conference on - SPLC '11  
BACKGROUND In software product line engineering (SPLE), feature diagrams (FDs) capture commonality and variability in terms of features and their relationships. The interactive process during which features are selected and excluded is called feature-based configuration. The resulting set of selected features is a high-level specification of the desired product. To facilitate the configuration of large and complex FDs, tools relying on efficient solvers (e.g. SAT, BDD and CSP) were developed.
more » ... ring our collaboration with industry, we have observed that current tools lack extended support to (1) define multiple perspectives on an FD, and (2) define and control nonlinear configuration processes. To address the first challenge, we have revisited the concept of view on an FD [2] . A view defines a projection on an FD that contains a limited set of features meaningful to some stakeholders. To address the second challenge, we have used a workflow to explicitly specify the configuration process, and to drive the configuration of these views [1]. In a nutshell, each view on the FD is assigned to a task in the workflow. A view is configured when the corresponding task is executed. This combined formalism is called feature configuration workflow (FCW) [1]. Both multi-view feature modelling and FCWs have been integrated in a toolset that builds upon mainstream workflow and FD modelling tools. INTEGRATED TOOLSET Our open source toolset extends and integrates two thirdparty tools: SPLOT 1 and YAWL 2 . Natively, SPLOT is a system for managing and configuring FDs. We extended it to support multi-view FD modelling and configuration, and view-to-workflow mapping. Workflow design, execution, analysis, and user management is provided by YAWL. Interactive services were added to YAWL so as to trigger viewbased configuration in SPLOT. To minimize the coupling be-1 http://www.splot-research.org/ 2 tween YAWL and SPLOT, we implemented from scratch an FCW Engine that manages configuration sessions, conveys the information between YAWL and SPLOT, and monitors the configuration process. By encapsulating the communication APIs between the workflow and FD configuration engines, the FCW Engine opens doors for future integrations of alternative third-party components. The latest stable release of the toolset provides essential operations for multi-view and non-linear configuration environments. Advanced analyses such as guaranteed completion and decision synchronization are currently being implemented and evaluated. The latest version of the toolset, examples, detailed installation instructions, and an introductory video can be found at http://www.splot-research. org/extensions/fundp/fundp.html. DEMONSTRATION SUMMARY In this demo, we consider a configuration scenario inspired from an industrial SPL of communication libraries used in the aerospace industry [1]. We show how (1) stakeholders with different profiles (knowledge, role, preferences...) are handled, (2) views on the FD are tailored to these profiles, and (3) the workflow pilots the configuration of these heterogeneous views. We also explain how the toolset ensures that only legal configuration operations are performed, and eventually supplies a valid product. Finally, we present the toolset's ability to manage concurrent configurations under a shared configuration space assumption. The conflict avoidance and decision notification mechanisms that preserve the global consistency of a configuration are illustrated on the running example.
doi:10.1145/2019136.2019194 dblp:conf/splc/AbbasiHH11 fatcat:mwccrpsi6bf2zlpcoihi5vxj34