Operating Systems and Middleware: Supporting Controlled Interaction