MetaCartSign in to MyCiteSeer

Include Citations | Advanced Search | Help

Include Citations | Advanced Search | Help

  Session Types for Functional Multithreading (2004) [23 citations — 3 self]

Download:
Download as a PDF
by Vasco Vasconcelos, Simon Gay, António Ravara
In CONCUR’04, volume 3170 of LNCS
http://mikado.di.fc.ul.pt/repository/vasconcelos.etal_session-types-functional-multithreading.pdf
Add To MetaCart

Abstract:

We define a language whose type system, incorporating session types, allows complex protocols to be specified by types and verified by static typechecking. A session type, associated with a communication channel, specifies the state transitions of a protocol and also the data types of messages associated with transitions; thus typechecking can verify both correctness of individual messages and correctness of sequences of transitions. Previously session types have mainly been studied in the context of the π-calculus; instead, our formulation is based on a multi-threaded functional language with side-effecting input/output operations. Our typing judgements statically describe dynamic changes in the types of channels, our channel types statically track aliasing, and our function types not only specify argument and result types but also describe changes in channels. We formalize the syntax, semantics and typing system of our language, and prove subject reduction and runtime type safety theorems. We also present a type checking algorithm and show that it is correct with respect to the type system.

Citations

894 The lambda calculus, its syntax and semantics – Barendregt - 1984
886 A Calculus of Mobile Processes – Milner, Parrow, et al. - 1992
302 Types and programming languages – Pierce - 2002
260 at.el, Business process execution language for Web services – Andrew
256 Enforcing high-level protocols in low-level software – Deline, Fähndrich - 2001
226 The π–calculus: A Theory of Mobile Processes – Sangiorgi, Walker - 2001
201 Flow-sensitive type qualifiers – Foster, Terauchi, et al. - 2002
132 Region-based memory management in cyclone – Grossman, Morrisett, et al. - 2002
90 Language primitives and type discipline for structured communication-based programming – Honda, Vasconcelos, et al. - 1998
64 A generic type system for the pi-calculus – Igarashi, Kobayashi - 2001
59 An interaction-based language and its typing system – Takeuchi, Honda, et al. - 1994
58 Types as models: model checking messagepassing programs – Chaki, Rajamani, et al. - 2002
53 Resource usage analysis – Igarashi, Kobayashi - 2002
52 Type-safe multithreading in cyclone – Grossman - 2003
47 Typing correspondence assertions for communication protocols – Gordon, Jeffrey
43 Types for dyadic interaction – Honda - 1993
39 Types and subtypes for client-server interactions – Gay, Hole
23 A fully abstract may testing semantics for concurrent objects – Jeffrey, Rathke
20 Typing the behavior of objects and components using session types – Vallecillo, Vasconcelos, et al. - 2002
17 A process compensation language – Ferreira, Butler
17 Session types for inter-process communication – Gay, Vasconcelos, et al. - 2003
11 Typechecking safe process synchronization – Bonelli, Compagnoni, et al. - 2004
9 António Ravara. Typing the Behavior of Objects and Components using Session Types – Vallecillo, Vasconcelos - 2002
8 An implementation of session types – Neubauer, Thiemann - 2004
8 CML: A higher order concurrent language – Reppy - 1991
4 António Ravara. Session Types for Inter-Process Communication – Gay, Vasconcelos - 2003
4 Using b refinement to analyse compensating business processes – Ferreira, Butler - 2003
2 A multi-threaded asynchronous language – Paulino, Marques, et al. - 2003
1 2] Eduardo Bonelli, Adriana Compagnoni, and Elsa Gunter. Correspondence assertions for process synchronization in concurrent communication – North-Holland - 1984
1 Rajamani and Jakob Rehof. A behavioral module system for the pi-calculus – Sriram - 2001
1 Using SPIN and STeP to verify business processes specifications – Butler, Ferreira - 2003
1 Web services choreography requirements, W3C working draft – W3C - 2004
1 Types and subtypes for client-server interactions. volume 1576 – Gay, Hole - 1999
1 A behavioral module system for the pi-calculus. volume 2126 – Rajamani, Rehof - 2001