Engineering and analysis of real-time microkernels