Carroll Morgan (computer scientist)
Carroll Morgan is a British computer scientist, known for his contributions to the field of formal methods, particularly in refinement calculus and program specification. He has worked extensively on the development of mathematical techniques for the rigorous specification, design, and verification of software and hardware systems.
Morgan's research focuses on providing a sound theoretical basis for software development, aiming to reduce errors and increase reliability through the use of formal mathematical models. He is a strong advocate for the application of formal methods in industry, believing that they can lead to more robust and trustworthy software systems.
He is particularly well-known for his work on the refinement calculus, a mathematical framework that allows programmers to systematically transform abstract specifications into concrete, executable code while guaranteeing correctness at each stage of the development process. This approach emphasizes the importance of starting with a clear and precise specification of the desired behavior of a system and then refining it through a series of provably correct steps until an implementation is reached.
Morgan has authored several influential books and research papers on formal methods and refinement calculus, which have been widely used in academia and industry. His work has significantly contributed to the advancement of formal methods and their practical application in software engineering. He is also recognized for his work on probabilistic programming and the formal analysis of probabilistic systems. His continued research explores new applications of formal methods to address the challenges of developing increasingly complex and critical software systems.