Autonomous Driving Design Principles