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

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

6d03452555634eae10adad12866ba544?s=128

Andreas Vogelsang

July 17, 2013
Tweet

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 11

  12. Technische Universität München Research Questions RQ 1: What is the

    overall extent and distribution of dependencies between vehicle features? 12
  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? 13
  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? 14
  15. 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
  16. Technische Universität München Study Design 16 Phase 1 fully automated

    static analysis
  17. Technische Universität München Study Design 17 Phase 1 VF1 

    VF2 VF1  VF3 VF3  VF1 … fully automated static analysis List of dependencies
  18. 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
  19. Technische Universität München Results for RQ 1: Extent of Dependencies

    19
  20. Technische Universität München Results for RQ 1: Extent of Dependencies

    Analyzed system: • Vehicle features: 94 • Feature dependencies: 1451 20
  21. 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
  22. Technische Universität München Results for RQ 1: Distribution of Dependencies

    22
  23. Technische Universität München Results for RQ 1: Distribution of Dependencies

    23
  24. Technische Universität München Results for RQ 1: Distribution of Dependencies

    24
  25. Technische Universität München Results for RQ 1: Distribution of Dependencies

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

    26
  27. Technische Universität München Results for RQ 2: Awareness of Dependencies

    • Expert Interviews at BMW • Investigation of 100 feature dependencies (≈ 7%) 27
  28. 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%
  29. 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
  30. 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
  31. 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
  32. Technische Universität München An interesting observation… 33 VF 1 VF

    2
  33. Technische Universität München An interesting observation… 34 VF 1 VF

    2
  34. Technische Universität München An interesting observation… 35 VF 1 VF

    2 Arbiter Data Provider
  35. Technische Universität München An interesting observation… 36 VF 1 VF

    2 Arbiter Data Provider Feature dependency or architectural dependency?
  36. 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
  37. 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
  38. Technische Universität München Backup

  39. Technische Universität München 2 Types of Dependencies Dependent by sharing

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

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

    validity – Realization/implementation vs. requirements – Definition of dependency 42
  42. 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