Andrew D. Gordon

Last updated

Andrew D. Gordon is a British computer scientist employed by Microsoft Research. His research interests include programming language design, formal methods, concurrency, cryptography, and access control.

Contents

Biography

Gordon earned a Ph.D. from the University of Cambridge in 1992. Until 1997 Gordon was a Research Fellow at the University of Cambridge Computer Laboratory. He then joined the Microsoft Research laboratory in Cambridge, England, where he is a principal researcher in the Programming Principles and Tools group. [1] He also holds a professorship at the University of Edinburgh. [2]

Research

Gordon is one of the designers of Concurrent Haskell, a functional programming language with explicit primitives for concurrency. He is the co-designer with Martin Abadi of spi calculus, an extension of the π-calculus for formalized reasoning about cryptographic systems. [3] He and Luca Cardelli invented the ambient calculus for reasoning about mobile code. [4] With Moritz Y. Becker and Cédric Fournet, Gordon also designed SecPAL, a Microsoft specification language for access control policies.

Awards and honours

Gordon's Ph.D. thesis, Functional Programming and Input/Output, won the 1993 Distinguished Dissertation Award of the British Computer Society. [5] His 2000 paper on the ambient calculus subject with Luca Cardelli, "Anytime, Anywhere: Modal Logics for Mobile Ambients", won the 2010 SIGPLAN Most Influential POPL Paper Award. [6]

Related Research Articles

<span class="mw-page-title-main">Robin Milner</span> British computer scientist (1934–2010)

Arthur John Robin Gorell Milner was a British computer scientist, and a Turing Award winner.

<span class="mw-page-title-main">School of Informatics, University of Edinburgh</span>

The School of Informatics is an academic unit of the University of Edinburgh, in Scotland, responsible for research, teaching, outreach and commercialisation in informatics. It was created in 1998 from the former department of artificial intelligence, the Centre for Cognitive Science and the department of computer science, along with the Artificial Intelligence Applications Institute (AIAI) and the Human Communication Research Centre.

<span class="mw-page-title-main">Concurrency (computer science)</span> Ability to execute a task in a non-serial manner

In computer science, concurrency is the ability of different parts or units of a program, algorithm, or problem to be executed out-of-order or in partial order, without affecting the outcome. This allows for parallel execution of the concurrent units, which can significantly improve overall speed of the execution in multi-processor and multi-core systems. In more technical terms, concurrency refers to the decomposability of a program, algorithm, or problem into order-independent or partially-ordered components or units of computation.

SIGPLAN is the Association for Computing Machinery's Special Interest Group on programming languages.

The actor model in computer science is a mathematical model of concurrent computation that treats an actor as the basic building block of concurrent computation. In response to a message it receives, an actor can: make local decisions, create more actors, send more messages, and determine how to respond to the next message received. Actors may modify their own private state, but can only affect each other indirectly through messaging.

In computer science, the Actor model and process calculi are two closely related approaches to the modelling of concurrent digital computation. See Actor model and process calculi history.

<span class="mw-page-title-main">Matthias Felleisen</span> German-American computer science professor and author

Matthias Felleisen is a German-American computer science professor and author. He grew up in Germany and immigrated to the US in his twenties. He received his PhD from Indiana University under the direction of Daniel P. Friedman.

<span class="mw-page-title-main">Gordon Plotkin</span> Computer Scientist

Gordon David Plotkin, is a theoretical computer scientist in the School of Informatics at the University of Edinburgh. Plotkin is probably best known for his introduction of structural operational semantics (SOS) and his work on denotational semantics. In particular, his notes on A Structural Approach to Operational Semantics were very influential. He has contributed to many other areas of computer science.

<span class="mw-page-title-main">Philip Wadler</span> American computer scientist

Philip Lee Wadler is a UK-based American computer scientist known for his contributions to programming language design and type theory. He is the chair of theoretical computer science at the Laboratory for Foundations of Computer Science at the School of Informatics, University of Edinburgh. He has contributed to the theory behind functional programming and the use of monads; and the designs of the purely functional language Haskell and the XQuery declarative query language. In 1984, he created the Orwell language. Wadler was involved in adding generic types to Java 5.0. He is also author of "Theorems for free!", a paper that gave rise to much research on functional language optimization.

The actor model and process calculi share an interesting history and co-evolution.

<span class="mw-page-title-main">Programming language theory</span> Branch of computer science

Programming language theory (PLT) is a branch of computer science that deals with the design, implementation, analysis, characterization, and classification of formal languages known as programming languages. Programming language theory is closely related to other fields including mathematics, software engineering, and linguistics. There are a number of academic conferences and journals in the area.

<span class="mw-page-title-main">Luca Cardelli</span> Italian computer scientist

Luca Andrea Cardelli is an Italian computer scientist who is a research professor at the University of Oxford, UK. Cardelli is well known for his research in type theory and operational semantics. Among other contributions, in programming languages, he helped design the language Modula-3, implemented the first compiler for the (non-pure) functional language ML, defined the concept of typeful programming, and helped develop the experimental language Polyphonic C#.

Rodney Martineau "Rod" Burstall FRSE is a British computer scientist and one of four founders of the Laboratory for Foundations of Computer Science at the University of Edinburgh.

In computer science, the ambient calculus is a process calculus devised by Luca Cardelli and Andrew D. Gordon in 1998, and used to describe and theorise about concurrent systems that include mobility. Here mobility means both computation carried out on mobile devices, and mobile computation. The ambient calculus provides a unified framework for modeling both kinds of mobility. It is used to model interactions in such concurrent systems as the Internet.

<span class="mw-page-title-main">Carl Hewitt</span> American computer scientist; Planner programming languagedesigner (1944-2022)

Carl Eddie Hewitt was an American computer scientist who designed the Planner programming language for automated planning and the actor model of concurrent computation, which have been influential in the development of logic, functional and object-oriented programming. Planner was the first programming language based on procedural plans invoked using pattern-directed invocation from assertions and goals. The actor model influenced the development of the Scheme programming language, the π-calculus, and served as an inspiration for several other programming languages.

Join-patterns provides a way to write concurrent, parallel and distributed computer programs by message passing. Compared to the use of threads and locks, this is a high level programming model using communication constructs model to abstract the complexity of concurrent environment and to allow scalability. Its focus is on the execution of a chord between messages atomically consumed from a group of channels.

References

  1. Programming, Principles, and Tools group, Microsoft Research, accessed 2012-02-02.
  2. Faculty profile, Univ. of Edinburgh, retrieved 2012-02-02.
  3. Ryan, Peter; Schneider, Steve A. (2001), "9.10 Spi calculus", The modelling and analysis of security protocols: the CSP approach, Addison-Wesley Professional, pp. 234–235, ISBN   978-0-201-67471-2 .
  4. Bergstra, J. A.; Ponse, Alban; Smolka, Scott A. (2001), "4.3.3. The ambient calculus", Handbook of process algebra, Elsevier, pp. 1026–1028, ISBN   978-0-444-82830-9 .
  5. Awards, honours, prizes and competitions won, Cambridge Computer Laboratory, accessed 2012-02-02.
  6. SIGPLAN awards Archived 2009-08-02 at the Wayback Machine , retrieved 2012-02-01.