Results 1  10
of
49
On Asynchrony in NamePassing Calculi
 In
, 1998
"... The asynchronous picalculus is considered the basis of experimental programming languages (or proposal of programming languages) like Pict, Join, and Blue calculus. However, at a closer inspection, these languages are based on an even simpler calculus, called Local (L), where: (a) only the output c ..."
Abstract

Cited by 87 (14 self)
 Add to MetaCart
The asynchronous picalculus is considered the basis of experimental programming languages (or proposal of programming languages) like Pict, Join, and Blue calculus. However, at a closer inspection, these languages are based on an even simpler calculus, called Local (L), where: (a) only the output capability of names may be transmitted; (b) there is no matching or similar constructs for testing equality between names. We study the basic operational and algebraic theory of Lpi. We focus on bisimulationbased behavioural equivalences, precisely on barbed congruence. We prove two coinductive characterisations of barbed congruence in Lpi, and some basic algebraic laws. We then show applications of this theory, including: the derivability of delayed input; the correctness of an optimisation of the encoding of callbyname lambdacalculus; the validity of some laws for Join.
Secure Implementation of Channel Abstractions
, 2000
"... Communication in distributed systems often relies on useful abstractions such as channels, remote procedure calls, and remote method invocations. The ..."
Abstract

Cited by 79 (29 self)
 Add to MetaCart
Communication in distributed systems often relies on useful abstractions such as channels, remote procedure calls, and remote method invocations. The
The Join Calculus: A Language for Distributed Mobile Programming
 In Proceedings of the Applied Semantics Summer School (APPSEM), Caminha
, 2000
"... In these notes, we give an overview of the join calculus, its semantics, and its equational theory. The join calculus is a language that models distributed and mobile programming. It is characterized by an explicit notion of locality, a strict adherence to local synchronization, and a direct emb ..."
Abstract

Cited by 57 (2 self)
 Add to MetaCart
In these notes, we give an overview of the join calculus, its semantics, and its equational theory. The join calculus is a language that models distributed and mobile programming. It is characterized by an explicit notion of locality, a strict adherence to local synchronization, and a direct embedding of the ML programming language. The join calculus is used as the basis for several distributed languages and implementations, such as JoCaml and functional nets.
The Mcalculus: A HigherOrder Distributed Process Calculus
, 2003
"... This paper presents a new distributed process calculus, called the Mcalculus, that can be understood as a higherorder version of the Distributed Join calculus with programmable localities. The calculus retains the implementable character of the Distributed Join calculus while overcoming several im ..."
Abstract

Cited by 52 (5 self)
 Add to MetaCart
This paper presents a new distributed process calculus, called the Mcalculus, that can be understood as a higherorder version of the Distributed Join calculus with programmable localities. The calculus retains the implementable character of the Distributed Join calculus while overcoming several important limitations: insufficient control over communication and mobility, absence of dynamic binding, and limited locality semantics. The calculus is equipped with a polymorphic type system that guarantees the unicity of locality names, even in presence of higherorder communications a crucial propertyfor the determinacy of message routing in the calculus.
Authentication Primitives and Their Compilation
, 2000
"... Adopting a programminglanguage perspective, we study the problem of implementing authentication in a distributed system. We define a process calculus with constructs for authentication and show how this calculus can be translated to a lowerlevel language using marshaling, multiplexing, and cryptog ..."
Abstract

Cited by 40 (13 self)
 Add to MetaCart
Adopting a programminglanguage perspective, we study the problem of implementing authentication in a distributed system. We define a process calculus with constructs for authentication and show how this calculus can be translated to a lowerlevel language using marshaling, multiplexing, and cryptographic protocols. Authentication serves for identitybased security in the source language and enables simplifications in the translation. We reason about correctness relying on the concepts of observational equivalence and full abstraction.
The TwoPhase Commitment Protocol in an Extended πCalculus
 ELECTRONIC NOTES IN THEORETICAL COMPUTER SCIENCE 39 NO. 1
, 2000
"... We examine extensions to the calculus for representing basic elements of distributed systems. In spite of its expressiveness for encoding various programming constructs, some of the phenomena inherent in distributed systems are hard to model in the calculus. We consider message loss, sites, timers ..."
Abstract

Cited by 31 (0 self)
 Add to MetaCart
