Results 1  10
of
33
A Uniform Type Structure for Secure Information Flow
, 2002
"... The \picalculus is a formalism of computing in which we can compositionally represent dynamics of major programming constructs by decomposing them into a single communication primitive, the name passing. This work reports our experience in using a linear/affine typed \picalculus for the analysis a ..."
Abstract

Cited by 88 (12 self)
 Add to MetaCart
The \picalculus is a formalism of computing in which we can compositionally represent dynamics of major programming constructs by decomposing them into a single communication primitive, the name passing. This work reports our experience in using a linear/affine typed \picalculus for the analysis and development of type systems of programming languages, focussing on secure information flow analysis. After presenting a basic typed calculus for secrecy, we demonstrate its usage by a sound embedding of the dependency core calculus (DCC) and by the development of a novel type discipline for imperative programs which extends both a secure multithreaded imperative language by Smith and Volpano and (a callbyvalue version of) DCC. In each case, the embedding gives a simple proof of noninterference.
On Progress for Structured Communications
 3th Symposium Trustworthy Global Computing, TGC 2007
, 2008
"... Abstract. We propose a new typing system for the πcalculus with sessions, which ensures the progress property, i.e. once a session has been initiated, typable processes will never starve at session channels. In the current literature progress for session types has been guaranteed only in the case o ..."
Abstract

Cited by 37 (13 self)
 Add to MetaCart
(Show Context)
Abstract. We propose a new typing system for the πcalculus with sessions, which ensures the progress property, i.e. once a session has been initiated, typable processes will never starve at session channels. In the current literature progress for session types has been guaranteed only in the case of nested sessions, disallowing more than two session channels interfered in a single thread. This was a severe restriction since many structured communications need combinations of sessions. We overcome this restriction by inferring the order of channel usage, but avoiding any tagging of channels and names, neither explicit nor inferred. The simplicity of the typing system essentially relies on the session typing discipline, where sequencing and branching of communications are already structured by types. The resulting typing enjoys a stronger progress property than that one in the literature: it assures that for each welltyped process P which contains an open session there is an irreducible process Q such that the parallel composition PQ is welltyped too and it always reduces, also in presence of interfered sessions. 1
A theoretical basis of communicationcentred concurrent programming
, 2006
"... This document presents two different paradigms of description of communication behaviour, one focussing on global message flows and another on endpoint behaviours, as formal calculi based on session types. The global calculus originates from Choreography Description Language, a web service descript ..."
Abstract

Cited by 35 (11 self)
 Add to MetaCart
This document presents two different paradigms of description of communication behaviour, one focussing on global message flows and another on endpoint behaviours, as formal calculi based on session types. The global calculus originates from Choreography Description Language, a web service description language developed by W3C WSCDL working group. The endpoint calculus is a typed πcalculus. The global calculus describes an interaction scenario from a vantage viewpoint; the endpoint calculus precisely identifies a local behaviour of each participant. After introducing the static and dynamic semantics of these two calculi, we explore a theory of endpoint projection which defines three principles for wellstructured global description. The theory then defines a translation under the three principles which is sound and complete in the sense that all and only behaviours specified in the global description are realised as communications among endpoint processes. Throughout the theory, underlying type structures play a fundamental role. The document is divided in two parts: part I introduces the two descriptive frameworks using simple but nontrivial examples; the second part establishes a theory of the global and endpoint formalisms.
Towards Abstractions for Distributed Systems
, 2004
"... For historical, sociological and technical reasons, calculi have been the dominant theoretical paradigm in the study of functional computation. Similarly, but to a lesser degree, calculi dominate advanced mathematical accounts of concurrency. Alas, and despite its ever increasing ubiquity, an equa ..."
Abstract

Cited by 21 (5 self)
 Add to MetaCart
(Show Context)
For historical, sociological and technical reasons, calculi have been the dominant theoretical paradigm in the study of functional computation. Similarly, but to a lesser degree, calculi dominate advanced mathematical accounts of concurrency. Alas, and despite its ever increasing ubiquity, an equally convincing formal foundation for distributed computing has not been forthcoming. This thesis seeks to contribute towards ameliorating that omission. To this end, guided by the assumption that distributed computing is concurrent computing with partial failures of various kinds, we extend the asynchronous calculus with a notion of sites, the possibility of site failure, a persistence mechanism to deal with site failures, the distinction between intersite and intrasite communication, the possibility of message loss in intersite communication and a timer construct, as is often used in distributed algorithms to deal with various failure scenarios.
Formalising java rmi with explicit code mobility
 In OOPSLA ’05: Proceedings of the 20th annual ACM SIGPLAN conference on Object oriented programming, systems, languages, and applications
, 2005
"... This paper presents a Javalike core language with primitives for objectoriented distribution and explicit code mobility. We apply our formulation to prove the correctness of several optimisations for distributed programs. Our language captures crucial but often hidden aspects of distributed object ..."
Abstract

Cited by 21 (7 self)
 Add to MetaCart
