Skip to main content

Architecting Artificial Intelligence for Autonomous Cars: The OpenPilot Framework

  • Conference paper
  • First Online:
Software Architecture (ECSA 2023)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 14212))

Included in the following conference series:

  • 547 Accesses

Abstract

Openpilot is a vast open-source semi-automated driving system developed by comma.ai, with 200+ contributors and 750K lines of code according to the OpenHub open-source community-tracking portal. On the one hand, the documentation available gives insights on what Openpilot is capable of doing, how to install it and how people can contribute to it, while the development team posts periodically update on the company’s blog on the state of the project and implementation of new features. On the other hand, this material does little in helping newcomers to embrace the technology with near-zero knowledge over its intended programming model. What is more, not having access to closed-source autonomous-driving framworks does not warrant an appropriate architectural analysis of the framework, the decisions to be made, and the concerns typically emerging in such a decision-making process. This study addresses this gap by exploiting mixed-methods research, featuring (a) an ethnographical study of the community’s operations and (b) a reverse engineering of the OpenPilot codebase both from a structure and operations perspective. This paper is intended as an early-stage adopter study for those software designers, operators, policy-makers and other practitioners aiming at embracing the aforementioned framework and programming model for their own professional endeavours.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 59.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 74.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    https://policyadvice.net/insurance/insights/self-driving-car-statistics/.

  2. 2.

    https://www.architexa.com/.

  3. 3.

    https://circle.visual-paradigm.com/docs/code-engineering/instant-reverse/how-to-generate-uml-from-cpp/.

  4. 4.

    https://github.com/commaai/Openpilot.git.

  5. 5.

    https://plugins.jetbrains.com/plugin/4509-statistic.

  6. 6.

    a larger and browsable version of this same figure is available online: https://tinyurl.com/ECSA-openpilot.

  7. 7.

    https://www.politesi.polimi.it/bitstream/10589/181889/2/2021_12_Fontana_02.pdf.

  8. 8.

    https://opwiki.readthedocs.io/en/latest/user_manual/gcs_install_op.html.

  9. 9.

    Note that if Thneed is used, a full execution is required only the first time since then the outputs are recorded and can be used to make faster predictions.

  10. 10.

    https://iq.opengenus.org/posenet-model/.

  11. 11.

    The authors would like to thank Mr. Francesco Fontana for his invaluable help in preparing the materials conveyed in this manuscript.

References

  1. Dajsuren, Y., van den Brand, M.: Automotive software engineering: past, present, and future. In: Automotive Systems and Software Engineering, pp. 3–8. Springer, Cham (2019). https://doi.org/10.1007/978-3-030-12157-0_1

    Chapter  Google Scholar 

  2. AUTOSAR: Guidelines for the use of the C++14 Language in Critical and Safety-related Systems. AUTOSAR, 839 edn. (2017)

    Google Scholar 

  3. Bass, L., Clements, P., Kazman, R.: Software Architecture in Practice. SEI series in software engineering, Addison-Wesley (2003)

    Google Scholar 

  4. Cipresso, T., Stamp, M.: Software Reverse Engineering. In: Stavroulakis, P., Stamp, M. (eds.) Handbook of Information and Communication Security, pp. 659–696. Springer, Berlin, Heidelberg (2010). https://doi.org/10.1007/978-3-642-04117-4_31

  5. Djuric, D., Devedzic, V., Gasevic, D.: Adopting software engineering trends in AI. IEEE Intell. Syst. 22(1), 59–66 (2007)

    Article  Google Scholar 

  6. Krippendorff, K.: Content Analysis: An Introduction to Its Methodology (second edition). Sage Publications (2004)

    Google Scholar 

  7. Kruchten, P.: The 4+1 view model of architecture. IEEE Softw. 12(6), 42–50 (1995)

    Article  Google Scholar 

  8. Lee, H.H.S., Clemons, J.: Automotive computing. IEEE Micro. 38(1), 29–30 (2018), http://dblp.uni-trier.de/db/journals/micro/micro38.html#LeeC18

  9. Roca, J.L.: Microelectron. Reliab. 36(5), 609–620 (1996)

    Article  Google Scholar 

  10. Tamburri, D.A., Palomba, F., Kazman, R.: Success and failure in software engineering: a followup systematic literature review. IEEE Trans. Eng. Manage. 68(2), 599–611 (2021). https://doi.org/10.1109/TEM.2020.2976642

    Article  Google Scholar 

  11. Tamburri, D.A., Lago, P., Muccini, H.: Leveraging software architectures through the ISO/IEC 42010 standard: a feasibility study. In: Proper, E., Lankhorst, M.M., Schönherr, M., Barjis, J., Overbeek, S. (eds.) TEAR 2010. LNBIP, vol. 70, pp. 71–85. Springer, Heidelberg (2010). https://doi.org/10.1007/978-3-642-16819-2_6

    Chapter  Google Scholar 

  12. Teddlie, C., Tashakkori, A.: Foundations of Mixed Methods Research : Integrating Quantitative and Qualitative Approaches in the Social and Behavioral Sciences. SAGE, Los Angeles (2009)

    Google Scholar 

  13. Zhou, X., Huang, H., Zhang, H., Huang, X., Shao, D., Zhong, C.: A cross-company ethnographic study on software teams for DevOps and microservices: organization, benefits, and issues. In: 2022 IEEE/ACM 44th International Conference on Software Engineering: Software Engineering in Practice (ICSE-SEIP), pp. 1–10. Association for Computing Machinery, New York (2022)

    Google Scholar 

  14. Zimmermann, T.: Card-sorting. In: Menzies, T., Williams, L.A., Zimmermann, T. (eds.) Perspectives on Data Science for Software Engineering, pp. 137–141. Academic Press (2016), http://dblp.uni-trier.de/db/books/collections/MWZ2016.html#000116

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Damian A. Tamburri .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2023 The Author(s), under exclusive license to Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Baresi, L., Tamburri, D.A. (2023). Architecting Artificial Intelligence for Autonomous Cars: The OpenPilot Framework. In: Tekinerdogan, B., Trubiani, C., Tibermacine, C., Scandurra, P., Cuesta, C.E. (eds) Software Architecture. ECSA 2023. Lecture Notes in Computer Science, vol 14212. Springer, Cham. https://doi.org/10.1007/978-3-031-42592-9_13

Download citation

  • DOI: https://doi.org/10.1007/978-3-031-42592-9_13

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-031-42591-2

  • Online ISBN: 978-3-031-42592-9

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics