Charles Carroll Morgan
Born1952 (age 71–72)
EducationPh.D.; University of Sydney
Known forFormal methods
Scientific career
FieldsComputer science
InstitutionsOxford University Computing Laboratory
University of New South Wales

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 Doctor of Philosophy (Ph.D.) 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, Morgan was based at the Oxford University Computing Laboratory in England as a researcher and lecturer working in the area of formal methods, and was a Fellow of Pembroke College. Having been influenced by the Z notation of Jean-Raymond Abrial, he authored Programming from Specifications as an attempt to combine the high-level specification aspects of Z, with the rigorous computer program derivation methods of Edsger W. Dijkstra. His treatment concentrated on elementary program constructs to make the material accessible to undergraduates in their early years.[1] Some of the ideas there were later incorporated as elements of the B-Method by Abrial, when Abrial returned to Oxford in the last half of the 1980s.

Together with Annabelle McIver, Morgan later authored Abstraction, Refinement and Proof for Probabilistic Systems, in which the same themes were pursued for probabilistic programs.[2] His most recent text (with five others) is The Science of Quantitative Information Flow, in which the same themes were extended further, to program security.[3]

Morgan is now a professor in the School of Computer Science and Engineering at the University of New South Wales,[4] a Senior Principal Researcher at Trustworthy Systems [5] and an Honorary Professor at Macquarie University,[6] all three in Australia. His main research interests are probabilistic models for computer security and concurrency. He is a known proponent of a formalized approach to program development called the refinement calculus.[1] He has authored many papers.

He is involved with developing international standards in programming and informatics, as an active member of several International Federation for Information Processing (IFIP) working groups,[7] including IFIP Working Group 2.1 on Algorithmic Languages and Calculi,[8] which specified, maintains, and supports the programming languages ALGOL 60 and ALGOL 68.[9]


  1. ^ a b Morgan, Carroll (1990–1998). Programming from Specifications. International Series in Computer Science (2nd ed.). Prentice Hall. ISBN 978-0137262335. Retrieved 4 October 2020.
  2. ^ McIver, Annabelle; Morgan, Charles Carroll (2005). Abstraction, Refinement and Proof for Probabilistic Systems. Monographs in Computer Science. New York: Springer Nature. doi:10.1007/b138392. ISBN 978-0-387-40115-7.
  3. ^ Alvim, Mario; Chatzikokolakis, Konstantinos; McIver, Annabelle; Morgan, Charles Carroll; Palamidessi, Catuscia; Smith, Geoffrey (2020). The Science of Quantitative Information Flow. Monographs in Information Security and Cryptography. New York: Springer Nature. doi:10.1007/978-3-319-96131-6. ISBN 978-3-319-96129-3. S2CID 221841150.
  4. ^ "Carroll Morgan, Professor, Aust. Professorial Fellow ARC". Australia: University of New South Wales. Archived from the original on 1 February 2014. Retrieved 26 January 2014.
  5. ^ "Trustworthy Systems". Australia.
  6. ^ "Honorary Professor". Australia.
  7. ^ "Software Design Group: Carroll Morgan". USA: MIT. Archived from the original on 18 June 2010. Retrieved 20 June 2010.
  8. ^ Jeuring, Johan; Meertens, Lambert; Guttmann, Walter (17 August 2016). "Profile of IFIP Working Group 2.1". Foswiki. Retrieved 4 October 2020.
  9. ^ Swierstra, Doaitse; Gibbons, Jeremy; Meertens, Lambert (2 March 2011). "ScopeEtc: IFIP21: Foswiki". Foswiki. Retrieved 4 October 2020.