(Show Context)
This paper presents a Javalike core language with primitives for objectoriented distribution and explicit code mobility. We apply our formulation to prove the correctness of several optimisations for distributed programs. Our language captures crucial but often hidden aspects of distributed objectoriented programming, including object serialisation, dynamic class downloading and remote method invocation. It is defined in terms of an operational semantics that concisely models the behaviour of distributed programs using machinery from calculi of mobile processes. Type safety is established using invariant properties for distributed runtime configurations. We argue that primitives for explicit code mobility offer a programmer finegrained control of typesafe code distribution, which is crucial for improving the performance and safety of distributed objectoriented applications.
Basic Theory of Reduction Congruence for Two Timed Asynchronous πCalculi
 IN PROC. CONCUR’04
, 2004
"... We study reduction congruence, a popular notion of process equality, for the asynchronous πcalculus with timers, and derive several alternative characterisations, one of them being a labelled asynchronous bisimilarity. These results are adapted to an asynchronous πcalculus with timers, locatio ..."
Abstract

Cited by 19 (2 self)
 Add to MetaCart
(Show Context)
We study reduction congruence, a popular notion of process equality, for the asynchronous πcalculus with timers, and derive several alternative characterisations, one of them being a labelled asynchronous bisimilarity. These results are adapted to an asynchronous πcalculus with timers, locations and message failure. In addition we investigate the problem of how to distribute valuepassing processes in a semanticspreserving way.
2010): An exact correspondence between a typed picalculus and polarised proofnets
 Theor. Comput. Sci
"... polarised proofnets ..."
(Show Context)
Bigraphical Semantics of HigherOrder Mobile Embedded Resources with Local Names
 Proceedings of the Graph Transformation for Verification and Concurrency workshop (GTVC'05)
, 2006
"... Bigraphs have been introduced with the aim to provide a topographical metamodel for mobile, distributed agents that can manipulate their own linkages and nested locations, generalising both characteristics of the πcalculus and the Mobile Ambients calculus. We give the first bigraphical presentatio ..."
Abstract

Cited by 18 (10 self)
 Add to MetaCart
Bigraphs have been introduced with the aim to provide a topographical metamodel for mobile, distributed agents that can manipulate their own linkages and nested locations, generalising both characteristics of the πcalculus and the Mobile Ambients calculus. We give the first bigraphical presentation of a nonlinear, higherorder process calculus with nested locations, nonlinear active process mobility, and local names, the calculus of HigherOrder Mobile Embedded Resources (Homer). The presentation is based on Milner’s recent presentation of the λcalculus in local bigraphs. The combination of nonlinear active process mobility and local names requires a new definition of parametric reaction rules and a representation of the location of names. We suggest localised bigraphs as a generalisation of local bigraphs in which links can be further localised. Key words: bigraphs, local names, nonlinear process mobility
Completeness and Logical Full Abstraction in Modal Logics for Typed Mobile Processes
"... Abstract. We study an extension of HennessyMilner logic for the πcalculus which gives a sound and complete characterisation of representative behavioural preorders and equivalences over typed processes. New connectives are introduced representing actual and hypothetical typed parallel composition ..."
Abstract

Cited by 15 (7 self)
 Add to MetaCart
(Show Context)
Abstract. We study an extension of HennessyMilner logic for the πcalculus which gives a sound and complete characterisation of representative behavioural preorders and equivalences over typed processes. New connectives are introduced representing actual and hypothetical typed parallel composition and hiding. We study three compositional proof systems, characterising the May/Must testing preorders and bisimilarity. The proof systems are uniformly applicable to different type disciplines. Logical axioms distill proof rules for parallel composition studied by Amadio and Dam. We demonstrate the expressiveness of our logic embeddings of program logics for higherorder functions. 1
M.: Responsiveness in process calculi
, 2008
"... A system guarantees responsive usage of a channel r if a communication along r is guaranteed to eventually take place. Responsiveness is important, for instance, to ensure that any request to a service be eventually replied. We propose two distinct type systems, each of which statically guarantees r ..."
Abstract

Cited by 9 (1 self)
 Add to MetaCart
(Show Context)
A system guarantees responsive usage of a channel r if a communication along r is guaranteed to eventually take place. Responsiveness is important, for instance, to ensure that any request to a service be eventually replied. We propose two distinct type systems, each of which statically guarantees responsive usage of names in welltyped picalculus processes. In the first system, we achieve responsiveness by combining techniques for deadlock and livelock avoidance with linearity and receptiveness. The latter is a guarantee that a name is ready to receive as soon as it is created. These conditions imply relevant limitations on the nesting of actions and on multiple use of names in processes. In the second system, we relax these requirements so as to permit certain forms of nested inputs and multiple outputs. We demonstrate the expressive power of the two systems by showing that primitive recursive functions – in the case of the first system – and Cook and Misra’s service orchestration language ORC – in the case of the second system – can be encoded into welltyped processes.