Charles Carroll Morgan (born 1952) is an American computer scientist who moved to Australia in his early teens. He completed his education there (high school, university, several years in industry), including a PhD degree from the University of Sydney, and then moved to the United Kingdom in the early 1980s. In 2000, he returned to Australia.
During the 1980s and 1990s, Carroll Morgan was based at the Oxford University Computing Laboratory in England as a researcher and lecturer working in the area of formal methods. Having been influenced by the Z notation of Jean-Raymond Abrial, he authored Programming from Specifications (Prentice Hall International Series in Computer Science, ISBN 0-13-123274-6) as an attempt to bring the high-level specification aspects of Z together with the rigorous program-derivation technique of Edsger Wybe Dijkstra; his treatment concentrated on elementary program constructs in order to make the material accessible to undergraduates in their early years. Some of the ideas there were later incorporated as elements of the B-Method by Jean-Raymond Abrial, when Abrial returned in Oxford in the second half of the 1980s.
Together with Annabelle McIver, Morgan later authored Abstraction, Refinement and Proof for Probabilistic Systems (Springer Monographs in Computer Science, ISBN 978-0-387-40115-7) in which the same themes were pursued for probabilistic programs.
Morgan is now Professor at the University of New South Wales in Australia. His primary research interests are probabilistic models for security and concurrency. He is also the author of numerous papers and active member of a number of IFIP working groups.
Carroll Morgan is known as a proponent of formalized approach to program development called the Refinement Calculus.
发表于2024-11-23
Programming from Specifications 2024 pdf epub mobi 电子书
图书标签: 规范/规格/规约 编程 形式化 pl
Providing a thorough treatment of most elementary programme development techniques, this revised edition covers topics such as procedures, parameters, recursion and data refinement, with the integration of specification, development and coding, based on ordinary (classical) logic. This second edition features: substantial restructuring of earlier material, streamlining the introduction of programming language features; simplified presentation of procedures, parameters and recursion; an expanded chapter on data refinement, giving the much simpler laws that specialize to functional abstractions; a new chapter on recursive types (trees etc) and appropriate control structures; and, following the original concluding case study, two completely new ones: "the recursive treatment of the largest rectangle under a histogram", and a specification and extended developnent of an electronic mail system (including limited concurrency).
Programming from Specifications 2024 pdf epub mobi 电子书