Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Why Feature Dependencies Challenge the Requirem...

Why Feature Dependencies Challenge the Requirements Engineering of Automotive Systems: An Empirical Study

I held this talk at the 2013 IEEE Requirements Engineering Conference in Rio, Brazil

Andreas Vogelsang

July 17, 2013
Tweet

More Decks by Andreas Vogelsang

Other Decks in Research

Transcript

  1. Technische Universität München Why Feature Dependencies Challenge the Requirements Engineering

    of Automotive Systems: An Empirical Study Industry Challenges and Research Needs @ RE 2013 July 17, 2013 Andreas Vogelsang Institut für Informatik Technische Universität München Steffen Fuhrmann BMW Group Driving Dynamics Dimensioning Functions Driving Dynamics and Driver Assistance
  2. Technische Universität München Context: Multifunctional Systems • Variety of different

    features – serve different purposes – behave independently to some extent 2 ACC Automatic Hold Parking Assistant iBrake … Dynamic Cruise Control Heading Control …
  3. Technische Universität München Context: Multifunctional Systems • Variety of different

    features – serve different purposes – behave independently to some extent • Features can have subtle dependencies and may affect each other in certain situations  Feature Interaction 3 ACC Automatic Hold Parking Assistant iBrake … Dynamic Cruise Control Heading Control …
  4. Technische Universität München Context: Multifunctional Systems • Variety of different

    features – serve different purposes – behave independently to some extent • Features can have subtle dependencies and may affect each other in certain situations  Feature Interaction • Requirements management is based on features 4 ACC Automatic Hold Parking Assistant iBrake … Dynamic Cruise Control Heading Control …
  5. Technische Universität München Feature dependencies in a real automotive system:

    Numerous, pervasive, implicit, and in many cases unknown to developers. LF1 LF2 LF4 LF5 VF1 VF2 LF3 Value Proposition:
  6. Technische Universität München Vehicle Features and Architecture at BMW •

    A vehicle system consists of a set of vehicle features (VF) ACC Automatic Hold Parking Assistant iBrake … Dynamic Cruise Control Heading Control … 6
  7. Technische Universität München Vehicle Features and Architecture at BMW •

    A vehicle system consists of a set of vehicle features (VF) • A vehicle feature is realized by a set of leaf functions (LF) ACC Automatic Hold Parking Assistant iBrake … Dynamic Cruise Control Heading Control … 7 LF2 LF3 LF5 LF6 LF1 LF4
  8. Technische Universität München Vehicle Features and Architecture at BMW •

    A vehicle system consists of a set of vehicle features (VF) • A vehicle feature is realized by a set of leaf functions (LF) ACC Automatic Hold Parking Assistant iBrake … Dynamic Cruise Control Heading Control … 8 LF2 LF3 LF5 LF6 LF1 LF4
  9. Technische Universität München Vehicle Features and Architecture at BMW •

    A vehicle system consists of a set of vehicle features (VF) • A vehicle feature is realized by a set of leaf functions (LF) • Two vehicle features are dependent if at least two of their leaf functions exchange data ACC Automatic Hold Parking Assistant iBrake … Dynamic Cruise Control Heading Control … 9 LF2 LF3 LF5 LF6 LF1 LF4
  10. Technische Universität München Vehicle Features and Architecture at BMW •

    A vehicle system consists of a set of vehicle features (VF) • A vehicle feature is realized by a set of leaf functions (LF) • Two vehicle features are dependent if at least two of their leaf functions exchange data ACC Automatic Hold Parking Assistant iBrake … Dynamic Cruise Control Heading Control … 10 LF2 LF3 LF5 LF6 LF1 LF4 ACC iBrake DCC
  11. Technische Universität München Research Questions RQ 1: What is the

    overall extent and distribution of dependencies between vehicle features? 12
  12. Technische Universität München Research Questions RQ 1: What is the

    overall extent and distribution of dependencies between vehicle features? RQ 2: To what extent are developers aware of feature dependencies? 13
  13. Technische Universität München Research Questions RQ 1: What is the

    overall extent and distribution of dependencies between vehicle features? RQ 2: To what extent are developers aware of feature dependencies? RQ 3: How important is a comprehensive understanding of functional dependencies and feature interactions? 14
  14. Technische Universität München Research Questions RQ 1: What is the

    overall extent and distribution of dependencies between vehicle features? RQ 2: To what extent are developers aware of feature dependencies? RQ 3: How important is a comprehensive understanding of functional dependencies and feature interactions?  Analysis of the driving dynamics and driver assistance features of a future SUV 15
  15. Technische Universität München Study Design 17 Phase 1 VF1 

    VF2 VF1  VF3 VF3  VF1 … fully automated static analysis List of dependencies
  16. Technische Universität München Study Design 18 Phase 1 Phase 2

    VF1  VF2 VF1  VF3 VF3  VF1 … fully automated static analysis qualitative interviews List of dependencies
  17. Technische Universität München Results for RQ 1: Extent of Dependencies

    Analyzed system: • Vehicle features: 94 • Feature dependencies: 1451 20
  18. Technische Universität München Vehicle Features… Ratio with incoming dependencies 86.2%

    with outgoing dependencies 76.6% with incoming and outgoing dependencies 72.3% without dependencies 9.6% Results for RQ 1: Extent of Dependencies Analyzed system: • Vehicle features: 94 • Feature dependencies: 1451 21 VF VF VF VF
  19. Technische Universität München Results for RQ 1: Distribution of Dependencies

    25 Incoming Outgoing Maximum 48 53 Median 3 11 Minimum 0 0
  20. Technische Universität München Results for RQ 2: Awareness of Dependencies

    • Expert Interviews at BMW • Investigation of 100 feature dependencies (≈ 7%) 27
  21. Technische Universität München Results for RQ 2: Awareness of Dependencies

    • Expert Interviews at BMW • Investigation of 100 feature dependencies (≈ 7%) 28 known unknown sum plausible 41 % 48 % 89 % implausible 1 % 10 % 11 % sum 42 % 58 % 100%
  22. Technische Universität München Results for RQ 2: Awareness of Dependencies

    • Expert Interviews at BMW • Investigation of 100 feature dependencies (≈ 7%) 29 known unknown sum plausible 41 % 48 % 89 % implausible 1 % 10 % 11 % sum 42 % 58 % 100% The found dependencies are valid
  23. Technische Universität München Results for RQ 2: Awareness of Dependencies

    • Expert Interviews at BMW • Investigation of 100 feature dependencies (≈ 7%) 30 known unknown sum plausible 41 % 48 % 89 % implausible 1 % 10 % 11 % sum 42 % 58 % 100% The found dependencies are valid Most dependencies are plausible but unknown
  24. Technische Universität München Results for RQ 3: Importance of Awareness

    Modeling Feature Dependencies Tracing of signals Incomplete documentation Architectural dependencies Impact of errors Degradation of features 31
  25. Technische Universität München An interesting observation… 36 VF 1 VF

    2 Arbiter Data Provider Feature dependency or architectural dependency?
  26. Technische Universität München Conclusions and Future Work Conclusions: 1. Dependencies

    between vehicle features are numerous and pervade the whole system 2. Developers are mostly unaware of these dependencies 3. Feature dependencies should be modeled early on a feature level Future Work: – Separate the pure feature dependencies from the architectural dependencies – Describe feature dependencies on the basis of a mode model 37
  27. Technische Universität München Conclusions and Future Work Conclusions: 1. Dependencies

    between vehicle features are numerous and pervade the whole system 2. Developers are mostly unaware of these dependencies 3. Feature dependencies should be modeled early on a feature level Future Work: – Separate the pure feature dependencies from the architectural dependencies – Describe feature dependencies on the basis of a mode model 38 Thanks for the attention. Special thanks to: The interviewees from BMW, Maximilian Junker, Benedikt Hauptmann
  28. Technische Universität München 2 Types of Dependencies Dependent by sharing

    a common component Dependent by exchanging data 40
  29. Technische Universität München 2 Types of Dependencies Dependent by sharing

    a common component  Cannot be ensured definitely Dependent by exchanging data 41
  30. Technische Universität München Threats to Validity Threats to the internal

    validity – Realization/implementation vs. requirements – Definition of dependency 42
  31. Technische Universität München Threats to Validity Threats to the internal

    validity – Realization/implementation vs. requirements – Definition of dependency Threats to the external Validity – Analysis only performed on a single system 43