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...

Celý popis

Uložené v:
Podrobná bibliografia
Vydané v:Theoretical computer science Ročník 368; číslo 1; s. 64 - 87
Hlavní autori: Vasconcelos, Vasco T., Gay, Simon J., Ravara, António
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