This chapter begins with exploring the functional architecture before moving on to looking at the system architecture and describes some real-world examples of self-driving vehicle (SDV) middleware. It looks at the other functions an SDV needs in order to work. These include planning and vehicle control. In robotics literature, the problem of motion planning is generally divided into two sub-problems: path planning and trajectory planning. The chapter explores how the SDV combines the knowledge of its environment with other data such as its destination, the rules of the road, and its knowledge of its own capabilities in order to achieve the aim of driving itself safely to the destination. Automotive data and time-triggered framework was initially developed by Audi Electronic Venture as an internal framework for development and test of Advanced Driver Assistance Systems, before it was made available as proprietary software for other car manufacturers and automotive suppliers in 2008.