Abstract
We define an extension of the π-calculus with a static type system which supports high-level specifications of extended patterns of communication, such as client-server protocols. Subtyping allows protocol specifications to be extended in order to describe richer behaviour; an implemented server can then be replaced by a refined implementation, without invalidating type-correctness of the overall system. We use the POP3 protocol as a concrete example of this technique.
References
G. Boudol. Asynchrony and the π-calculus (note). Rapporte de Recherche 1702, INRJA Sofia-Antipolis, May 1992.
S. J. Gay. A sort inference algorithm for the polyadic π-calculus. In Proceedings, 20th ACM Symposium on Principles of Programming Languages. ACM Press, 1993.
J.-Y. Girard. Linear Logic. Theoretical Computer Science, 50(1):1–102, 1987.
K. Honda and M. Tokoro. An object calculus for asynchronous communication. In Proceedings of the European Conference on Object-Oriented Programming, LNCS. Springer-Verlag, 1994.
K. Honda, V. Vasconcelos, and M. Kubo. Language primitives and type discipline for structured communication-based programming. In Proceedings of the European Symposium on Programming, Lecture Notes in Computer Science. Springer-Verlag, 1998.
K. Honda and N. Yoshida. Combinatory representation of mobile processes. In Proceedings, 21st ACM Symposium on Principles of Programming Languages, 1994.
N. Kobayashi. A partially deadlock-free typed process calculus. In Proceedings, Twelfth Annual IEEE Symposium on Logic in Computer Science. IEEE Computer Society Press, 1997.
N. Kobayashi. A partially deadlock-free typed process calculus. ACM Transactions on Programming Languages and Systems, 20:436–482, 1998.
N. Kobayashi, B. C. Pierce, and Kobayashi D. N. Turner. Linearity and the pi-calculus. In Proceedings, 23rd ACM Symposium on Principles of Programming Languages
I. Mackie Lilac: A functional programming language based on linear logic. Journal of Functional Programming,4(4):1–39, October 1994.
R. Milner. The polyadic π-calculus: A tutorial. Technical Report 91-180 Laboratory for Foundations of Computer Science, Department of Computer Science, University of Edinburgh, 1991.
R. Milner, J. Parrow, and D. Walker. A calculus of mobile processes, I and II. Information and Computation, 100(1):1–77, September 1992.
J. Myers and M. Rose. Post office protocol version 3, May 1996. Internet Standards RFC 1939.
0. Nierstrasz. Regular types for active objects.ACM Sigplan Notices, 28(10):1–15, October 1993.
B. Pierce and D. Sangiorgi. Types and subtypes for mobile processes. In Proceedings, Eighth Annual IEEE Symposium on Logic in Computer Science. IEEE Computer Society Press, 1993.
B. C. Pierce and D. N. Turner. Pict: A programming language based on the pi-calculus. Technical Report CSCI 476, Computer Science Department, Indiana University, 1997. To appear in Proof, Language and Interaction: Essays in Honour of Robin Milner, Gordon Plotkin, Colin Stirling, and Mads Tofte, editors, MIT Press, 1998.
B. C. Pierce and D. N. Turner. Local type inference. In Proceedings, S5th ACM Symposium on Principles of Programming Languages, 1998.
F. Puntigam. Synchronization expressed in types of communication channels. In Proceedings of the European Conference on Parallel Processing (EuroPar’96), volume 1123 of Lecture Notes in Computer Science. Springer-Verlag, 1996.
F. Puntigam. Coordination requirements expressed in types for active objects. In M. Aksit and S. Matsuoka, editors, Proceedings of the European Conference on Object-Oriented Programming (ECOOP’97), volume 1241 of Lecture Notes in Computer Science. Springer-Verlag, 1997.
K. Takeuchi, K. Honda, and M. Kubo. An interaction-based language and its typing system. In Proceedings of the 6th European Conference on Parallel Languages and Architectures, number 817 in Lecture Notes in Computer Science. Springer-Verlag
D. N. Turner. The Polymorphic Pi-Calculus: Theory and Implementation. PhD thesis, University of Edinburgh, 1996.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 1999 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Gay, S., Hole, M. (1999). Types and Subtypes for Client-Server Interactions. In: Swierstra, S.D. (eds) Programming Languages and Systems. ESOP 1999. Lecture Notes in Computer Science, vol 1576. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-49099-X_6
Download citation
DOI: https://doi.org/10.1007/3-540-49099-X_6
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-65699-9
Online ISBN: 978-3-540-49099-9
eBook Packages: Springer Book Archive