Abstract
Session types describe the structure of protocols from the point of view of each participating channel. In particular, the types describe the type of communicated values, and also the dynamic alternation of input and output actions on the same channel, by which a protocol can be statically verified. Crucial to any term language with session types is the notion of linearity, which guarantees that channels exhibit exactly the behaviour prescribed by their type. We relax the condition of linearity to that of affinity, by which channels exhibit at most the behaviour prescribed by their types. This more liberal setting allows us to incorporate an elegant error handling mechanism which simplifies and improves related works on exceptions. Moreover, our treatment does not affect the progress properties of the language: sessions never get stuck.
Chapter PDF
Similar content being viewed by others
Keywords
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
References
Abramsky, S.: Computational interpretations of linear logic. Theoretical Computer Science 111, 3–57 (1993)
Asperti, A., Roversi, L.: Intuitionistic light affine logic. ACM Transactions on Compututational Logic 3(1) (2002)
Bravetti, M., Zavattaro, G.: Contract-based discovery and composition of web services. In: Bernardo, M., Padovani, L., Zavattaro, G. (eds.) SFM 2009. LNCS, vol. 5569, pp. 261–295. Springer, Heidelberg (2009)
Caires, L., Pfenning, F.: Session types as intuitionistic linear propositions. In: Gastin, P., Laroussinie, F. (eds.) CONCUR 2010. LNCS, vol. 6269, pp. 222–236. Springer, Heidelberg (2010)
Capecchi, S., Giachino, E., Yoshida, N.: Global escape in multiparty sessions. In: FSTTCS. LIPIcs, pp. 338–351. Schloss Dagstuhl (2010)
Carbone, M.: Session-based choreography with exceptions. In: PLACES. ENTCS, vol. 241, pp. 35–55. Elsevier (2009)
Carbone, M., Honda, K., Yoshida, N.: Structured interactional exceptions in session types. In: van Breugel, F., Chechik, M. (eds.) CONCUR 2008. LNCS, vol. 5201, pp. 402–417. Springer, Heidelberg (2008)
Castagna, G., Gesbert, N., Padovani, L.: A theory of contracts for web services. ACM Transactions on Programming Languages and Systems 31(5), 1–61 (2009)
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)
Ferreira, C., Lanese, I., Ravara, A., Vieira, H.T., Zavattaro, G.: Advanced Mechanisms for Service Combination and Transactions. In: Wirsing, M., Hölzl, M. (eds.) SENSORIA Project. LNCS, vol. 6582, pp. 302–325. Springer, Heidelberg (2011)
Gay, S.J., Hole, M.J.: Subtyping for session types in the pi calculus. Acta Informatica 42(2/3), 191–225 (2005)
Girard, J.-Y.: Linear logic. Theoretical Computer Science 50, 1–102 (1987)
Giunti, M.: Algorithmic type checking for a pi-calculus with name matching and session types. The Journal of Logic and Algebraic Programming 82(8), 263–281 (2013)
Honda, K., Yoshida, N., Carbone, M.: Multiparty asynchronous session types. In: POPL, pp. 273–284. ACM (2008)
Honda, K., Vasconcelos, V.T., Kubo, M.: Language primitives and type disciplines for structured communication-based programming. In: Hankin, C. (ed.) ESOP 1998. LNCS, vol. 1381, pp. 122–138. Springer, Heidelberg (1998)
Hu, R., Neykova, R., Yoshida, N., Demangeon, R., Honda, K.: Practical interruptible conversations: Distributed dynamic verification with session types and Python. In: Legay, A., Bensalem, S. (eds.) RV 2013. LNCS, vol. 8174, pp. 130–148. Springer, Heidelberg (2013)
Kopylov, A.P.: Decidability of linear affine logic. Information and Computation 164(1), 173–198 (2001)
Milner, R.: Functions as processes. Mathematical Structures in Computer Science 2(2), 119–141 (1992)
Milner, R., Parrow, J., Walker, D.: A calculus of mobile processes, parts I and II. Information and Computation 100(1) (1992)
Mostrous, D.: Multiparty sessions based on proof nets. In: Programming Language Approaches to Concurrency and Communication-cEntric Software, PLACES (2014)
Takeuchi, K., Honda, K., Kubo, M.: 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)
Vasconcelos, V.T.: Fundamentals of session types. Information and Computation 217, 52–70 (2012)
Vieira, H.T., Caires, L., Seco, J.C.: The conversation calculus: A model of service-oriented computation. In: Drossopoulou, S. (ed.) ESOP 2008. LNCS, vol. 4960, pp. 269–283. Springer, Heidelberg (2008)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2014 IFIP International Federation for Information Processing
About this paper
Cite this paper
Mostrous, D., Vasconcelos, V.T. (2014). Affine Sessions. In: Kühn, E., Pugliese, R. (eds) Coordination Models and Languages. COORDINATION 2014. Lecture Notes in Computer Science(), vol 8459. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-662-43376-8_8
Download citation
DOI: https://doi.org/10.1007/978-3-662-43376-8_8
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-662-43375-1
Online ISBN: 978-3-662-43376-8
eBook Packages: Computer ScienceComputer Science (R0)