Dr. John P. Thomas has a background in CS, EE, Computer Engineering, and Systems Engineering and spent a number of years in industry working for aerospace, automotive, and defense companies. He holds a Ph.D. in Engineering Systems and he now works in the aeronautics and astronautics department at MIT. For the last 10 years his research has focused on developing STAMP-based methods. His work includes creating structured processes for analyzing complex automated and human-intensive systems, especially systems that may behave in unanticipated, unsafe, or otherwise undesirable ways through complex interactions with each other and their environment. By using control theory and systems theory, more efficient and effective design and analysis processes can be created to prevent flaws that lead to unsafe or unexpected behaviors when integrated with other systems. More recently he has been applying these techniques to automated systems that are heavily dependent on human interactions and may not only experience human error but may inadvertently induce human error through mode confusion, clumsy automation, and other mechanisms that can be difficult to anticipate.
Dr. Thomas’s work also includes defining a formal structure underlying a systems-theoretic process that can be used to help ensure potentially hazardous or undesirable behaviors are systematically identified. He has developed algorithms to automatically generate formal executable and model-based requirements for software components as well as methods to detect flaws in a set of existing requirements. The same process can be applied to both safety and functional goals of the system, thereby permitting the automated detection of conflicts between safety and other requirements during early system development.
Dr. Thomas has taught classes on software engineering, cybersecurity, system safety, system engineering, human-centered design, and related topics.