Robin Milner
University of Cambridge
Network
Latest external collaboration on country level. Dive into details by clicking on the dots.
Publication
Featured researches published by Robin Milner.
Information & Computation | 1992
Robin Milner; Joachim Parrow; David Walker
We present the a-calculus, a calculus of communicating systems in which one can naturally express processes which have changing structure. Not only may the component agents of a system be arbitrarily linked, but a communication between neighbours may carry information which changes that linkage. The calculus is an extension of the process algebra CCS, following work by Engberg and Nielsen, who added mobility to CCS while preserving its algebraic properties. The rr-calculus gains simplicity by removing all distinction between variables and constants; communication links are identified by names, and computation is represented purely as the communication of names across links. After an illustrated description of how the n-calculus generalises conventional process algebras in treating mobility, several examples exploiting mobility are given in some detail. The important examples are the encoding into the n-calculus of higher-order functions (the I-calculus and combinatory algebra), the transmission of processes as values, and the representation of data structures as processes. The paper continues by presenting the algebraic theory of strong bisimilarity and strong equivalence, including a new notion of equivalence indexed by distinctions-i.e., assumptions of inequality among names. These theories are based upon a semantics in terms of a labeled transition system and a notion of strong bisimulation, both of which are expounded in detail in a companion paper. We also report briefly on work-in-progress based upon the corresponding notion of weak bisimulation, in which internal actions cannot be observed. 0 1992 Academic Press, Inc.
Journal of Computer and System Sciences | 1978
Robin Milner
The aim of this work is largely a practical one. A widely employed style of programming, particularly in structure-processing languages which impose no discipline of types, entails defining procedures which work well on objects of a wide variety. We present a formal type discipline for such polymorphic procedures in the context of a simple programming language, and a compile time type-checking algorithm w which enforces the discipline. A Semantic Soundness Theorem (based on a formal semantics for the language) states that well-type programs cannot “go wrong” and a Syntactic Soundness Theorem states that if fl accepts a program then it is well typed. We also discuss extending these results to richer languages; a type-checking algorithm based on w is in fact already implemented and working, for the metalanguage ML in the Edinburgh LCF system,
Journal of the ACM | 1985
Matthew Hennessy; Robin Milner
Since a nondeterministic and concurrent program may, in general, communicate repeatedly with its environment, its meaning cannot be presented naturally as an input/output function (as is often done in the denotational approach to semantics). In this paper, an alternative is put forth. First, a definition is given of what it is for two programs or program parts to be equivalent for all observers; then two program parts are said to be observation congruent if they are, in all program contexts, equivalent. The behavior of a program part, that is, its meaning, is defined to be its observation congruence class. The paper demonstrates, for a sequence of simple languages expressing finite (terminating) behaviors, that in each case observation congruence can be axiomatized algebraically. Moreover, with the addition of recursion and another simple extension, the algebraic language described here becomes a calculus for writing and specifying concurrent programs and for proving their properties.
symposium on principles of programming languages | 1982
Luis Damas; Robin Milner
Permission to copy without fee all or part of this material is granted provided that the copies are not made or distributed for direct commercial advantage, the ACM copyright notice and the title of its publication and date appear, and notice is given that copying is by permission of the Association for Computing Machinery. To copy otherwise, or to republish, requires a fee and/or specific permission.
Theoretical Computer Science | 1983
Robin Milner
Abstract A calculus for distributed computation is studied, based upon four combinators. A central idea is an Abelian group of actions which models the interfaces between components of a distributed computing agent. Using a notion of bisimulation, congruence relations are defined over computing agents, and thence an algebraic theory is derived. The calculus models both synchronous and asynchronous computation. In particular, it is shown that the authors Calculus of Communicating Systems (1980), which is an asynchronous model, is derivable from the calculus presented here.
Springer Berlin Heidelberg | 1993
Robin Milner
The π-calculus is a model of concurrent computation based upon the notion of naming. It is first presented in its simplest and original form, with the help of several illustrative applications. Then it is generalized from monadic to polyadic form. Semantics is done in terms of both a reduction system and a version of labelled transitions called commitment; the known algebraic axiomatization of strong bisimilarity is given in the new setting, and so also is a characterization in modal logic. Some theorems about the replication operator are proved.
Information & Computation | 1992
Robin Milner; Joachim Parrow; David Walker
This is the second of two papers in which we present the rc-calculus, a calculus of mobile processes. The companion paper (Milner, Parrow, and Walker, 1989a) contains an introduction to the calculus through a sequence of examples, together with statements of many results about it. The purpose of the present paper is to provide a detailed presentation of some of the theory of the calculus developed to date, and in particular to establish most of the results stated in the companion paper. Once the motivation and intuition for the n-calculus are understood, with the help of the companion paper, the present paper serves as a self-contained development of the theory. To achieve this we have found it necessary to repeat some material from the companion paper. Section 1 contains a description of the syntax of agents and a discursive presentation of the transitional semantics. In Section 2 we present and motivate the definitions of strong bisimulation and strong bisimilarity, strong equivalence, and a useful family of indexed equivalences. Section 3 contains a series of properties of strong bisimilarity, while properties of
Theoretical Computer Science | 1977
Robin Milner
A semantic interpretation A for a programming language L is fully abstract if, whenever A〚C[M]〛⊑A〚C[N]〛 for two program phrases M,N and for all program contexts C[ ], it follows that A〚M〛⊑A〚N〛. A model M for the language is fully abstract if the natural interpretation A of L in M is fully abstract. We show that under certain conditions there exists, for an extended typed λ-calculus, a unique fully abstract model.
international conference on concurrency theory | 2001
Robin Milner
A notion of bigraph is introduced as a model of mobile interaction. A bigraph consists of two independent structures: a topograph representing locality and an edge net representing connectivity. Bigraphs are equipped with reaction rules to form bigraphical reactive systems (BRSs), which include versions of the π-calculus and the ambient calculus. A behavioural theory is established, using the categorical notion of relative pushout; it allows labelled transition systems to be derived uniformly for a wide variety of BRSs, in such a way that familiar behavioural preorders and equivalences, in particular bisimilarity, are congruential. An example of the derivation is discussed.
Communications of The ACM | 1993
Robin Milner
this award, bearing the name of Pdan Turing. Perhaps Turing would be pleased that it should go to someone educated at his old college, Kings College at Cambridge. While there in 19561 wrote my first computer program; it was on the EDSAC. Of course EDSAC made history. But I am ashamed to say it did not lure me into computing, and I ignored computers for four years. In 1960 I thought that computers might be more peaceful to handle than schoolchildren-I was then a teacher-so I applied for a job at Ferranti in London, at the time of Pegasus. I was asked at the interview whether I would like to devote my life to computers. This daunting notion had never crossed my mind. Well, here I am still, and I have had the lucky chance to grow alongside computer science. This award gives an unusual opportunity, and I hope a license, to reflect on a line of research from a personal point of view. I thought I should seize the opportunity, because among my interests there is one thread which has preoccupied me for 20 years. Describing this kind of experience can surely yield insight, provided one remembers that it is a personal thread; science is woven from many such threads and is all the stronger when each thread is hard to trace in the finished fabric. The thread which I want to pick up is the semantic basis of concurrent computation. I shall begin by explaining how I came to see that concurrency requires a fresh approach , not merely an extension of the repertoire of entities and constructions which explain sequential computing. Then I shall talk about my efforts to find basic constructions for concurrency, guided by experience with sequential semantics. This is the work which led to a Calculus for Communicating Systems (CCS). At that point I shall briefly discuss the extent to which these constructions may be understood mathematically, in the way that sequential computing may be understood in terms of functions. Finally, I shall outline a new basic calculus for concurrency; it gives prominence to the old idea of naming or reference, which has hitherto been treated as a second-class citizen by theories of computing. I make a disclaimer. I reject the idea that there can be a unique conceptual model, or one preferred formalism , for all aspects of something as large as concurrent …