Presheaf models for the π-calculus (original) (raw)
Presheaf models for concurrency
Lecture Notes in Computer Science, 1997
In this dissertation we investigate presheaf models for concurrent computation. Our aim is to provide a systematic treatment of bisimulation for a wide range of concurrent process calculi. Bisimilarity is defined abstractly in terms of open maps as in the work of Joyal, Nielsen and Winskel. Their work inspired this thesis by suggesting that presheaf categories could provide abstract models for concurrency with a built-in notion of bisimulation. We show how presheaf categories, in which traditional models of concurrency are embedded, can be used to deduce congruence properties of bisimulation for the traditional models. A key result is given here; it is shown that the homomorphisms between presheaf categories, i.e., colimit preserving functors, preserve open map bisimulation. We follow up by observing that presheaf categories and colimit preserving functors organise in what can be considered as a category of non-deterministic domains. Presheaf models can be obtained as solutions to recursive domain equations. We investigate properties of models given for a range of concurrent process calculi, including CCS, CCS with value-passing, π-calculus and a form of CCS with linear process passing. Open map bisimilarity is shown to be a congruence for each calculus. These are consequences of general mathematical results like the preservation of open map bisimulation by colimit preserving functors. In all but the case of the higher order calculus, open map bisimulation is proved to coincide with traditional notions of bisimulation for the process terms. In the case of higher order processes, we obtain a finer equivalence than the one one would normally expect, but this helps reveal interesting aspects of the relationship between the presheaf and the operational semantics. For a fragment of the language, corresponding to a form of λ-calculus, open map bisimulation coincides with applicative bisimulation. In developing a suitable general theory of domains, we extend results and notions, such as the limit-colimit coincidence theorem of Smyth and Plotkin, from the orderenriched case to a "fully" 2-categorical situation. Moreover we provide a domain theoretical analysis of (open map) bisimulation in presheaf categories. We present, in fact, induction and coinduction principles for recursive domains as in the works of Pitts and of Hermida and Jacobs and use them to derive a coinduction property based on bisimulation. vii Personal debts can never be adequately acknowledged. I am especially grateful to my supervisor Glynn Winskel. Not only has he taught me how to do research, but he also transmitted his enthusiasm for it. It has always been a pleasure and a source of learning to discuss ideas with him and this thesis owes much to his stimulating guidance. While leaving me the freedom of choosing the problems I wished to work on, he has always been very involved in what I was doing to the point that this thesis can, in fact, be regarded as the result of four years of joint work. I shall also heartily thank him for his friendship. Pino Rosolini gave unstinting support in more ways than one. He guided my first steps as a researcher when I was working on my 'tesi di laurea'. Later, when I decided to go on with postgraduate studies, he put me in contact and warmly suggested that I should study with Glynn. Ever since then he discreetly followed my progresses as a PhD student while always being available whenever I needed his help or advice. Thanks are due to Vladimiro Sassone, Ian Stark and Marcelo Fiore. They all showed me friendship and stimulated my research. Marcelo in particular has been very influential in the development of an important part of this thesis, Chapter 6.
A Fully Abstract Model for the π-calculus
Information and Computation, 2002
This paper provides both a fully abstract (domaintheoretic) model for the π-calculus and a universal (set-theoretic) model for the finite π-calculus with respect to strong late bisimulation and congruence. This is done by: considering categorical models, defining a metalanguage for these models, and translating the π-calculus into the metalanguage. A technical novelty of our approach is an abstract proof of full abstraction: The result on full abstraction for the finite π-calculus in the set-theoretic model is axiomatically extended to the whole π-calculus with respect to the domain-theoretic interpretation. In this proof, a central role is played by the description of nondeterminism as a free construction and by the equational theory of the metalanguage.
A Fully-Abstract Model for the pi-Calculus (Extended Abstract)
This paper provides both a fully abstract (domaintheoretic) model for the π-calculus and a universal (set-theoretic) model for the finite π-calculus with respect to strong late bisimulation and congruence. This is done by: considering categorical models, defining a metalanguage for these models, and translating the π-calculus into the metalanguage. A technical novelty of our approach is an abstract proof of full abstraction: The result on full abstraction for the finite π-calculus in the set-theoretic model is axiomatically extended to the whole π-calculus with respect to the domain-theoretic interpretation. In this proof, a central role is played by the description of nondeterminism as a free construction and by the equational theory of the metalanguage.
Concurrent and Located Synchronizations in π-Calculus
Lecture Notes in Computer Science, 2007
We present two novel semantics for π-calculus. The first allows one to observe on which channel a synchronization is performed, while the second allows concurrent actions, provided that they do not compete for resources. We present both a reduction and a labeled semantics, and show that they induce the same behavioral equivalence. As our main result we show that bisimilarity is a congruence for the concurrent semantics. This important property fails for the standard semantics.
On bisimulations for the asynchronous π-calculus
Theoretical Computer Science, 1998
The asynchronous n-calculus is a variant of the n-calculus where message emission is nonblocking. Honda and Tokoro have studied a semantics for this calculus based on bisimulation. Their bisimulation relies on a modified transition system where, at any moment, a process can perform any input action. In this paper we propose a new notion of bisimulation for the asynchronous n-calculus, defined on top of the standard labelled transition system. We give several characterizations of this equivalence including one in terms of Honda and Tokoro's bisimulation, and one in terms of barbed equivalence. We show that this bisimulation is preserved by name substitutions, hence by input prefix. Finally, we give a complete axiomatization of the (strong) bisimulation for finite terms.
Final semantics for the π-calculus
Programming Concepts and Methods PROCOMET ’98, 1998
In this paper we discuss nal semantics for the-calculus, a process algebra which models systems that can dynamically change the topology of the channels. We show that the nal semantics paradigm, originated by Aczel and Rutten for CCS-like languages, can be successfully applied also here. This is achieved by suitably generalizing the standard techniques so as to accommodate the mechanism of name creation and the behaviour of the binding operators peculiar to the-calculus. As a preliminary step, we give a higher order presentation of the-calculus using as metalanguage LF, a logical framework based on typed-calculus. Such a presentation highlights the nature of the binding operators and elucidates the rôle of free and bound channels. The nal semantics is de ned making use of this higher order presentation, within a category of hypersets.
A π-calculus with explicit substitutions: The late semantics
Lecture Notes in Computer Science, 1994
A new formulation of the-calculus, where name instantiation is handled explicitly, is presented. The explicit handling of name instantiation allows us to reduce the-calculus transitional semantics to a standard SOS framework. Hence,-calculus bisimulation models can take fully advantage of the SOS metatheory developed for`static' process calculi. For instance, complete axiomatic characterizations of-calculus bisimulation equivalences can be automatically derived by turning SOS rules into equations. Moreover, this formulation of the-calculus is promising for the development of semantic-based automatic veri cation tools. Here we treat in full detail the Late bisimulation semantics. A nite branching labelled transition system and a complete axiomatic characterization of the Late bisimulation equivalence are obtained.
From a concurrent λ-calculus to the π-calculus
We explore the (dynamic) semantics of a simply typed λ-calculus enriched with parallel composition, dynamic channel generation, and input-output communication primitives. The calculus, called the λ∥-calculus, can be regarded as the kernel of concurrent-functional languages such as LCS, CML and Facile, and it can be taken as a basis for the definition of abstract machines, the transformation of programs, and the development of modal specification languages. The main technical contribution of this paper is the proof of adequacy of a compact translation of the λ ∥-calculus into the π-calculus.
Pi+-calculus: A calculus for concurrent processes with constraints
1998
The-calculus is a formal model of concurrent computation based on the notion of naming. It has an important role to play in the search for more abstract theories of concurrent and communicating systems. In this paper we augment the-calculus with a constraint store and add the notion of constraint agent to the standard-calculus concept of agent. We call this extension the +-calculus. We also extend the notion of barbed bisimulation to de ne behavioral equivalence for the +-calculus and use it to characterize some equivalent behaviors derived from constraint agents. The paper discusses examples of the extended calculus showing the transparent i n teraction of constraints and communicating processes.
Higher category models of the pi-calculus
2015
We present an approach to modeling computational calculi using higher category theory. Specifically we present a fully abstract semantics for the pi-calculus. The interpretation is consistent with Curry-Howard, interpreting terms as typed morphisms, while simultaneously providing an explicit interpretation of the rewrite rules of standard operational presentations as 2-morphisms. One of the key contributions, inspired by catalysis in chemical reactions, is a method of restricting the application of 2-morphisms interpreting rewrites to specific contexts.
From a Concurrent Lambda-Calculus to the Pi-Calculus
1995
We explore the (dynamic) semantics of a simply typedcalculus enriched with parallel composition, dynamic channel generation, and input-output communication primitives. The calculus, called the kcalculus, can be regarded as the kernel of concurrent-functional languages such as LCS, CML and Facile, and it can be taken as a basis for the definition of abstract machines, the transformation of programs, and the development of modal speci cation languages. The main technical contribution of this paper is the proof of adequacy of a compact translation of the k -calculus into the -calculus.
On the expressivity of infinite and local behaviour in fragments of the pi-calculus
The pi-calculus [Miln99] is one the most influential formalisms for modelling and analyzing the behaviour of concurrent systems. This calculus provides a language in which the structure of terms represents the structure of processes together with an operational semantics to represent computational steps. For example, the parallel composition term P | Q, which is built from the terms P and Q, represents the process that results from the parallel execution of the processes P and Q. Similarly, the restriction (\nu x)P represents a process P with local resource x. The replication !P can be thought of as abbreviating the parallel composition P | P | P .... of an unbounded number of P processes. As for other language-based formalisms (e.g., logic, formal grammars and the lambda-calculus) a fundamental part of the research in process calculi involves the study of the expressiveness of fragments or variants of a given process calculus. In this dissertation we shall study the expressiveness ...
A generic type system for the Pi-calculus
Theoretical Computer Science, 2004
We propose a general, powerful framework of type systems for the π-calculus, and show that we can obtain as its instances a variety of type systems guaranteeing non-trivial properties like deadlock-freedom and race-freedom. A key idea is to express types and type environments as abstract processes: We can check various properties of a process by checking the corresponding properties of its type environment. The framework clarifies the essence of recent complex type systems, and it also enables sharing of a large amount of work such as a proof of type preservation, making it easy to develop new type systems.
We study three notions of bisimulation equivalence for concurrent processes. Bisimulation equivalences are based on an operational interpretation of processes as labelled transition systems, and constitute the strongest notion of equivalence one may adopt for such systems: two systems are equivalent if and only if they have the same step-by-step behaviour. We focus first on Milner's notion of weak bisimulation (also known as observational equivalence) and propose an alternative formulation for it. More specifically, we show that Milner's notion may be redefined as one of reducibility to a same system-via a reduction function called abstraction homorriorphism. We use our characterisation to derive a complete set of reduction rules for observational equivalence on finite processes. We also show how abstraction homomorphisms may be extended to labelled event structures: however we do not consider the possibility of unobservable events here. We look then for notions of bisimulation which account for the concurrent aspects of processes. Traditional transition systems-evolving via successive elementary actions-only provide an interleaving semantics for concurrency. We suggest two generalisations of the notion of transition system: distributed transition systems, obtained by generalising the residual of a transition, and pornset transition systems, obtained by extending the notion of action labelling a transition (an action being now a partially ordered multiset). For the latter we find a corresponding notion of bisimulation on labelled event structures. Based on these new kinds of transitions, we obtain two bisimulation equivalences-one stronger than the other-which are both more discriminating than Milner's equivalence. For both of them we present an algebraic characterisation by means of a complete set of axioms.
The Inner and Outer Algebras of Unified Concurrency
Lecture Notes in Computer Science, 2019
Algebras have always played a critical role in Unifying Theories of Programming, especially in their role in providing the "laws" of programming. The algebraic laws form a triad with two other forms, namely operational and denotational semantics. In this paper we demonstrate that algebras are not just for providing external laws for reasoning about programs. In addition, they can be very beneficial for assisting in the development of theoretical models, most notably denotational semantics. We refer to the algebras used to develop a denotational model as "inner algebras", while the resulting algebraic semantics we consider to be an "outer algebra". In this paper we present a number of inner algebras that arose in the development of a fully compositional denotational semantics, called UTCP, for shared-state concurrency. We explore how these algebras helped to develop (and debug!) the theory, and discuss how they may assist in the ultimate aim of exposing the outer algebra of UTCP, which we expect to be very similar to Concurrent Kleene Algebra.
Fully-abstract concurrent games for pi
We define a semantics for Milner's pi-calculus, with three main novelties. First, it provides a fully-abstract model for fair testing equivalence, whereas previous semantics covered variants of bisimilarity and the may and must testing equivalences. Second, it is based on reduction semantics, whereas previous semantics were based on labelled transition systems. Finally, it has a strong game semantical flavor in the sense of Hyland-Ong and Nickau. Indeed, our model may both be viewed as an innocent presheaf semantics and as a concurrent game semantics.
Relationally Staged Computations in Calculi of Mobile Processes
Electronic Notes in Theoretical Computer Science, 2004
We apply the recently developed techniques of higher order abstract syntax and functorial operational semantics to give a compositional and fully abstract semantics for the π-calculus equipped with open bisimulation. The key novelty in our work is the realisation that the sophistication of open bisimulation requires us to move from the usual semantic domain of presheaves over subcategories of Set to presheaves over subcategories of Rel. This extra structure is crucial in controlling the renaming of extruded names and in providing a variety of different dynamic allocation operators to model the different binders of the π-calculus.
The-calculus: Notes on labelled semantics
1998
The π-calculus [MPW92] is a name-passing calculus that allows the description of distributed systems with a dynamically changing interconnection topology. Name communication, together with the possibility of declaring and exporting local names, gives the calculus a great expressive power. For instance, it was shown that process-passing calculi, which express mobility at higher order, can be encoded naturally in π-calculus [San93a]. Since its inception, the π-calculus has proliferated into a family of calculi differing slightly from one another either in the communication paradigm (polyadic vs monadic, asynchronous vs synchronous) or in the bisimulation semantics (labelled vs unlabelled, late vs early vs open vs barbed vs ...). These short notes present a collection of the labelled strong semantics 3 of the (synchronous monadic) π-calculus. The notes could not possibly replace any of the standard references listed in the Bibliography. They are an attempt to group together, using a uniform notation and the terminology that got assessed over the last years, a few definitions and concepts otherwise scattered throughout the π-calculus literature. I would like to thank James J. Leifer for his careful reading of the manuscript, and the helpful suggestions he provided. 3 The definition of weak late semantics requires some ingenuity. But for this case, the weak corresponding of each of the semantics we present can be easily defined by mimicking the standard CCS-like pattern.
Modeling Fresh Names in the π-calculus Using Abstractions
Electronic Notes in Theoretical Computer Science, 2004
In this paper, we model fresh names in the π-calculus using abstractions with respect to a new binding operator θ. Both the theory and the metatheory of the π-calculus benefit from this simple extension. The operational semantics of this new calculus is finitely branching. Bisimulation can be given without mentioning any constraint on names, thus allowing for a straightforward definition of a coalgebraic semantics, within a category of coalgebras over permutation algebras. Following previous work by Montanari and Pistore, we present also a finite representation for finitary processes and a finite state verification procedure for bisimilarity, based on the new notion of θ-automaton.
A lexically scoped distributed pi-calculus
2002
We define the syntax, the operational semantics, and a type system for lsd π, an asynchronous and distributed π-calculus with local communication and process migration. The calculus follows a simple model of distribution for mobile calculi, with a lexical scoping mechanism that provides both for remote communication and for process migration, making explicit migration primitives superfluous.