Final semantics for the π-calculus (original) (raw)
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.
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.
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.
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.
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.
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.
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.
New-HOPLA a higher-order process language with name generation
IFIP International Federation for Information Processing, 2004
This paper introduces new-HOPLA, a concise but powerful language for higherorder nondeterministic processes with name generation. Its origins as a metalanguage for domain theory are sketched but for the most part the paper concentrates on its operational semantics. The language is typed, the type of a process describing the shape of the computation paths it can perform. Its transition semantics, bisimulation, congruence properties and expressive power are explored. Encodings are given of well-known process algebras, including π-calculus, Higher-Order π-calculus and Mobile Ambients.
A π-calculus with explicit substitutions
Theoretical Computer Science, 1996
A new formulation of the rr-calculus, where name instantiation is handled explicitly via the introduction of a suitable combinator, is presented. The bisimulation semantics originally developed for the n-calculus are retrieved by giving the description of the corresponding strategies for name instantiation. The explicit handling of name instantiation allows us to reduce the rr-calculus transitional semantics to a standard SOS framework. Hence, T-calculus bisimulation models can take fully advantage of the SOS meta-theory developed for 'static' process calculi. For instance, complete axiomatic characterizations of n-calculus bisimulation equivalences can be automatically derived by turning SOS rules into equations. This formulation of the n-calculus is very promising for the development of semantic-based automatic verification tools.
A pi-calculus with dynamic typing
Traditional static typing systems for the pi-calculus are built around capability types that control the read/write access rights on channels and describe the type of their payload. While static typing has proved adequate for reasoning on process behavior in typed contexts, dynamic techniques have often been advocated as more effective for access control in distributed/untyped contexts. Here we develop a new typing discipline for the asynchronous pi-calculus, which we call API@. It combines static and dynamic typing: a static type system associates channels with flat types that only express read/write capabilities and disregard the payload type; a dynamically typed synchronization complements the static type system to guarantee type soundness. We define a typed equational theory, and we give a co-inductive proof technique useful to prove equivalences among processes. We study the relationships between our dynamic approach and the static one of the asynchronous pi calculuS, referred as API, which comes with an entirely standard static typing system. On the one hand, we show that API can be encoded in API@ in a sound manner. On the other hand, we show that API@ can be encoded into API in a fully abstract manner, preserving the respective behavioral equivalences of the two calculi. Besides yielding an interesting expressivity result, the encoding also sheds light on the effectiveness of dynamic typing as a mechanism for access control. Here we take P ∼ = @ Q to mean that P and Q are behaviorally indistinguishable, i.e. they have the same observable behavior when executed in any arbitrary context. The equation (1) is easily disproved by exhibiting a context that interferes with the intended protocol between S and C. A first example is the context C 1 [−] = − | d(x).!x(y).0, that initially behaves as the client, to receive s, but then it steals the jobs intended Work partially supported by M.I.U.R (Italian Ministry of Education, University and Research) under contract n. 2005015785.