We examine extensions to the calculus for representing basic elements of distributed systems. In spite of its expressiveness for encoding various programming constructs, some of the phenomena inherent in distributed systems are hard to model in the calculus. We consider message loss, sites, timers, site failure and persistence as extensions to the calculus and examine their descriptive power, taking the Two Phase Commit Protocol (2PCP), a basic instance of an atomic commitment protocol, as a testbed. Our extensions enable us to represent the 2PCP under various failure assumptions, as well as to reason about the essential properties of the protocol.
History Dependent Automata
, 2001
"... In this paper we present historydependent automata (HDautomata in brief). They are an extension of ordinary automata that overcomes their limitations in dealing with historydependent formalisms. In a historydependent formalism the actions that a system can perform carry information generated i ..."
Abstract

Cited by 28 (8 self)
 Add to MetaCart
In this paper we present historydependent automata (HDautomata in brief). They are an extension of ordinary automata that overcomes their limitations in dealing with historydependent formalisms. In a historydependent formalism the actions that a system can perform carry information generated in the past history of the system. The most interesting example is calculus: channel names can be created by some actions and they can then be referenced by successive actions. Other examples are CCS with localities and the historypreserving semantics of Petri nets. Ordinary
Trace and Testing Equivalence on Asynchronous Processes
 Information and Computation
, 1999
"... We study trace and maytesting equivalences in the asynchronous versions of CCS and calculus. We start from the operational definition of the maytesting preorder and provide for it finitary and fully abstract tracebased characterizations, along with a complete inequational proof system. We also ..."
Abstract

Cited by 28 (2 self)
 Add to MetaCart
We study trace and maytesting equivalences in the asynchronous versions of CCS and calculus. We start from the operational definition of the maytesting preorder and provide for it finitary and fully abstract tracebased characterizations, along with a complete inequational proof system. We also touch upon two variants of this theory, by first considering a more demanding equivalence notion (musttesting) and then a richer version of asynchronous CCS. The results throw light on the difference between synchronous and asynchronous communication and on the weaker testing power of asynchronous observations. Keywords: Asynchronous Communications, Process Algebras, Semantics. This paper is an extended and revised version of [8] and [9]. 1 Contents 1 Introduction 3 2 Asynchronous CCS 5 2.1 Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 2.2 Operational semantics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 2.3 Maytesting semant...
HighLevel Petri Nets as Type Theories in the Join Calculus
 In Proceedings FOSSACS 2001, volume 2030 of LNCS
, 2001
"... Abstract. We study the expressiveness of the join calculus by comparison with (generalised, coloured) Petri nets and using tools from type theory. More precisely, we consider four classes of nets of increasing expressiveness, Πi, introduce a hierarchy of type systems of decreasing strictness, ∆i, i ..."
Abstract

Cited by 20 (0 self)
 Add to MetaCart
Abstract. We study the expressiveness of the join calculus by comparison with (generalised, coloured) Petri nets and using tools from type theory. More precisely, we consider four classes of nets of increasing expressiveness, Πi, introduce a hierarchy of type systems of decreasing strictness, ∆i, i =0,...,3, and we prove that a join process is typeable according to ∆i if and only if it is (strictly equivalent to) a net of class Πi. In the details, Π0 and Π1 contain, resp., usual place/transition and coloured Petri nets, while Π2 and Π3 propose two natural notions of highlevel net accounting for dynamic reconfiguration and process creation and called reconfigurable and dynamic Petri nets, respectively. 1
A Distributed Calculus for RoleBased Access Control
, 2004
"... Rolebased access control (RBAC) is attracting increasing attention because it reduces the complexity and cost of security administration by interposing the notion of role in the assignment of permissions to users. In this paper, we present a formal framework relying on an extension of the πcalc ..."
Abstract

Cited by 13 (1 self)
 Add to MetaCart
Rolebased access control (RBAC) is attracting increasing attention because it reduces the complexity and cost of security administration by interposing the notion of role in the assignment of permissions to users. In this paper, we present a formal framework relying on an extension of the πcalculus to study the behaviour of concurrent systems in a RBAC scenario. We define a type system ensuring that the specified policy is respected during computations, and a bisimulation to equate systems. The theory is then applied to three meaningful examples, namely finding the `minimal' policy to run a given system, refining a system to be run under a given policy (whenever possible), and minimizing the number of users in a given system without changing the overall behaviour.