Skip to main content

An interaction-based language and its typing system

  • Conference paper
  • First Online:
PARLE'94 Parallel Architectures and Languages Europe (PARLE 1994)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 817))

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. G. Agha, Actors: A Model of Concurrent Computation in Distributed Systems, MIT Press, 1986.

    Google Scholar 

  2. P. America, Operational Semantics of a Parallel Object-Oriented Language. In POPL'86, 1986.

    Google Scholar 

  3. D. Berry, R. Milner and D. Turner, A semantics for ML concurrency primitives. In POPL'92, 1992.

    Google Scholar 

  4. L. Damas and R. Milner. Principal type-schemes for functional programs. In POPL'82, 1982.

    Google Scholar 

  5. M. Hennessy. The Semantics of Programming Languages. Wiley, 1990.

    Google Scholar 

  6. C. Hewitt, P. Bishop and R. Steiger, A Universal Modular ACTOR Formalism for Artificial Intelligence. In IJCAI, 1973.

    Google Scholar 

  7. C. A. R. Hoare, Communicating sequential processes. Communications of ACM, 1978.

    Google Scholar 

  8. C. A. R. Hoare, Communicating Sequential Processes, Prentice Hall, 1985.

    Google Scholar 

  9. K. Honda, Types for Dyadic Interaction. In CONCUR'93, LNCS 612, Springer-Verlag, 1993.

    Google Scholar 

  10. K. Honda and M. Tokoro, An Object Calculus for Asynchronous Communication. In ECOOP'91, LNCS 512, Springer-Verlag, 1991.

    Google Scholar 

  11. K. Honda and N. Yoshida, Combinatory Representation of Mobile Processes. In POPL'94, 1994.

    Google Scholar 

  12. C. B. Jones, Constraining interference in an object-based design method, In TAPSOFT'93, LNCS 668, Springer-Verlag, 1993.

    Google Scholar 

  13. M. Kubo and A. Sashino, On Some Interaction Machines, in preparation, 1994.

    Google Scholar 

  14. J. C. Mitchell, Type Systems for Programming Languages. In Handbook of Theoretical Computer Science B, MIT press, 1990.

    Google Scholar 

  15. R. Milner, A Theory of Type Polymorphism in Programming. Journal of Computer and System Sciences, 17, 1978.

    Google Scholar 

  16. R. Milner, Polyadic π-Calculus: a tutorial. Logic and Algebra of Specification, Springer-Verlag, 1992.

    Google Scholar 

  17. R. Milner, J. Parrow and D. Walker, A calculus of mobile processes, (Parts I and II). Information and Computation, 100, 1992.

    Google Scholar 

  18. R. Milner, M. Tofte, and R. Harper, The Definition of Standard ML, MIT press, 1990.

    Google Scholar 

  19. H. R. Nielson and F. Nielson, Higher-Order Concurrent Programs with Finite Communication Topology. In POPL'94, 1994.

    Google Scholar 

  20. A. Ohori, A compilation method for ML-style polymorphic record calculi. In POPL'92, 1992.

    Google Scholar 

  21. A. Ohori and K. Kato, Semantics for Communication Primitives in a Polymorphic Language. In POPL'93, 1993.

    Google Scholar 

  22. B. C. Pierce, D. Remy and D. N. Turner, A Typed Higher-Order Programming Language Based on the Pi-Calculus. Manuscript, 1993.

    Google Scholar 

  23. B. C. Pierce and D. Sangiorgi. Typing and subtyping for mobile processes. In 1993 IEEE Symposium on Logic in Computer Science, 1993

    Google Scholar 

  24. J. H. Reppy. CML: A Higher-Order Concurrent Language. In PLDI'91, 1991.

    Google Scholar 

  25. K. Takeuchi, Interaction-Based Programming Language and its Typing System. Master Thesis, Keio University, March 1993 (in Japanese). The English version in preparation.

    Google Scholar 

  26. B. Thomsen. A Calculus of Higher Order Communicating Systems. In POPL'89, 1989.

    Google Scholar 

  27. V. T. Vasconcelos. Predicative Polymorphism in π-Calculus. In PARLE'94, LNCS, Springer-Verlag, 1994.

    Google Scholar 

  28. V. T. Vasconcelos and K. Honda. Principal Typing-Schemes in a Polyadic π-Calculus. In CONCUR'93, LNCS 715, Springer-Verlag, 1993.

    Google Scholar 

  29. Y. Yokote and M. Tokoro. The Design and Implementation of ConcurrentSmalltalk. In OOPSLA'86, 1986.

    Google Scholar 

  30. A. Yonezawa, ABCL: An Object-Oriented Concurrent System. MIT Press, 1990.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Costas Halatsis Dimitrios Maritsas George Philokyprou Sergios Theodoridis

Rights and permissions

Reprints 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

Publish with us

Policies and ethics