Software block diagram of self-driving cars