Abstract
We present a small language \(\mathcal{L}\) and its typing system, starting from the idea of interaction, one of the important notions in parallel and distributed computing. \(\mathcal{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 high-level abstraction of interactionbased computing. The 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 well-typed in the typing system, it never causes run-time error due to type inconsistent communication patterns, offering a new foundation for type discipline in parallel programming languages.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
G. Agha, Actors: A Model of Concurrent Computation in Distributed Systems, MIT Press, 1986.
P. America, Operational Semantics of a Parallel Object-Oriented Language. In POPL'86, 1986.
D. Berry, R. Milner and D. Turner, A semantics for ML concurrency primitives. In POPL'92, 1992.
L. Damas and R. Milner. Principal type-schemes for functional programs. In POPL'82, 1982.
M. Hennessy. The Semantics of Programming Languages. Wiley, 1990.
C. Hewitt, P. Bishop and R. Steiger, A Universal Modular ACTOR Formalism for Artificial Intelligence. In IJCAI, 1973.
C. A. R. Hoare, Communicating sequential processes. Communications of ACM, 1978.
C. A. R. Hoare, Communicating Sequential Processes, Prentice Hall, 1985.
K. Honda, Types for Dyadic Interaction. In CONCUR'93, LNCS 612, Springer-Verlag, 1993.
K. Honda and M. Tokoro, An Object Calculus for Asynchronous Communication. In ECOOP'91, LNCS 512, Springer-Verlag, 1991.
K. Honda and N. Yoshida, Combinatory Representation of Mobile Processes. In POPL'94, 1994.
C. B. Jones, Constraining interference in an object-based design method, In TAPSOFT'93, LNCS 668, Springer-Verlag, 1993.
M. Kubo and A. Sashino, On Some Interaction Machines, in preparation, 1994.
J. C. Mitchell, Type Systems for Programming Languages. In Handbook of Theoretical Computer Science B, MIT press, 1990.
R. Milner, A Theory of Type Polymorphism in Programming. Journal of Computer and System Sciences, 17, 1978.
R. Milner, Polyadic π-Calculus: a tutorial. Logic and Algebra of Specification, Springer-Verlag, 1992.
R. Milner, J. Parrow and D. Walker, A calculus of mobile processes, (Parts I and II). Information and Computation, 100, 1992.
R. Milner, M. Tofte, and R. Harper, The Definition of Standard ML, MIT press, 1990.
H. R. Nielson and F. Nielson, Higher-Order Concurrent Programs with Finite Communication Topology. In POPL'94, 1994.
A. Ohori, A compilation method for ML-style polymorphic record calculi. In POPL'92, 1992.
A. Ohori and K. Kato, Semantics for Communication Primitives in a Polymorphic Language. In POPL'93, 1993.
B. C. Pierce, D. Remy and D. N. Turner, A Typed Higher-Order Programming Language Based on the Pi-Calculus. Manuscript, 1993.
B. C. Pierce and D. Sangiorgi. Typing and subtyping for mobile processes. In 1993 IEEE Symposium on Logic in Computer Science, 1993
J. H. Reppy. CML: A Higher-Order Concurrent Language. In PLDI'91, 1991.
K. Takeuchi, Interaction-Based Programming Language and its Typing System. Master Thesis, Keio University, March 1993 (in Japanese). The English version in preparation.
B. Thomsen. A Calculus of Higher Order Communicating Systems. In POPL'89, 1989.
V. T. Vasconcelos. Predicative Polymorphism in π-Calculus. In PARLE'94, LNCS, Springer-Verlag, 1994.
V. T. Vasconcelos and K. Honda. Principal Typing-Schemes in a Polyadic π-Calculus. In CONCUR'93, LNCS 715, Springer-Verlag, 1993.
Y. Yokote and M. Tokoro. The Design and Implementation of ConcurrentSmalltalk. In OOPSLA'86, 1986.
A. Yonezawa, ABCL: An Object-Oriented Concurrent System. MIT Press, 1990.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1994 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Takeuchi, K., Honda, K., Kubo, M. (1994). An interaction-based language and its typing system. In: Halatsis, C., Maritsas, D., Philokyprou, G., Theodoridis, S. (eds) PARLE'94 Parallel Architectures and Languages Europe. PARLE 1994. Lecture Notes in Computer Science, vol 817. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-58184-7_118
Download citation
DOI: https://doi.org/10.1007/3-540-58184-7_118
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-58184-0
Online ISBN: 978-3-540-48477-6
eBook Packages: Springer Book Archive