Results 11  20
of
184
An Interactionbased Language and its Typing System
 In PARLE’94, volume 817 of LNCS
, 1994
"... We present a small language L and its typing system based on the idea of interaction, one of the important notions in parallel and distributed computing. L is based on, apart from such constructs as parallel composition and process creation, three pairs of communication primitives which use the noti ..."
Abstract

Cited by 109 (17 self)
 Add to MetaCart
We present a small language L and its typing system based on the idea of interaction, one of the important notions in parallel and distributed computing. L is based on, apart from such constructs as parallel composition and process creation, three pairs of communication primitives which use the notion of a session, a semantically atomic chain of communication actions which can interleave with other such chains freely, for highlevel abstraction of interactionbased computing. Three primitives enable programmers to elegantly describe complex interactions among processes with a rigorous type discipline similar to ML [4]. The language is given formal operational semantics and a type inference system, regarding which we prove that if a program is welltyped in the typing system, it never causes runtime error due to type inconsistent communication patterns, offering a new foundation for type discipline in parallel programming languages. 1 Introduction The idea of interaction, that is, rec...
EServices: A Look behind the Curtain
, 2003
"... The emerging paradigm of electronic services promises to bring to distributed computation and services the flexibility that the web has brought to the sharing of documents. An understanding of fundamental properties of eservice composition is required in order to take full advantage of the paradigm ..."
Abstract

Cited by 103 (5 self)
 Add to MetaCart
The emerging paradigm of electronic services promises to bring to distributed computation and services the flexibility that the web has brought to the sharing of documents. An understanding of fundamental properties of eservice composition is required in order to take full advantage of the paradigm. This paper examines proposals and standards for eservices from the perspectives of XML, data management, workflow, and process models. Key areas for study are identified, including behavioral service signatures, verification and synthesis techniques for composite services, analysis of service data manipulation commands, and XML analysis applied to service specifications. We give a sample of the relevant results and techniques in each of these areas.
The reflexive CHAM and the joincalculus
 IN PROCEEDINGS OF THE 23RD ACM SYMPOSIUM ON PRINCIPLES OF PROGRAMMING LANGUAGES
"... By adding reflexion to the chemical machine of Berry and Boudol, we obtain a formal model of concurrency that is consistent with mobility and distribution. Our model provides the foundations of a programming language with functional and objectoriented features. It can also be seen as a process calc ..."
Abstract

Cited by 100 (0 self)
 Add to MetaCart
By adding reflexion to the chemical machine of Berry and Boudol, we obtain a formal model of concurrency that is consistent with mobility and distribution. Our model provides the foundations of a programming language with functional and objectoriented features. It can also be seen as a process calculus, the joincalculus, which we prove equivalent to the picalculus of Milner, Parrow and Walker.
The Polymorphic Picalculus: Theory and Implementation
, 1995
"... We investigate whether the πcalculus is able to serve as a good foundation for the design and implementation of a stronglytyped concurrent programming language. The first half of the dissertation examines whether the πcalculus supports a simple type system which is flexible enough to provide a su ..."
Abstract

Cited by 95 (0 self)
 Add to MetaCart
