I think embedded software would be like the anti-case for OP's idea. It's a resource-constrained environment, and you also cannot upgrade things easily, so the "replaceable" parts of the software become nothing.