The software-defined vehicle