We investigate whether the πcalculus is able to serve as a good foundation for the design and implementation of a stronglytyped concurrent programming language. The first half of the dissertation examines whether the πcalculus supports a simple type system which is flexible enough to provide a suitable foundation for the type system of a concurrent programming language. The second half of the dissertation considers how to implement the πcalculus efficiently, starting with an abstract machine for πcalculus and finally presenting a compilation of πcalculus to C. We start the dissertation by presenting a simple, structural type system for πcalculus, and then, after proving the soundness of our type system, show how to infer principal types for πterms. This simple type system can be extended to include useful typetheoretic constructions such as recursive types and higherorder polymorphism. Higherorder polymorphism is important, since it gives us the ability to implement abstract datatypes in a typesafe manner, thereby providing a greater degree of modularity for πcalculus programs. The functional computational paradigm plays an important part in many programming languages. It is wellknown that the πcalculus can encode functional computation. We go further and show that the type structure of λterms is preserved by such encodings, in the sense that we can relate the type of a λterm to the type of its encoding in the πcalculus. This means that a πcalculus programming language can genuinely support typed functional programming as a special case. An efficient implementation of πcalculus is necessary if we wish to consider πcalculus as an operational foundation for concurrent programming. We first give a simple abstract machine for πcalculus and prove it correct. We then show how this abstract machine inspires a simple, but efficient, compilation of πcalculus to C (which now forms the basis of the Pict programming language implementation).
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 91 (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.
Types for Dyadic Interaction
, 1993
"... We formulate a typed formalism for concurrency where types denote freely composable structure of dyadic interaction in the symmetric scheme. The resulting calculus is a typed reconstruction of name passing process calculi. Systems with both the explicit and implicit typing disciplines, where types f ..."
Abstract

Cited by 83 (10 self)
 Add to MetaCart
We formulate a typed formalism for concurrency where types denote freely composable structure of dyadic interaction in the symmetric scheme. The resulting calculus is a typed reconstruction of name passing process calculi. Systems with both the explicit and implicit typing disciplines, where types form a simple hierarchy of types, are presented, which are proved to be in accordance with each other. A typed variant of bisimilarity is formulated and it is shown that typed fiequality has a clean embedding in the bisimilarity. Name reference structure induced by the simple hierarchy of types is studied, which fully characterises the typable terms in the set of untyped terms. It turns out that the name reference structure results in the deadlockfree property for a subset of terms with a certain regular structure, showing behavioural significance of the simple type discipline. 1 Introduction This is a preliminary study of types for concurrency. Types here denote freely composable structur...
A Concurrent Object Calculus: Reduction and Typing
 HLCL'98 TO APPEAR
, 1998
"... We obtain a new formalism for concurrent objectoriented languages by extending Abadi and Cardelli's imperative object calculus with operators for concurrency from thecalculus and with operators for synchronisation based on mutexes. Our syntax of terms is extremely expressive; in a precise sense it ..."
Abstract

Cited by 81 (4 self)
 Add to MetaCart
We obtain a new formalism for concurrent objectoriented languages by extending Abadi and Cardelli's imperative object calculus with operators for concurrency from thecalculus and with operators for synchronisation based on mutexes. Our syntax of terms is extremely expressive; in a precise sense it unifies notions of expression, process, store, thread, and configuration. We present a chemicalstyle reduction semantics, and prove it equivalent to a structural operational semantics. We identify a deterministic fragment that is closed under reduction and show that it includes the imperative object calculus. A collection of type systems for objectoriented constructs is at the heart of Abadi and Cardelli's work. We recast one of Abadi and Cardelli's firstorder type systems with object types and subtyping in the setting of our calculus and prove subject reduction. Since our syntax of terms includes both stores and running expressions, we avoid the need to separate store typing from typing of expressions. We translate asynchronous communication channels and the choicefree asynchronouscalculus into our calculus to illustrate its expressiveness; the types of readonly and writeonly channels are supertypes of readwrite channels.
πCalculus, Internal Mobility, and AgentPassing Calculi
 THEORETICAL COMPUTER SCIENCE
, 1995
"... The πcalculus is a process algebra which originates from CCS and permits a natural modelling of mobility (i.e., dynamic reconfigurations of the process linkage) using communication of names. Previous research has shown that the πcalculus has much greater expressiveness than CCS, but also a much mo ..."
Abstract

Cited by 80 (11 self)
 Add to MetaCart
The πcalculus is a process algebra which originates from CCS and permits a natural modelling of mobility (i.e., dynamic reconfigurations of the process linkage) using communication of names. Previous research has shown that the πcalculus has much greater expressiveness than CCS, but also a much more complex mathematical theory. The primary goal of this work is to understand the reasons of this gap. Another goal is to compare the expressiveness of namepassing calculi, i.e., calculi like πcalculus where mobility is achieved via exchange of names, and that of agentpassing calculi, i.e., calculi where mobility is achieved via exchange of agents. We separate the mobility mechanisms of the πcalculus into two, respectively called internal mobility and external mobility. The study of the subcalculus which only uses internal mobility, called I, suggests that internal mobility is responsible for much of the expressiveness of the πcalculus, whereas external mobility is responsible for many of...
Trust and Partial Typing in Open Systems of Mobile Agents
, 1998
"... . We present a partiallytyped semantics for Dp, a distributed pcalculus. The semantics is designed for mobile agents in open distributed systems in which some sites may harbor malicious intentions. Nonetheless, the semantics guarantees traditional typesafety properties at good locations by using ..."
Abstract

Cited by 72 (12 self)
 Add to MetaCart
. We present a partiallytyped semantics for Dp, a distributed pcalculus. The semantics is designed for mobile agents in open distributed systems in which some sites may harbor malicious intentions. Nonetheless, the semantics guarantees traditional typesafety properties at good locations by using a mixture of static and dynamic typechecking. We show how the semantics can be extended to allow trust between sites, improving performance and expressiveness without compromising typesafety. 1 Introduction In [12] we presented a type system for controlling the use of resources in a distributed system, or network. The type system guarantees two properties: resource access is always safe, e.g. integer resources are always accessed with integers and string resources are always accessed with strings, and resource access is always authorized, i.e. resources may only be accessed by agents that have been granted permission to do so. While these properties are desirable, they are properti...
What is a `Good' Encoding of Guarded Choice?
 INFORMATION AND COMPUTATION
, 1997
"... The calculus with synchronous output and mixedguarded choices is strictly more expressive than the calculus with asynchronous output and no choice. As a corollary, Palamidessi recently proved that there is no fully compositional encoding from the former into the latter that preserves divergenc ..."
Abstract

Cited by 67 (2 self)
 Add to MetaCart
The calculus with synchronous output and mixedguarded choices is strictly more expressive than the calculus with asynchronous output and no choice. As a corollary, Palamidessi recently proved that there is no fully compositional encoding from the former into the latter that preserves divergencefreedom and symmetries. This paper shows