Software Tools for the Development of Self-Driving Cars

Development and Testing of Self-Driving Cars.

Implementing software tools for designing, developing, and testing of self-driving cars.


It is important that Self-Driving Cars (SDC) do not cause physical damages during their operation. To ensure this, SDCs much be designed, developed, and testing in an effective manner. However, design, development, and testing of SDCs are complicated due to the use of machine learning algorithms (e.g., deep neural networks), dealing with unknown environment situations, and complexity of the SDCs. Thus, there is a need for new software tools to support the development of SDCs.

Topic 1: Requirements Engineering for Self-Driving Cars
This topic will focus on extending an existing Restricted Natural Language tool called RUCM for self-driving cars. The examples of extensions include:

  • Specifying requirements for machine learning algorithms for making autonomous decisions
  • Implementing a method to tune parameters of machine learning algorithms
  • Connecting the RUCM tool with the Apollo framework and learning requirements via simulation
  • Developing methods to simulate realistic driving and environmental situations in the Apollo Framework

Topic 2: Modeling Self-Driving Cars
This topic will focus on designing models for self-driving car and connecting into the Apollo framework to support simulation and supporting analyses such as finding crashes and other unsafe situations.

  • Developing models in high-level languages such as Open Modelica for simulation
  • Implementing software to interface the models and its simulators with the Apollo framework
  • Performing analyses using machine learning algorithms.

Topic 3: Testing Self-Driving Cars
Implementing testing methods and strategies to support automated testing of a self-driving car. The example tasks include:

  • Implementing a testing strategy using advanced machine learning algorithms such as reinforcement learning and its variations
  • Implementing rewards functions to guide reinforcement learning to fail an SDC
  • Implementing a method to tune hyperparameters of reinforcement learning

Learning outcome

Advanced knowledge in developing and testing autonmous cars!


  • Shaukat Ali
  • Tao Yue
  • Paolo Arcaini, NII, Tokyo, Japan

Collaboration partners

  • National Institute of Informatics, Japan
  • Nanjing University of Aeronautics and Astronautics, China

Contact person