We describe a formal, model-based, approach for the analysis and design of human-automation interaction. The approach is guided by two primary objectives: first, that the interaction be correct in the sense that it will enable the user to operate the system reliably; second, that the interaction be as simple as possible while maintaining all the required operational flexibility. With these objectives we first discuss a methodology for verification of user-interface correctness, thereby addressing the issue of operational reliability, and then present an algorithmic approach for designing simple and succinct interfaces.