Hostname: page-component-848d4c4894-pjpqr Total loading time: 0 Render date: 2024-07-05T06:54:13.152Z Has data issue: false hasContentIssue false

On projecting processes into session types

Published online by Cambridge University Press:  28 February 2012

LUCA PADOVANI*
Affiliation:
Dipartimento di Informatica, Università degli Studi di Torino, Italy Email: padovani@di.unito.it

Abstract

We define session types as projections of the behaviour of processes with respect to the operations processes perform on channels. This calls for a parallel composition operator over session types denoting the simultaneous access to a channel by two or more processes. The proposed approach allows us to define a semantically grounded theory of session types that does not require the linear usage of channels. However, type preservation and progress can only be guaranteed for processes that never receive channels they already own. A number of examples show that the resulting framework validates existing session-type theories and unifies them to some extent.

Type
Paper
Copyright
Copyright © Cambridge University Press 2012

Access options

Get access to the full version of this content by using one of the access options below. (Log in options will check for institutional or personal access. Content may require purchase if you do not have access.)

References

Acciai, L. and Boreale, M. (2008) A type system for client progress in a service-oriented calculus. In: Concurrency, Graphs and Models: Essays Dedicated to Ugo Montanari on the Occasion of His 65th Birthday. Springer-Verlag Lecture Notes in Computer Science 5065 642658.CrossRefGoogle Scholar
Bettini, L., Coppo, M., D'Antoni, L., De Luca, M., Dezani-Ciancaglini, M. and Yoshida, N. (2008) Global Progress in Dynamically Interleaved Multiparty Sessions. In: Proceedings of CONCUR'08. Springer-Verlag Lecture Notes in Computer Science 5201 418433.CrossRefGoogle Scholar
Bravetti, M. and Zavattaro, G. (2007a) Contract based multi-party service composition. In: Proceedings of FSEN'07. Springer-Verlag Lecture Notes in Computer Science 4767 207222.CrossRefGoogle Scholar
Bravetti, M. and Zavattaro, G. (2007b) Towards a unifying theory for choreography conformance and contract compliance. In: Proceedings of the 6th International Symposium on Software Composition. Springer-Verlag Lecture Notes in Computer Science 4829 3450.CrossRefGoogle Scholar
Bravetti, M. and Zavattaro, G. (2009) A foundational theory of contracts for multi-party service composition. Fundamenta Informaticae 89 (4)451478.Google Scholar
Bugliesi, M., Macedonio, D., Pino, L. and Rossi, S. (2010) Compliance preorders for Web Services. In: Proceedings of WS-FM'09. Springer-Verlag Lecture Notes in Computer Science 6194 7691.CrossRefGoogle Scholar
Caires, L. and Pfenning, F. (2010) Session types as intuitionistic linear propositions. In: Proceedings of CONCUR'10. Springer-Verlag Lecture Notes in Computer Science 6269 222236.CrossRefGoogle Scholar
Caires, L. and Vieira, H. (2009) Conversation types. In: Proceedings of ESOP'09. Springer-Verlag Lecture Notes in Computer Science 5502 285300.CrossRefGoogle Scholar
Capecchi, S., Coppo, M., Dezani-Ciancaglini, M., Drossopoulou, S. and Giachino, E. (2009) Amalgamating Sessions and Methods in Object Oriented Languages with Generics. Theoretical Computer Science 410 142167.CrossRefGoogle Scholar
Carpineti, S., Laneve, C. and Padovani, L. (2009) PiDuce – A project for experimenting Web services technologies. Science of Computer Programming 74 (10)777811.CrossRefGoogle Scholar
Castagna, G., Dezani-Ciancaglini, M., Giachino, E. and Padovani, L. (2009a) Foundations of session types. In: Proceedings of PPDP'09, ACM 219230.CrossRefGoogle Scholar
Castagna, G. and Frisch, A. (2005) A gentle introduction to semantic subtyping. In Proceedings of PPDP'05, ACM 198199.CrossRefGoogle Scholar
Castagna, G., Gesbert, N. and Padovani, L. (2009b) A theory of contracts for Web services. ACM Transactions on Programming Languages and Systems 31 (5)161.CrossRefGoogle Scholar
Castagna, G., De Nicola, R. and Varacca, D. (2008) Semantic subtyping for the pi-calculus. Theoretical Computer Science 398 (1-3)217242.CrossRefGoogle Scholar
Castagna, G. and Padovani, L. (2009) Contracts for mobile processes. In: Proceedings of CONCUR'09. Springer-Verlag Lecture Notes in Computer Science 5710 211228.CrossRefGoogle Scholar
Chaki, S., Rajamani, S. K. and Rehof, J. (2002) Types as models: model checking message-passing programs. SIGPLAN Notices 37 (1)4557.CrossRefGoogle Scholar
Courcelle, B. (1983) Fundamental properties of infinite trees. Theoretical Computer Science 25 95169.CrossRefGoogle Scholar
De Nicola, R. and Hennessy, M. (1984) Testing equivalences for processes. Theoretical Computer Science 34 83133.CrossRefGoogle Scholar
De Nicola, R. and Hennessy, M. (1987) ccs without τ's. In: Proceedings of TAPSOFT'87/CAAP'87. Springer-Verlag Lecture Notes in Computer Science 249 138152.CrossRefGoogle Scholar
Dezani-Ciancaglini, M., de' Liguoro, U. and Yoshida, N. (2008) On Progress for Structured Communications. In: Proceedings of TGC'07. Springer-Verlag Lecture Notes in Computer Science 4912 257275.CrossRefGoogle Scholar
Dezani-Ciancaglini, M., Drossopoulou, S., Mostrous, D. and Yoshida, N. (2009) Session Types for Object-Oriented Languages. Information and Computation 207 (5)595641.CrossRefGoogle Scholar
Drossopoulou, S., Dezani-Ciancaglini, M. and Coppo, M. (2007) Amalgamating the Session Types and the Object Oriented Programming Paradigms. In: Proceedings of MPOOL'07.Google Scholar
Frisch, A., Castagna, G. and Benzaken, V. (2008) Semantic subtyping: dealing set-theoretically with function, union, intersection, and negation types. Journal of the ACM 55 (4)164.CrossRefGoogle Scholar
Gay, S. and Hole, M. (2005) Subtyping for session types in the π-calculus. Acta Informatica 42 (2-3)191225.CrossRefGoogle Scholar
Gay, S. and Vasconcelos, V. T. (2007) Asynchronous functional session types. Technical Report 2007–251, Department of Computing, University of Glasgow.Google Scholar
Giunti, M. and Vasconcelos, V. T. (2010) A linear account of session types in the pi calculus. In: Proceedings of CONCUR'10. Springer-Verlag Lecture Notes in Computer Science 6269 432446.CrossRefGoogle Scholar
Hennessy, M. (1988) Algebraic Theory of Processes. Foundation of Computing, MIT Press.Google Scholar
Honda, K. (1993) Types for dyadic interaction. In: Proceedings of CONCUR'93. Springer-Verlag Lecture Notes in Computer Science 715 509523.CrossRefGoogle Scholar
Honda, K., Vasconcelos, V. T. and Kubo, M. (1998) Language primitives and type disciplines for structured communication-based programming. In: Proceedings of ESOP'98. Springer-Verlag Lecture Notes in Computer Science 1381 122138.CrossRefGoogle Scholar
Honda, K., Yoshida, N. and Carbone, M. (2008) Multiparty asynchronous session types. In: Proceedings of POPL'08, ACM 273284.CrossRefGoogle Scholar
Igarashi, A. and Kobayashi, N. (2004) A generic type system for the Pi-calculus. Theoretical Computer Science 311 (1-3)121163.CrossRefGoogle Scholar
Kobayashi, N., Saito, S. and Sumii, E. (2000) An implicitly-typed deadlock-free process calculus. In: Proceedings of CONCUR'00. Springer-Verlag Lecture Notes in Computer Science 1877 489503.CrossRefGoogle Scholar
Laneve, C. and Padovani, L. (2008) The pairing of contracts and session types. In: Concurrency, Graphs and Models: Essays Dedicated to Ugo Montanari on the Occasion of His 65th Birthday. Springer-Verlag Lecture Notes in Computer Science 5065 681700.CrossRefGoogle Scholar
Milner, R. (1999) Communicating and Mobile Systems: the Pi-Calculus, Cambridge University Press.Google Scholar
Natarajan, V. and Cleaveland, R. (1995) Divergence and fair testing. In: Proceedings of ICALP '95. Springer-Verlag Lecture Notes in Computer Science 944 648659.CrossRefGoogle Scholar
Nielson, H. R. and Nielson, F. (1994) Higher-order concurrent programs with finite communication topology (extended abstract). In: Proceedings of POPL'94, ACM 8497.CrossRefGoogle Scholar
Padovani, L. (2009) Session types at the mirror. EPTCS 12 7186.Google Scholar
Padovani, L. (2011) Session Types = Intersection Types + Union Types. In: Pimentel, E., Venneri, B. and Wells, J. (eds.) Proceedings Fifth Workshop on Intersection Types and Related Systems. EPTCS 45 7189.CrossRefGoogle Scholar
Pierce, B. and Sangiorgi, D. (1996) Typing and subtyping for mobile processes. Mathematical Structures in Computer Science 6 376385.CrossRefGoogle Scholar
Rensink, A. and Vogler, W. (2007) Fair testing. Information and Computation 205 (2)125198.CrossRefGoogle Scholar
Sangiorgi, D. and Walker, D. (2001) The π-calculus: a Theory of Mobile Processes, Cambridge University Press.Google Scholar
Sumii, E. and Kobayashi, N. (1998) A generalized deadlock-free process calculus. Electronic Notes in Theoretical Computer Science 16 (3)225247.CrossRefGoogle Scholar
Vasconcelos, V. T. (2009) Fundamentals of session types. In: SFM'09. Springer-Verlag Lecture Notes in Computer Science 5569 158186.Google Scholar
Vasconcelos, V. T., Gay, S. and Ravara, A. (2006) Type checking a multithreaded functional language with session types. Theoretical Computer Science 368 6487.CrossRefGoogle Scholar
Yoshida, N. and Vasconcelos, V. T. (2007) Language primitives and type discipline for structured communication-based programming revisited: Two systems for higher-order session communication. Electronic Notes in Theoretical Computer Science 171 (4)7393.CrossRefGoogle Scholar