$ROS
RobotOS splits a robot into clean layers. The mind never touches raw hardware, and the hardware never has to know what it is thinking. Swap either side and the rest keeps running.