Language primitives and type discipline for structured communication-based programming.pdf
文本预览下载声明
LANGUAGE PRIMITIVES AND TYPE DISCIPLINE FOR
STRUCTURED COMMUNICATION-BASED PROGRAMMING
KOHEI HONDA?, VASCO T. VASCONCELOS?, AND MAKOTO KUBO?
Abstract. We introduce basic language constructs and a type discipline as a foun-
dation of structured communication-based concurrent programming. The constructs,
which are easily translatable into the summation-less asynchronous π-calculus, allow
programmers to organise programs as a combination of multiple flows of (possibly
unbounded) reciprocal interactions in a simple and elegant way, subsuming the pre-
ceding communication primitives such as method invocation and rendez-vous. The
resulting syntactic structure is exploited by a type discipline a? la ML, which offers
a high-level type abstraction of interactive behaviours of programs as well as guar-
anteeing the compatibility of interaction patterns between processes in a well-typed
program. After presenting the formal semantics, the use of language constructs is
illustrated through examples, and the basic syntactic results of the type discipline
are established. Implementation concerns are also addressed.
1. Introduction
Recently, significance of programming practice based on communication among pro-
cesses is rapidly increasing by the development of networked computing. From network
protocols over the Internet to server-client systems in local area networks to distributed
applications in the world wide web to interaction between mobile robots to a global
banking system, the execution of complex, reciprocal communication among multiple
processes becomes an important element in the achievement of the goals of applica-
tions. Many programming languages and formalisms have been proposed so far for the
description of software based on communication. As programming languages, we have
CSP [9], Ada [33], languages based on Actors [2], POOL [4], ABCL [39], Concurrent
Smalltalk [38], or more recently Pict and other π-calculus-based languages [7, 27, 34, 13].
As formalisms, we have
显示全部