Abstract
A theory of asynchronous binary sessions is generalized by asynchronous communication subtyping, which actually permutates and optimizes the actions on each participant. With the types of messages distinguished between dependent and independent types, a series of action asynchronous subtyping rules for the two kinds of message types are proposed, respectively. To make such action permutations automatic, an algorithmic asynchronous subtyping is presented, associating the subtyping for session types with asynchronous communication subtyping. In addition, action permutation and optimization will change the sequence and structure of messages sent and received. To ensure runtime safety, the cases of communication errors that may occur in asynchronous sessions are revealed by examples. What’s more, the type compliance we defined assures the progress property, i.e., once a communication has been established, well-formed programs will never starve at communication points. Finally, we conclude and discuss some possible future work in this area.
This work has been supported by the Natural Science Foundation of China under grant 60873234 and Top Key Discipline of Computer Software and Theory in Zhejiang Provincial Colleges at Zhejiang Normal University.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Acciai, L., Boreale, M.: A Type System for Client Progress in a Service-Oriented Calculus. In: Degano, P., De Nicola, R., Meseguer, J. (eds.) Montanari Festschrift. LNCS, vol. 5065, pp. 642–658. Springer, Heidelberg (2008)
Coppo, M., Dezani-Ciancaglini, M., Yoshida, N.: Asynchronous Session Types and Progress for Object Oriented Languages. In: Bonsangue, M.M., Johnsen, E.B. (eds.) FMOODS 2007. LNCS, vol. 4468, pp. 1–31. Springer, Heidelberg (2007)
Dezani-Ciancaglini, M., Mostrous, D., Yoshida, N., Drossopoulou, S.: Session Types for Object-Oriented Languages. In: Hu, Q. (ed.) ECOOP 2006. LNCS, vol. 4067, pp. 328–352. Springer, Heidelberg (2006)
Dezani-Ciancaglini, M., de’Liguoro, U., Yoshida, N.: On Progress for Structured Communications. In: Barthe, G., Fournet, C. (eds.) TGC 2007. LNCS, vol. 4912, pp. 257–275. Springer, Heidelberg (2008)
Gay, S., Hole, M.: Types and Subtypes for Client-Server Interactions. In: Swierstra, S.D. (ed.) ESOP 1999. LNCS, vol. 1576, pp. 74–90. Springer, Heidelberg (1999)
Gay, S., Hole, M.: Bounded polymorphism in session types. Technical Report, Department of Computing Science, University of Glasgow (2003)
Gay, S., Hole, M.: Subtyping for session types in the Pi-calculus. Acta Informatica 42(2/3), 191–225 (2005)
Gay, S.J.: Bounded polymorphism in session types. Mathematical Structures in Computer Science, vol. 18, pp. 895–930. Cambridge University Press (2007)
Honda, K.: Types for Dyadic Interaction. In: Best, E. (ed.) CONCUR 1993. LNCS, vol. 715, pp. 509–523. Springer, Heidelberg (1993)
Honda, K., Kubo, M., Takeuchi, K.: An Interaction-Based Language and Its Typing System. In: Halatsis, C., Philokyprou, G., Maritsas, D., Theodoridis, S. (eds.) PARLE 1994. LNCS, vol. 817, pp. 398–413. Springer, Heidelberg (1994)
Honda, K., Vasconcelos, V.T., Kubo, M.: Language Primitives and Type Discipline for Structured Communication-Based Programming. In: Hankin, C. (ed.) ESOP 1998. LNCS, vol. 1381, pp. 122–138. Springer, Heidelberg (1998)
Honda, K., Yoshida, N., Carbone, M.: Multiparty asynchronous session types. In: POPL 2005, pp. 273–284. ACM Press, New York (2008)
Mostrous, D., Yoshida, N., Honda, K.: Global Principal Typing in Partially Commutative Asynchronous Sessions. In: Castagna, G. (ed.) ESOP 2009. LNCS, vol. 5502, pp. 316–332. Springer, Heidelberg (2009)
Milner, R., Parrow, J., Walker, D.: A calculus of mobile processes, I and II. Information and Computation, pp. 1–77 (1992)
Neubaure, M., Thiemann, P.: Session types of asynchrionous communication. University Freiburg (2004)
Pierce, B.C., Sangiorgi, D.: Typing and subtyping for mobile processes. Mathematical Structures in Computer Science 6(5), 409–453 (1996)
Pierce, B.C.: Types and programming languages. MIT Press (2002)
Sangiorgi, D., Walker, D.: The Pi-calculus: a theory of mobile processes. Cambridge University Press (2001)
Yang, Z., Zhong, F. and Zhang, J.: A bounded polymorphic type system for client-server interactions. In: ICNDS 2012, Journal of Digital Content Technology and its Application (to appear, 2012)
Yang, Z., Zhong, F., Zhang, J.: A Polymorphic Type System with Progress for Binary Sessions. In: Philips, W.F.L. (ed.) WISM 2012. LNCS, vol. 7529, pp. 451–461. Springer, Heidelberg (2012)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2012 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Yang, Z., Zhong, F., Zhang, J., Song, T. (2012). On Action Permutation and Progress for Partially Commutative Asynchronous Binary Sessions. In: Xiang, Y., Pathan, M., Tao, X., Wang, H. (eds) Internet and Distributed Computing Systems. IDCS 2012. Lecture Notes in Computer Science, vol 7646. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-34883-9_10
Download citation
DOI: https://doi.org/10.1007/978-3-642-34883-9_10
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-34882-2
Online ISBN: 978-3-642-34883-9
eBook Packages: Computer ScienceComputer Science (R0)