Results 1 
9 of
9
A Generic Type System for the PiCalculus
 Theoretical Computer Science
, 2003
"... 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 nontrivial properties like deadlockfreedom and racefreedom. A key idea is to express types and type environments as abstract processe ..."
Abstract

Cited by 90 (8 self)
 Add to MetaCart
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 nontrivial properties like deadlockfreedom and racefreedom. 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.
Operational congruences for reactive systems
, 2001
"... This document consists of a slightly revised and corrected version of a dissertation ..."
Abstract

Cited by 34 (4 self)
 Add to MetaCart
This document consists of a slightly revised and corrected version of a dissertation
A General Framework for Types in Graph Rewriting
, 2000
"... . A general framework for typing graph rewriting systems is presented: the idea is to statically derive a type graph from a given graph. In contrast to the original graph, the type graph is invariant under reduction, but still contains meaningful behaviour information. We present conditions, a t ..."
Abstract

Cited by 10 (3 self)
 Add to MetaCart
. A general framework for typing graph rewriting systems is presented: the idea is to statically derive a type graph from a given graph. In contrast to the original graph, the type graph is invariant under reduction, but still contains meaningful behaviour information. We present conditions, a type system for graph rewriting should satisfy, and a methodology for proving these conditions. In two case studies it is shown how to incorporate existing type systems (for the polyadic  calculus and for a concurrent objectoriented calculus) into the general framework. 1 Introduction In the past, many formalisms for the specication of concurrent and distributed systems have emerged. Some of them are aimed at providing an encompassing theory: a very general framework in which to describe and reason about interconnected processes. Examples are action calculi [18], rewriting logic [16] and graph rewriting [3] (for a comparison see [4]). They all contain a method of building terms (or ...
Synthesising Labelled Transitions and Operational Congruences in Reactive Systems, Part 1
 IN INT
, 2002
"... The dynamics of process calculi, e.g. CCS, have often been defined using a labelled transition system (LTS). More recently it has become common when defining dynamics to use reaction rules i.e. unlabelled transition rules together with a structural congruence. This form, which I call a reactiv ..."
Abstract

Cited by 6 (1 self)
 Add to MetaCart
The dynamics of process calculi, e.g. CCS, have often been defined using a labelled transition system (LTS). More recently it has become common when defining dynamics to use reaction rules i.e. unlabelled transition rules together with a structural congruence. This form, which I call a reactive system, is highly expressive but is limited in an important way: LTSs lead more naturally to operational equivalences and preorders. This paper shows how to synthesise an LTS for a wide range of reactive systems. A label for an agent (process) `a' is defined to be any context `F' which intuitively is just large enough so that the agent `Fa' (`a' in context `F') is able to perform a reaction step. The key contribution of my work is the precise definition of "just large enough" in terms of the categorical notion of relative pushout (RPO). I then prove that several operational equivalences and preorders (strong bisimulation, weak bisimulation, the traces preorder, and the failures preorder) are congruences when sufficient RPOs exist.
Analysing Input/OutputCapabilities of Mobile Processes with a Generic Type System
 IN PROCEEDINGS OF THE 27TH INTERNATIONAL COLLOQUIUM ON AUTOMATA, LANGUAGES AND PROGRAMMING
, 2000
"... We introduce a generic type system for the synchronous polyadic calculus, allowing us to mechanize the analysis of input/output capabilities of mobile processes. The parameter of the generic type system is a latticeordered monoid, the elements of which are used to describe the capabilities of chan ..."
Abstract

Cited by 6 (0 self)
 Add to MetaCart
We introduce a generic type system for the synchronous polyadic calculus, allowing us to mechanize the analysis of input/output capabilities of mobile processes. The parameter of the generic type system is a latticeordered monoid, the elements of which are used to describe the capabilities of channels with respect to their input/output cabilities. The type system can be instantiated in order to check process properties such as upper and lower bounds on the number of active channels, confluence and absence of blocked processes.
A Graph Rewriting Semantics for the Polyadic πCalculus (Extended Version)
, 2000
"... We give a hypergraph rewriting semantics for the polyadic πcalculus, based on rewriting rules equivalent to those in the doublepushout approach. The structural congruence of the πcalculus is replaced by hypergraph isomorphism. The correctness of the encoding from the graphbased notation into πc ..."
Abstract

Cited by 5 (2 self)
 Add to MetaCart
We give a hypergraph rewriting semantics for the polyadic πcalculus, based on rewriting rules equivalent to those in the doublepushout approach. The structural congruence of the πcalculus is replaced by hypergraph isomorphism. The correctness of the encoding from the graphbased notation into πcalculus can be shown by using an intermediate notation, socalled namebased graph terms, which form a bridge from graphs with explicit connections (by fusing nodes) to process calculi with implicit connections (by common channel names).
Hypergraph Construction and Its Application to the Compositional Modelling of Concurrency
 IN GRATRA 2000: JOINT APPLIGRAPH/GETGRATS WORKSHOP ON GRAPH TRANSFORMATION SYSTEMS
, 2000
"... We define a construction operation on hypergraphs using a colimit and show that its expressiveness concerning graph rewriting is equal to the graph expressions of Courcelle and the doublepushout approach of Ehrig. With an inductive way of representing graphs, graph rewriting arises naturally as a ..."
Abstract

Cited by 3 (2 self)
 Add to MetaCart
We define a construction operation on hypergraphs using a colimit and show that its expressiveness concerning graph rewriting is equal to the graph expressions of Courcelle and the doublepushout approach of Ehrig. With an inductive way of representing graphs, graph rewriting arises naturally as a derived concept. The usefulness of our approach for the compositional modelling of concurrent systems is then shown by defining the semantics of a process calculus with mobility and of petri nets.
HeriotWatt University
, 2009
"... META ✶ is a generic process calculus that can be instantiated by supplying rewriting rules defining an operational semantics to make numerous process calculi such as the πcalculus, the system of Mobile Ambients, and many of their variants. POLY ✶ is a generic type system that makes a sound type sys ..."
Abstract
 Add to MetaCart
META ✶ is a generic process calculus that can be instantiated by supplying rewriting rules defining an operational semantics to make numerous process calculi such as the πcalculus, the system of Mobile Ambients, and many of their variants. POLY ✶ is a generic type system that makes a sound type system with principal types and a type inference algorithm for any instantiation of META✶. POLY ✶ provides a generic notion of shape types which describe behavior of processes by a direct description of allowed syntactic configurations. This paper evaluates the expressiveness of generic process shape types by comparing POLY ✶ with three quite dissimilar type/static analysis systems in the literature. The first comparison is with Turner’s type system for the πcalculus without type annotations (which is essentially Milner’s system of sorts). The second comparison is with an explicitly typed version of Mobile Ambients by Cardelli and Gordon. Finally, the third comparison is with a
The Expressiveness of Polyç, a Generic Process Calculus Type System
, 2009
"... Metaç is a generic process calculus that can be instantiated by supplying rewriting rules defining an operational semantics to make numerous process calculi such as the πcalculus, the system of Mobile Ambients, and many of their variants. Polyç is a generic type system that makes a sound type syste ..."
Abstract
 Add to MetaCart
Metaç is a generic process calculus that can be instantiated by supplying rewriting rules defining an operational semantics to make numerous process calculi such as the πcalculus, the system of Mobile Ambients, and many of their variants. Polyç is a generic type system that makes a sound type system with principal types and a type inference algorithm for any instantiation of Metaç. This paper evaluates the expressiveness of Polyç by comparing it with two quite dissimilar static analysis systems in the literature. One comparison is with a typed version of Mobile Ambients defined by Cardelli and Gordon; we name this system TMA. The other comparison is with a flow analysis for BioAmbients by Nielson, Nielson, Priami, and Rosa; we name this flow analysis SABA. We instantiate Meta ✶ and Poly ✶ to the two process calculi (TMA and BioAmbients) and compare the types provided by Poly ✶ with the predicates provided by the previous static analysis systems (the typing judgments of TMA and the flow analysis results of SABA). We show that Poly ✶ types can express essentially the same information as the previous static analysis systems and can also express more precise information. To do the comparisons, we needed to alter how Metaç handles αconversion in order to develop a new method for handling name restriction in Polyç.