Type checking a multithreaded functional language with session types
We define a language whose type system, incorporating session types, allows complex protocols to be specified by types and verified by static type checking. A session type, associated with a communication channel, specifies the state transitions of a protocol and also the data types of messages asso...
Uložené v:
| Vydané v: | Theoretical computer science Ročník 368; číslo 1; s. 64 - 87 |
|---|---|
| Hlavní autori: | , , |
| Médium: | Journal Article |
| Jazyk: | English |
| Vydavateľské údaje: |
Amsterdam
Elsevier B.V
05.12.2006
Elsevier |
| Predmet: | |
| ISSN: | 0304-3975, 1879-2294 |
| On-line prístup: | Získať plný text |
| Tagy: |
Pridať tag
Žiadne tagy, Buďte prvý, kto otaguje tento záznam!
|
| Abstract | We define a language whose type system, incorporating session types, allows complex protocols to be specified by types and verified by static type checking. 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 type checking 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 multithreaded functional language with side-effecting input/output operations. Our typing judgements statically describe dynamic changes in the types of channels, and our function types not only specify argument and result types but also describe changes in channels. We formalize the syntax, semantics and type checking system of our language, and prove subject reduction and runtime type safety theorems. |
|---|---|
| AbstractList | We define a language whose type system, incorporating session types, allows complex protocols to be specified by types and verified by static type checking. 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 type checking 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 multithreaded functional language with side-effecting input/output operations. Our typing judgements statically describe dynamic changes in the types of channels, and our function types not only specify argument and result types but also describe changes in channels. We formalize the syntax, semantics and type checking system of our language, and prove subject reduction and runtime type safety theorems. |
| Author | Ravara, António Vasconcelos, Vasco T. Gay, Simon J. |
| Author_xml | – sequence: 1 givenname: Vasco T. surname: Vasconcelos fullname: Vasconcelos, Vasco T. email: vv@di.fc.ul.pt organization: Departamento de Informática, Faculdade de Ciências, Universidade de Lisboa, 1749-016 Lisboa, Portugal – sequence: 2 givenname: Simon J. surname: Gay fullname: Gay, Simon J. email: simon@dcs.gla.ac.uk organization: Department of Computing Science, University of Glasgow, Glasgow G12 8QQ, UK – sequence: 3 givenname: António surname: Ravara fullname: Ravara, António email: amar@math.ist.utl.pt organization: CLC and Departamento de Matemática, Instituto Superior Técnico, 1049-001 Lisboa, Portugal |
| BackLink | http://pascal-francis.inist.fr/vibad/index.php?action=getRecordDetail&idt=18300789$$DView record in Pascal Francis |
| BookMark | eNp9kE9rwzAMxc3oYG23D7BbLjsms500sdlpdH-hsEt3Nqoit-7SpNjuRr_9Ejp22GFCIJDe74HehI3ariXGrgXPBBfl7TaLGDLJeZkNLdUZGwtV6VRKXYzYmOe8SHNdzS7YJIQt72tWlWP2sDzuKcEN4Ydr1wkku0MTXdx4gprqxB5ajK5roUkaaNcHWFPy1Z-TQCH0-yT2eLhk5xaaQFc_c8renx6X85d08fb8Or9fpJjLKqZ6haQUgtY0wxwLVRS14Eqg1rUGgBKtBZkrC7gqC6AqJytVzQWXQiur8ym7OfnuISA01kOLLpi9dzvwRyNUznmlBl110qHvQvBkDboIwx_Rg2uM4GYIzWxNH5oZQjNDS9WT4g_5a_4Pc3diqH_905E3AR21SLXzhNHUnfuH_gbqE4hE |
| CODEN | TCSCDI |
| CitedBy_id | crossref_primary_10_1016_j_scico_2015_10_006 crossref_primary_10_1017_S0960129512000886 crossref_primary_10_1007_s00165_013_0284_5 crossref_primary_10_1145_2873052 crossref_primary_10_1016_j_ic_2008_03_028 crossref_primary_10_1587_transinf_E95_D_2053 crossref_primary_10_1016_j_ic_2022_104948 crossref_primary_10_1017_S0956796809990268 crossref_primary_10_1145_2692915_2628152 crossref_primary_10_1016_j_entcs_2007_02_056 crossref_primary_10_1017_S0960129514000176 crossref_primary_10_1017_S0960129514000231 crossref_primary_10_1145_3607854 crossref_primary_10_1016_j_jlamp_2015_09_003 crossref_primary_10_1016_j_tcs_2008_09_016 crossref_primary_10_1145_3022670_2951925 crossref_primary_10_1017_S0960129508006944 crossref_primary_10_1145_1543134_1411290 crossref_primary_10_1145_1707801_1706335 crossref_primary_10_1016_j_ic_2017_06_002 crossref_primary_10_1145_3022670_2951921 crossref_primary_10_1017_S0960129511000405 crossref_primary_10_1145_1328897_1328472 crossref_primary_10_1145_3371135 crossref_primary_10_1145_1932681_1863551 crossref_primary_10_1016_j_ic_2015_02_002 crossref_primary_10_1145_3241625_2976018 crossref_primary_10_1145_2827695 |
| Cites_doi | 10.1007/11580850_16 10.1016/S0304-3975(03)00325-6 10.1017/S095679680400543X 10.1016/S0304-3975(02)00333-X 10.1016/0890-5401(92)90008-4 10.1007/s00236-005-0177-z 10.1016/0022-0000(78)90014-4 10.1145/363911.363923 |
| ContentType | Journal Article |
| Copyright | 2006 Elsevier B.V. 2007 INIST-CNRS |
| Copyright_xml | – notice: 2006 Elsevier B.V. – notice: 2007 INIST-CNRS |
| DBID | 6I. AAFTH AAYXX CITATION IQODW |
| DOI | 10.1016/j.tcs.2006.06.028 |
| DatabaseName | ScienceDirect Open Access Titles Elsevier:ScienceDirect:Open Access CrossRef Pascal-Francis |
| DatabaseTitle | CrossRef |
| DatabaseTitleList | |
| DeliveryMethod | fulltext_linktorsrc |
| Discipline | Mathematics Computer Science Applied Sciences |
| EISSN | 1879-2294 |
| EndPage | 87 |
| ExternalDocumentID | 18300789 10_1016_j_tcs_2006_06_028 S0304397506003902 |
| GroupedDBID | --K --M -~X .DC .~1 0R~ 123 1B1 1RT 1~. 1~5 29Q 4.4 457 4G. 5VS 6I. 7-5 71M 8P~ 9JN AABNK AACTN AAEDT AAEDW AAFTH AAIAV AAIKJ AAKOC AALRI AAOAW AAQFI AAQXK AAXUO AAYFN ABAOU ABBOA ABEFU ABFNM ABJNI ABMAC ABTAH ABVKL ABXDB ABYKQ ACAZW ACDAQ ACGFS ACNNM ACRLP ACZNC ADBBV ADEZE ADMUD AEBSH AEKER AENEX AEXQZ AFKWA AFTJW AGHFR AGUBO AGYEJ AHHHB AHZHX AIALX AIEXJ AIKHN AITUG AJBFU AJOXV ALMA_UNASSIGNED_HOLDINGS AMFUW AMRAJ AOUOD ARUGR ASPBG AVWKF AXJTR AZFZN BKOJK BLXMC CS3 DU5 EBS EFJIC EFLBG EJD EO8 EO9 EP2 EP3 F5P FDB FEDTE FGOYB FIRID FNPLU FYGXN G-2 G-Q G8K GBLVA GBOLZ HVGLF HZ~ IHE IXB J1W KOM LG9 M26 M41 MHUIS MO0 N9A NCXOZ O-L O9- OAUVE OK1 OZT P-8 P-9 P2P PC. Q38 R2- RIG ROL RPZ SCC SDF SDG SES SEW SPC SPCBC SSV SSW SSZ T5K TAE TN5 WH7 WUQ XJT YNT ZMT ZY4 ~G- 9DU AATTM AAXKI AAYWO AAYXX ABDPE ABWVN ACLOT ACRPL ACVFH ADCNI ADNMO ADVLN AEIPS AEUPX AFJKZ AFPUW AGQPQ AIGII AIIUN AKBMS AKRWK AKYEP ANKPU APXCP CITATION EFKBS ~HD AFXIZ AGCQF AGRNS BNPGV IQODW SSH |
| ID | FETCH-LOGICAL-c327t-9bce88ca99e5c3c4844d1081c99d9aaa6cffa238facb64ae73ef28d0102198f93 |
| ISICitedReferencesCount | 63 |
| ISICitedReferencesURI | http://www.webofscience.com/api/gateway?GWVersion=2&SrcApp=Summon&SrcAuth=ProQuest&DestLinkType=CitingArticles&DestApp=WOS_CPL&KeyUT=000242872300004&url=https%3A%2F%2Fcvtisr.summon.serialssolutions.com%2F%23%21%2Fsearch%3Fho%3Df%26include.ft.matches%3Dt%26l%3Dnull%26q%3D |
| ISSN | 0304-3975 |
| IngestDate | Mon Jul 21 09:15:42 EDT 2025 Sat Nov 29 05:14:50 EST 2025 Tue Nov 18 22:24:35 EST 2025 Fri Feb 23 02:16:40 EST 2024 |
| IsDoiOpenAccess | true |
| IsOpenAccess | true |
| IsPeerReviewed | true |
| IsScholarly | true |
| Issue | 1 |
| Keywords | Specification of communication protocols Static type checking Session types Concurrent programming Functional language Data type Computer theory Semantics Transmission protocol Specification Safety |
| Language | English |
| License | http://www.elsevier.com/open-access/userlicense/1.0 https://www.elsevier.com/tdm/userlicense/1.0 https://www.elsevier.com/open-access/userlicense/1.0 CC BY 4.0 |
| LinkModel | OpenURL |
| MergedId | FETCHMERGED-LOGICAL-c327t-9bce88ca99e5c3c4844d1081c99d9aaa6cffa238facb64ae73ef28d0102198f93 |
| OpenAccessLink | https://dx.doi.org/10.1016/j.tcs.2006.06.028 |
| PageCount | 24 |
| ParticipantIDs | pascalfrancis_primary_18300789 crossref_citationtrail_10_1016_j_tcs_2006_06_028 crossref_primary_10_1016_j_tcs_2006_06_028 elsevier_sciencedirect_doi_10_1016_j_tcs_2006_06_028 |
| PublicationCentury | 2000 |
| PublicationDate | 2006-12-05 |
| PublicationDateYYYYMMDD | 2006-12-05 |
| PublicationDate_xml | – month: 12 year: 2006 text: 2006-12-05 day: 05 |
| PublicationDecade | 2000 |
| PublicationPlace | Amsterdam |
| PublicationPlace_xml | – name: Amsterdam |
| PublicationTitle | Theoretical computer science |
| PublicationYear | 2006 |
| Publisher | Elsevier B.V Elsevier |
| Publisher_xml | – name: Elsevier B.V – name: Elsevier |
| References | Neubauer, Thiemann (bib27) 2004; Vol. 3057 F. Curbera, Y. Goland, J. Klein, F. Leymann, S.T.D. Roller, S. Weerawarana, Business process execution language for web services, version 1.1, Technical Report, IBM, 2003. Sangiorgi, Walker (bib32) 2001 Jeffrey, Rathke (bib24) 2002 Vallecillo, Vasconcelos, Ravara (bib35) 2003; Vol. 68(3) Butler, Ferreira (bib5) 2003; Vol. 2890 Dezani-Ciancaglini, Yoshida, Ahern, Drossopolou (bib10) 2005; Vol. 3705 Gordon, Jeffrey (bib17) 2003; 300 Foster, Terauchi, Aiken (bib13) 2002; Vol. 37(5) Grossman, Morrisett, Jim, Hicks, Wang, Cheney (bib19) 2002; Vol. 37(5) S.J. Gay, A. Ravara, V.T. Vasconcelos, Session types for inter-process communication, Technical Report TR-2003-133, Department of Computing Science, University of Glasgow, March 2003. Fähndrich, DeLine (bib11) 2002; Vol. 37(5) Grossman (bib18) 2003; Vol. 38(3) Pierce (bib29) 2002 Honda, Vasconcelos, Kubo (bib21) 1998; Vol. 1381 Gay, Hole (bib15) 2005; 42 Gay, Hole (bib14) 1999; Vol. 1576 Milner (bib25) 1978; 17 Barendregt (bib1) 1984 Ferreira, Butler (bib12) 2003; Vol. 2651 Dezani-Ciancaglini, Mostrous, Yoshida, Drossopoulou (bib9) 2005 Milner, Parrow, Walker (bib26) 1992; 100 Bonelli, Compagnoni, Gunter (bib3) 2005; Vol. 138 Igarashi, Kobayashi (bib22) 2002 Bonelli, Compagnoni, Gunter (bib2) 2005; 15 Igarashi, Kobayashi (bib23) 2004; 311 Vasconcelos, Ravara, Gay (bib36) 2004; Vol. 3170 Walker (bib38) 2005 Butler, Ferreira (bib4) 2000; Vol. 1945 Walker, Crary, Morrisett (bib39) 2000; 22 N. Yoshida, V.T. Vasconcelos, Language primitives and type discipline for structured communication-based programming revisited, in: First Internat. Workshop on Security and Rewriting Techniques, Electronic Notes on Theoretical Computer Science, 2006, Extended version in Technical Report DI/FCUL TR-06-9, Department of Computer Science, University of Lisbon. A. Vallecillo, V.T. Vasconcelos, A. Ravara, Typing the behavior of software components using session types, Full version of A. Vallecillo, V.T. Vasconcelos, A. Ravara, Typing the behavior of objects and components using session types, in: Internat. Workshop on Foundations of Coordination Languages and Software Architectures, Electronic Notes in Theoretical Computer Science, Vol. 68(3), Elsevier, Amsterdam, 2003, Fund. Inform. 73 (4) (2006). Chaki, Rajamani, Rehof (bib6) 2002 Honda (bib20) 1993; Vol. 715 DeLine, Fähndrich (bib8) 2001; Vol. 36(5) Rajamani, Rehof (bib30) 2001; Vol. 2126 Reppy (bib31) 1991; Vol. 26(6) W3C, Web services choreography requirements, W3C Working Draft, 2004. Peyton Jones, Gordon, Finne (bib28) 1996 Takeuchi, Honda, Kubo (bib33) 1994; Vol. 817 Honda (10.1016/j.tcs.2006.06.028_bib20) 1993; Vol. 715 Honda (10.1016/j.tcs.2006.06.028_bib21) 1998; Vol. 1381 Peyton Jones (10.1016/j.tcs.2006.06.028_bib28) 1996 Sangiorgi (10.1016/j.tcs.2006.06.028_bib32) 2001 Walker (10.1016/j.tcs.2006.06.028_bib39) 2000; 22 10.1016/j.tcs.2006.06.028_bib37 10.1016/j.tcs.2006.06.028_bib16 Reppy (10.1016/j.tcs.2006.06.028_bib31) 1991; Vol. 26(6) Foster (10.1016/j.tcs.2006.06.028_bib13) 2002; Vol. 37(5) Grossman (10.1016/j.tcs.2006.06.028_bib18) 2003; Vol. 38(3) 10.1016/j.tcs.2006.06.028_bib34 Grossman (10.1016/j.tcs.2006.06.028_bib19) 2002; Vol. 37(5) Chaki (10.1016/j.tcs.2006.06.028_bib6) 2002 Milner (10.1016/j.tcs.2006.06.028_bib25) 1978; 17 Vasconcelos (10.1016/j.tcs.2006.06.028_bib36) 2004; Vol. 3170 Gay (10.1016/j.tcs.2006.06.028_bib14) 1999; Vol. 1576 Rajamani (10.1016/j.tcs.2006.06.028_bib30) 2001; Vol. 2126 Bonelli (10.1016/j.tcs.2006.06.028_bib3) 2005; Vol. 138 Dezani-Ciancaglini (10.1016/j.tcs.2006.06.028_bib10) 2005; Vol. 3705 Gordon (10.1016/j.tcs.2006.06.028_bib17) 2003; 300 Igarashi (10.1016/j.tcs.2006.06.028_bib22) 2002 Butler (10.1016/j.tcs.2006.06.028_bib5) 2003; Vol. 2890 DeLine (10.1016/j.tcs.2006.06.028_bib8) 2001; Vol. 36(5) Gay (10.1016/j.tcs.2006.06.028_bib15) 2005; 42 10.1016/j.tcs.2006.06.028_bib40 Barendregt (10.1016/j.tcs.2006.06.028_bib1) 1984 Dezani-Ciancaglini (10.1016/j.tcs.2006.06.028_bib9) 2005 10.1016/j.tcs.2006.06.028_bib7 Milner (10.1016/j.tcs.2006.06.028_bib26) 1992; 100 Pierce (10.1016/j.tcs.2006.06.028_bib29) 2002 Neubauer (10.1016/j.tcs.2006.06.028_bib27) 2004; Vol. 3057 Takeuchi (10.1016/j.tcs.2006.06.028_bib33) 1994; Vol. 817 Walker (10.1016/j.tcs.2006.06.028_bib38) 2005 Bonelli (10.1016/j.tcs.2006.06.028_bib2) 2005; 15 Jeffrey (10.1016/j.tcs.2006.06.028_bib24) 2002 Fähndrich (10.1016/j.tcs.2006.06.028_bib11) 2002; Vol. 37(5) Vallecillo (10.1016/j.tcs.2006.06.028_bib35) 2003; Vol. 68(3) Butler (10.1016/j.tcs.2006.06.028_bib4) 2000; Vol. 1945 Ferreira (10.1016/j.tcs.2006.06.028_bib12) 2003; Vol. 2651 Igarashi (10.1016/j.tcs.2006.06.028_bib23) 2004; 311 |
| References_xml | – volume: Vol. 37(5) start-page: 13 year: 2002 end-page: 24 ident: bib11 article-title: Adoption and focus: practical linear types for imperative programming publication-title: Conf. on Programming Language Design and Implementation, SIGPLAN Notices – year: 2002 ident: bib29 article-title: Types and Programming Languages – reference: W3C, Web services choreography requirements, W3C Working Draft, 2004. – volume: Vol. 3057 start-page: 56 year: 2004 end-page: 70 ident: bib27 article-title: An implementation of session types publication-title: Practical Aspects of Declarative Languages, Lecture Notes in Computer Science – year: 1984 ident: bib1 article-title: The Lambda Calculus: Its Syntax and Semantics – volume: 300 start-page: 379 year: 2003 end-page: 409 ident: bib17 article-title: Typing correspondence assertions for communication protocols publication-title: Theoret. Comput. Sci. – volume: Vol. 817 year: 1994 ident: bib33 article-title: An interaction-based language and its typing system publication-title: Parallel Architectures and Languages Europe, Lecture Notes in Computer Science – reference: A. Vallecillo, V.T. Vasconcelos, A. Ravara, Typing the behavior of software components using session types, Full version of A. Vallecillo, V.T. Vasconcelos, A. Ravara, Typing the behavior of objects and components using session types, in: Internat. Workshop on Foundations of Coordination Languages and Software Architectures, Electronic Notes in Theoretical Computer Science, Vol. 68(3), Elsevier, Amsterdam, 2003, Fund. Inform. 73 (4) (2006). – volume: 311 start-page: 121 year: 2004 end-page: 163 ident: bib23 article-title: A generic type system for the pi-calculus publication-title: Theoret. Comput. Sci. – volume: Vol. 715 start-page: 509 year: 1993 end-page: 523 ident: bib20 article-title: Types for dyadic interaction publication-title: Internat. Conf. on Concurrency Theory, Lecture Notes in Computer Science – volume: 22 start-page: 701 year: 2000 end-page: 771 ident: bib39 article-title: Typed memory management via static capabilities publication-title: Trans. Programming Languages Systems – volume: Vol. 138 start-page: 3 year: 2005 end-page: 22 ident: bib3 article-title: Typechecking safe process synchronization publication-title: Workshop on the Foundations of Global Ubiquitous Computing, Electronic Notes on Theoretical Computer Science – year: 2001 ident: bib32 article-title: The – volume: 17 start-page: 348 year: 1978 end-page: 375 ident: bib25 article-title: A theory of type polymorphism in programming publication-title: J. Comput. System Sci. – volume: Vol. 2126 start-page: 375 year: 2001 end-page: 394 ident: bib30 article-title: A behavioral module system for the pi-calculus publication-title: Internat. Symp. on Static Analysis, Lecture Notes in Computer Science – volume: Vol. 1945 start-page: 61 year: 2000 end-page: 76 ident: bib4 article-title: A process compensation language publication-title: Internat. Conf. on Integrated Formal Methods, Lecture Notes in Computer Science – reference: F. Curbera, Y. Goland, J. Klein, F. Leymann, S.T.D. Roller, S. Weerawarana, Business process execution language for web services, version 1.1, Technical Report, IBM, 2003. – volume: Vol. 26(6) start-page: 293 year: 1991 end-page: 305 ident: bib31 article-title: CML: a higher order concurrent language publication-title: Conf. on Programming Language Design and Implementation, SIGPLAN Notices – start-page: 101 year: 2002 end-page: 112 ident: bib24 article-title: A fully abstract may testing semantics for concurrent objects publication-title: Annu. Symp. on Logic in Computer Science – volume: Vol. 3170 start-page: 497 year: 2004 end-page: 511 ident: bib36 article-title: Session types for functional multithreading publication-title: Internat. Conf. on Concurrency Theory, Lecture Notes in Computer Science – reference: N. Yoshida, V.T. Vasconcelos, Language primitives and type discipline for structured communication-based programming revisited, in: First Internat. Workshop on Security and Rewriting Techniques, Electronic Notes on Theoretical Computer Science, 2006, Extended version in Technical Report DI/FCUL TR-06-9, Department of Computer Science, University of Lisbon. – volume: Vol. 38(3) start-page: 13 year: 2003 end-page: 25 ident: bib18 article-title: Type-safe multithreading in Cyclone publication-title: Workshop on Types in Language Design and Implementation, SIGPLAN Notices – start-page: 295 year: 1996 end-page: 308 ident: bib28 article-title: Concurrent Haskell publication-title: Symp. on Principles of Programming Languages – volume: Vol. 68(3) year: 2003 ident: bib35 article-title: Typing the behavior of objects and components using session types publication-title: Internat. Workshop on Foundations of Coordination Languages and Software Architectures, Electronic Notes in Theoretical Computer Science – volume: 15 start-page: 219 year: 2005 end-page: 247 ident: bib2 article-title: Correspondence assertions for process synchronization in concurrent communication publication-title: J. Functional Programming – start-page: 331 year: 2002 end-page: 342 ident: bib22 article-title: Resource usage analysis publication-title: Symp. on Principles of Programing Languages – year: 2005 ident: bib38 article-title: Substructural type systems publication-title: Advanced Topics in Types and Programming Languages – year: 2005 ident: bib9 article-title: Session types for object-oriented languages publication-title: Proc. of ECOOP’06, Lecture Notes in Computer Science – volume: Vol. 2651 start-page: 477 year: 2003 end-page: 496 ident: bib12 article-title: Using B refinement to analyse compensating business processes publication-title: ZB 2003: Formal Specification and Development in Z and B, Lecture Notes in Computer Science – volume: Vol. 37(5) start-page: 282 year: 2002 end-page: 293 ident: bib19 article-title: Region-based memory management in Cyclone publication-title: Conf. on Programming Language Design and Implementation, SIGPLAN Notices – volume: Vol. 1381 start-page: 122 year: 1998 end-page: 138 ident: bib21 article-title: Language primitives and type discipline for structured communication-based programming publication-title: European Symp. on Programming Languages and Systems, Lecture Notes in Computer Science – volume: Vol. 37(5) start-page: 1 year: 2002 end-page: 12 ident: bib13 article-title: Flow-sensitive type qualifiers publication-title: Conf. on Programming Language Design and Implementation, SIGPLAN Notices – volume: Vol. 2890 start-page: 207 year: 2003 end-page: 213 ident: bib5 article-title: Using SPIN and STeP to verify business processes specifications publication-title: Internat. Andrei Ershov Memorial Conference on Perspectives of System Informatics, Lecture Notes in Computer Science – volume: 100 start-page: 1 year: 1992 end-page: 77 ident: bib26 article-title: A calculus of mobile processes, I and II publication-title: Inform. and Comput. – start-page: 45 year: 2002 end-page: 57 ident: bib6 article-title: Types as models: model checking message-passing programs publication-title: Symp. on Principles of Programming Languages – volume: 42 start-page: 191 year: 2005 end-page: 225 ident: bib15 article-title: Subtyping for session types in the pi calculus publication-title: Acta Inform. – reference: S.J. Gay, A. Ravara, V.T. Vasconcelos, Session types for inter-process communication, Technical Report TR-2003-133, Department of Computing Science, University of Glasgow, March 2003. – volume: Vol. 36(5) start-page: 59 year: 2001 end-page: 69 ident: bib8 article-title: Enforcing high-level protocols in low-level software publication-title: Conf. on Programming Language Design and Implementation, SIGPLAN Notices – volume: Vol. 3705 year: 2005 ident: bib10 article-title: A distributed object-oriented language with session types publication-title: Proc. Symp. on Trustworthy Global Computing, Lecture Notes in Computer Science – volume: Vol. 1576 start-page: 74 year: 1999 end-page: 90 ident: bib14 article-title: Types and subtypes for client-server interactions publication-title: European Symp. on Programming Languages and Systems, Lecture Notes in Computer Science – volume: Vol. 715 start-page: 509 year: 1993 ident: 10.1016/j.tcs.2006.06.028_bib20 article-title: Types for dyadic interaction – year: 2005 ident: 10.1016/j.tcs.2006.06.028_bib9 article-title: Session types for object-oriented languages doi: 10.1007/11580850_16 – volume: Vol. 817 year: 1994 ident: 10.1016/j.tcs.2006.06.028_bib33 article-title: An interaction-based language and its typing system – volume: Vol. 2890 start-page: 207 year: 2003 ident: 10.1016/j.tcs.2006.06.028_bib5 article-title: Using SPIN and STeP to verify business processes specifications – ident: 10.1016/j.tcs.2006.06.028_bib16 – volume: Vol. 37(5) start-page: 282 year: 2002 ident: 10.1016/j.tcs.2006.06.028_bib19 article-title: Region-based memory management in Cyclone – volume: 311 start-page: 121 issue: 1–3 year: 2004 ident: 10.1016/j.tcs.2006.06.028_bib23 article-title: A generic type system for the pi-calculus publication-title: Theoret. Comput. Sci. doi: 10.1016/S0304-3975(03)00325-6 – volume: 15 start-page: 219 issue: 2 year: 2005 ident: 10.1016/j.tcs.2006.06.028_bib2 article-title: Correspondence assertions for process synchronization in concurrent communication publication-title: J. Functional Programming doi: 10.1017/S095679680400543X – volume: Vol. 2651 start-page: 477 year: 2003 ident: 10.1016/j.tcs.2006.06.028_bib12 article-title: Using B refinement to analyse compensating business processes – year: 2001 ident: 10.1016/j.tcs.2006.06.028_bib32 – volume: 300 start-page: 379 issue: 1–3 year: 2003 ident: 10.1016/j.tcs.2006.06.028_bib17 article-title: Typing correspondence assertions for communication protocols publication-title: Theoret. Comput. Sci. doi: 10.1016/S0304-3975(02)00333-X – volume: Vol. 36(5) start-page: 59 year: 2001 ident: 10.1016/j.tcs.2006.06.028_bib8 article-title: Enforcing high-level protocols in low-level software – start-page: 331 year: 2002 ident: 10.1016/j.tcs.2006.06.028_bib22 article-title: Resource usage analysis – ident: 10.1016/j.tcs.2006.06.028_bib34 – volume: Vol. 138 start-page: 3 year: 2005 ident: 10.1016/j.tcs.2006.06.028_bib3 article-title: Typechecking safe process synchronization – volume: Vol. 3057 start-page: 56 year: 2004 ident: 10.1016/j.tcs.2006.06.028_bib27 article-title: An implementation of session types – volume: Vol. 37(5) start-page: 1 year: 2002 ident: 10.1016/j.tcs.2006.06.028_bib13 article-title: Flow-sensitive type qualifiers – start-page: 101 year: 2002 ident: 10.1016/j.tcs.2006.06.028_bib24 article-title: A fully abstract may testing semantics for concurrent objects – volume: Vol. 38(3) start-page: 13 year: 2003 ident: 10.1016/j.tcs.2006.06.028_bib18 article-title: Type-safe multithreading in Cyclone – year: 1984 ident: 10.1016/j.tcs.2006.06.028_bib1 – volume: Vol. 68(3) year: 2003 ident: 10.1016/j.tcs.2006.06.028_bib35 article-title: Typing the behavior of objects and components using session types – year: 2005 ident: 10.1016/j.tcs.2006.06.028_bib38 article-title: Substructural type systems – ident: 10.1016/j.tcs.2006.06.028_bib40 – start-page: 45 year: 2002 ident: 10.1016/j.tcs.2006.06.028_bib6 article-title: Types as models: model checking message-passing programs – volume: Vol. 2126 start-page: 375 year: 2001 ident: 10.1016/j.tcs.2006.06.028_bib30 article-title: A behavioral module system for the pi-calculus – volume: Vol. 3705 year: 2005 ident: 10.1016/j.tcs.2006.06.028_bib10 article-title: A distributed object-oriented language with session types – volume: 100 start-page: 1 issue: 1 year: 1992 ident: 10.1016/j.tcs.2006.06.028_bib26 article-title: A calculus of mobile processes, I and II publication-title: Inform. and Comput. doi: 10.1016/0890-5401(92)90008-4 – year: 2002 ident: 10.1016/j.tcs.2006.06.028_bib29 – volume: Vol. 26(6) start-page: 293 year: 1991 ident: 10.1016/j.tcs.2006.06.028_bib31 article-title: CML: a higher order concurrent language – volume: Vol. 37(5) start-page: 13 year: 2002 ident: 10.1016/j.tcs.2006.06.028_bib11 article-title: Adoption and focus: practical linear types for imperative programming – volume: 42 start-page: 191 issue: 2–3 year: 2005 ident: 10.1016/j.tcs.2006.06.028_bib15 article-title: Subtyping for session types in the pi calculus publication-title: Acta Inform. doi: 10.1007/s00236-005-0177-z – volume: Vol. 1576 start-page: 74 year: 1999 ident: 10.1016/j.tcs.2006.06.028_bib14 article-title: Types and subtypes for client-server interactions – volume: 17 start-page: 348 year: 1978 ident: 10.1016/j.tcs.2006.06.028_bib25 article-title: A theory of type polymorphism in programming publication-title: J. Comput. System Sci. doi: 10.1016/0022-0000(78)90014-4 – volume: 22 start-page: 701 issue: 4 year: 2000 ident: 10.1016/j.tcs.2006.06.028_bib39 article-title: Typed memory management via static capabilities publication-title: Trans. Programming Languages Systems doi: 10.1145/363911.363923 – ident: 10.1016/j.tcs.2006.06.028_bib7 – start-page: 295 year: 1996 ident: 10.1016/j.tcs.2006.06.028_bib28 article-title: Concurrent Haskell – ident: 10.1016/j.tcs.2006.06.028_bib37 – volume: Vol. 3170 start-page: 497 year: 2004 ident: 10.1016/j.tcs.2006.06.028_bib36 article-title: Session types for functional multithreading – volume: Vol. 1381 start-page: 122 year: 1998 ident: 10.1016/j.tcs.2006.06.028_bib21 article-title: Language primitives and type discipline for structured communication-based programming – volume: Vol. 1945 start-page: 61 year: 2000 ident: 10.1016/j.tcs.2006.06.028_bib4 article-title: A process compensation language |
| SSID | ssj0000576 |
| Score | 2.125922 |
| Snippet | We define a language whose type system, incorporating session types, allows complex protocols to be specified by types and verified by static type checking. A... |
| SourceID | pascalfrancis crossref elsevier |
| SourceType | Index Database Enrichment Source Publisher |
| StartPage | 64 |
| SubjectTerms | Algorithmics. Computability. Computer arithmetics Applied sciences Computer science; control theory; systems Concurrent programming Exact sciences and technology Programming theory Session types Specification of communication protocols Static type checking Theoretical computing |
| Title | Type checking a multithreaded functional language with session types |
| URI | https://dx.doi.org/10.1016/j.tcs.2006.06.028 |
| Volume | 368 |
| WOSCitedRecordID | wos000242872300004&url=https%3A%2F%2Fcvtisr.summon.serialssolutions.com%2F%23%21%2Fsearch%3Fho%3Df%26include.ft.matches%3Dt%26l%3Dnull%26q%3D |
| hasFullText | 1 |
| inHoldings | 1 |
| isFullTextHit | |
| isPrint | |
| journalDatabaseRights | – providerCode: PRVESC databaseName: Elsevier SD Freedom Collection Journals 2021 customDbUrl: eissn: 1879-2294 dateEnd: 20180131 omitProxy: false ssIdentifier: ssj0000576 issn: 0304-3975 databaseCode: AIEXJ dateStart: 19950109 isFulltext: true titleUrlDefault: https://www.sciencedirect.com providerName: Elsevier |
| link | http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwtV1bb9MwFLag4wGEBgwQY2PyA0-goC0Xx36MSsdFo0OjVOUpch1bYkxptQS0n8-xfdykRQx4QIqiysql8vlyzufjcyHk-ZE2mgMxjmR1yCOg1DoSOmERkPFKqTksCFw5hulJPh7z2Ux8xJCgxrUTyOuaX12J5X8VNYyBsG3q7D-Ie_VQGIDfIHQ4g9jh_HeCt05VEIX65vIPfchgCyKTFZBLa8fQ_RdclRim7gt0OJ9s06esk16qo8IeEC_RcAZxTYtPw9PxcHRy6iIBp7JRiy78-k3xxTlZARZ1tw11VkyLswILGIBmWWw4IGwwR9Z5xdCE9xRXYndbhO-IErRswngfTpjz6LWmr2O-Zn9_0ezeyXD-qlUNbiHBgXnla1W0N6zbKuYQdJflQ-Im2YrzTPAB2SrejWbvO7ud5X5nG_992AN30YAbr_0di7m7hAmWF8Y3Rekxlcl9so1LDFp4aDwgN3S9Q-7hcoOiMm9gKHT0CGM75M6HVRXf5iF5baFEA5SopGtQoh2UaIAStVCiCCXqoPSIfD4eTYZvI-y6EakkzttIzJXmXEn4bDOVqJSnaXUExFEJUQkpJVPGSCB6Rqo5S6XOE21iXrke8YIbkTwmg3pR6yeEMq7hYdomL6cp0zFnOlU5z4xhKoelwi45DLNYKixJbzujXJQh9vC8hIm3rVJZaY-Y75IXq1uWvh7LdRenQTQlfheeKJaAqutuO1gTY_cihNDTP12wR253X8o-GbSX3_Uzckv9aL82lwcIvJ98FZ8e |
| linkProvider | Elsevier |
| openUrl | ctx_ver=Z39.88-2004&ctx_enc=info%3Aofi%2Fenc%3AUTF-8&rfr_id=info%3Asid%2Fsummon.serialssolutions.com&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=article&rft.atitle=Type+checking+a+multithreaded+functional+language+with+session+types&rft.jtitle=Theoretical+computer+science&rft.au=VASCONCELOS%2C+Vasco+T&rft.au=GAY%2C+Simon+J&rft.au=RAVARA%2C+Antonio&rft.date=2006-12-05&rft.pub=Elsevier&rft.issn=0304-3975&rft.volume=368&rft.issue=1-2&rft.spage=64&rft.epage=87&rft_id=info:doi/10.1016%2Fj.tcs.2006.06.028&rft.externalDBID=n%2Fa&rft.externalDocID=18300789 |
| thumbnail_l | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/lc.gif&issn=0304-3975&client=summon |
| thumbnail_m | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/mc.gif&issn=0304-3975&client=summon |
| thumbnail_s | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/sc.gif&issn=0304-3975&client=summon |