Abstract
Automotive software is increasing in complexity, leading to new challenges for designers and developers. Design patterns, which offer reusable solutions to common design problems, are a potential way to deal with this complexity. Although design patterns have received much focus in academic publications, it is not clear how they are used in practice. This paper presents an interview-based study that explores the use of design patterns in the automotive industry. The study findings reveal how automotive practitioners view and use design patterns in their software designs. Our study revealed that industry experts have a view of design patterns which often differs from the academic views. They use design patterns in combination with architecture guidelines, principles, and frameworks. Instead of the academic focus on the design patterns, industry professionals focus on the design, architectural tactics, and standards. Such findings highlight the need for a more nuanced understanding of the concept and practical applications of design patterns within the context of industrial software engineering practices.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
Notes
- 1.
- 2.
tinyurl.com/QualitativeSurveys.
- 3.
References
Beck, K., et al.: Industrial experience with design patterns. In: Proceedings of IEEE 18th International Conference on Software Engineering, pp. 103–114. IEEE (1996)
Bieman, J.M., Jain, D., Yang, H.J.: OO design patterns, design structure, and program changes: an industrial case study. In: Proceedings IEEE International Conference on Software Maintenance. ICSM 2001, pp. 580–589. IEEE (2001)
Blewitt, A., Bundy, A., Stark, I.: Automatic verification of design patterns in java. In: Proceedings of the 20th IEEE/ACM International Conference on Automated Software Engineering, pp. 224–232 (2005)
Bloom, G., Alsulami, B., Nwafor, E., Bertolotti, I.C.: Design patterns for the industrial internet of things. In: 2018 14th IEEE International Workshop on Factory Communication Systems (WFCS), pp. 1–10. IEEE (2018)
Broy, M.: Challenges in automotive software engineering. In: Proceedings of the 28th International Conference on Software Engineering, pp. 33–42 (2006)
Creswell, J.W., Creswell, J.D.: Research Design: Qualitative, Quantitative, and Mixed Methods Approaches. Sage Publications, Thousand Oaks (2017)
Feitosa, D., Avgeriou, P., Ampatzoglou, A., Nakagawa, E.Y.: The Evolution of Design Pattern Grime: An Industrial Case Study. In: Felderer, M., Méndez Fernández, D., Turhan, B., Kalinowski, M., Sarro, F., Winkler, D. (eds.) PROFES 2017. LNCS, vol. 10611, pp. 165–181. Springer, Cham (2017). https://doi.org/10.1007/978-3-319-69926-4_13
Gamma, E., Helm, R., Johnson, R., Johnson, R.E., Vlissides, J.: Design Patterns: Elements of Reusable Object-oriented Software. Pearson Deutschland GmbH (1995)
Khwaja, S., Alshayeb, M.: Survey on software design-pattern specification languages. ACM Comput. Surv. (CSUR) 49(1), 1–35 (2016)
Mayvan, B.B., Rasoolzadegan, A., Yazdi, Z.G.: The state of the art on design patterns: a systematic mapping of the literature. J. Syst. Softw. 125, 93–118 (2017)
Mirnig, A., et al.: Automotive user experience design patterns: an approach and pattern examples. Int. J. Adv. Intell. Syst 9, 275–286 (2016)
Naghdipour, A., Hasheminejad, S.M.H., Barmaki, R.L.: Software design pattern selection approaches: a systematic literature review. Softw. Pract. Experience 53(4), 1091–1122 (2023)
Nicholson, J., Eden, A.H., Gasparis, E., Kazman, R.: Automated verification of design patterns: a case study. Sci. Comput. Program. 80, 211–222 (2014)
Parthasarathy, D., Ekelin, C., Karri, A., Sun, J., Moraitis, P.: Measuring design compliance using neural language models: an automotive case study. In: Proceedings of the 18th International Conference on Predictive Models and Data Analytics in Software Engineering, pp. 12–21 (2022)
Riehle, D.: Lessons learned from using design patterns in industry projects. In: Noble, J., Johnson, R., Avgeriou, P., Harrison, N.B., Zdun, U. (eds.) Transactions on Pattern Languages of Programming II. LNCS, vol. 6510, pp. 1–15. Springer, Heidelberg (2011). https://doi.org/10.1007/978-3-642-19432-0_1
Runeson, P., Höst, M.: Guidelines for conducting and reporting case study research in software engineering. Empir. Softw. Eng. 14, 131–164 (2009)
Staron, M.: Automotive Software Architectures. Springer, Cham (2021). https://doi.org/10.1007/978-3-030-65939-4
Tsantalis, N., Chatzigeorgiou, A., Stephanides, G., Halkidis, S.T.: Design pattern detection using similarity scoring. IEEE Trans. Softw. Eng. 32(11), 896–909 (2006)
Wohlin, C., Runeson, P., Höst, M., Ohlsson, M.C., Regnell, B., Wesslén, A.: Experimentation in software engineering. Springer, Heidelberg (2012). https://doi.org/10.1007/978-3-642-29044-2
Xiong, R., Li, B.: Accurate design pattern detection based on idiomatic implementation matching in java language context. In: 2019 IEEE 26th International Conference on Software Analysis, Evolution and Reengineering (SANER), pp. 163–174. IEEE (2019)
Acknowledgement
This study was financed by the CHAIR (Chalmers AI Research Center) project “T4AI”, Vinnova, Software Center, Volvo Cars, AB Volvo Chalmers, and the University of Gothenburg, Sweden.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2024 The Author(s), under exclusive license to Springer Nature Switzerland AG
About this paper
Cite this paper
Pandey, S.K., Chand, S., Horkoff, J., Staron, M. (2024). Design Patterns Understanding and Use in the Automotive Industry: An Interview Study. In: Kadgien, R., Jedlitschka, A., Janes, A., Lenarduzzi, V., Li, X. (eds) Product-Focused Software Process Improvement. PROFES 2023. Lecture Notes in Computer Science, vol 14483. Springer, Cham. https://doi.org/10.1007/978-3-031-49266-2_21
Download citation
DOI: https://doi.org/10.1007/978-3-031-49266-2_21
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-031-49265-5
Online ISBN: 978-3-031-49266-2
eBook Packages: Computer ScienceComputer Science (R0)