self-OS engineering