• A feature is realized by a set of logical components (LC) • Two features are dependent if at least two of their logical components exchange data Window Lifter Airbag Cruise Control … Features, Architecture, and Dependencies 3
of feature dependencies? 8 1 Extent and Characteristics of Dependencies Between Vehicle Functions in Automotive Software Systems, MiSE @ ICSE12 2 Why Feature Dependencies Challenge the Requirements Engineering of Automotive Systems, RE13 1 2
of feature dependencies? • Expert interviews at BMW • Investigation of 100 feature dependencies 9 known unknown sum plausible 41 % 48 % 89 % not plausible 1 % 10 % 11 % sum 42 % 58 % 100% The found dependencies are reasonable Most dependencies are plausible but unknown Vogelsang, Fuhrmann: Why Feature Dependencies Challenge the Requirements Engineering of Automotive Systems. RE13 We need a comprehensive RE methodology for automotive systems that integrates and supports the specification of feature dependencies.
other features • An implicit communal component is a communal component associated with a feature • An explicit communal component is a communal component associated with a dedicated platform component layer (PCL). Implicit Communal Components 12 LC1 LC2 LC3 LC4 LC5 LC7 LC6 F2 F3 PCL
implicit communal components? Vogelsang, Femmer, Junker: Characterizing Implicit Communal Components as Technical Debt in Automotive Software Systems. WICSA’16 We need to refactor < 10 % of implicit communal components to save > 90% of feature dependencies
also feature interactions? – Feature dependencies are desired – Feature dependencies are internal – Hypothesis: Feature dependencies are operational feature interactions (i.e. internal) according to Apel et al. [FOSD13] • What about higher-order feature dependencies? – How are they defined? Do they exist? • How to use the analysis of feature dependencies – to predict external feature interactions – to align testing strategies – to refactor architectures 14 Thank you. @andivogelsang firstname.lastname@example.org