Abstract
We present ParTypes, a type discipline for parallel programs. The model we have in mind comprises a fixed number of processes running in parallel and communicating via collective operations or point-to-point synchronous message exchanges. A type describes a protocol to be followed by each processes in a given program. We present the type theory, a core imperative programming language and its operational semantics, and prove that type checking is decidable (up to decidability of semantic entailment) and that well-typed programs do not deadlock and always terminate. The article is accompanied by a large number of examples drawn from the literature on parallel programming.
Originalsprog | Engelsk |
---|---|
Artikelnummer | 26 |
Tidsskrift | ACM Transactions on Programming Languages and Systems |
Vol/bind | 44 |
Udgave nummer | 4 |
Antal sider | 55 |
ISSN | 0164-0925 |
DOI | |
Status | Udgivet - 2022 |
Bibliografisk note
Funding Information:This work was supported by FCT through project Advanced Type Systems for Multicore Programming (PTDC/EIA-CCO/122547) and the LASIGE Research Unit (UID/CEC/00408/2019), EC Cost Action EUTypes (CA15123), EPSRC (EPSRC (EP/T006544/1, EP/K011715/1, EP/K034413/1, EP/L00058X/1, EP/N027833/1, EP/N028201/1, EP/T006544/1, EP/T014709/1, EP/V000462/1, and EP/X015955/1), NCSS/EPSRC VeTSS, the Innovation Fund Denmark project EcoKnow.org (7050-00034A), and the European Union Marie Sklodowska-Curie grant agreement BehAPI (778233).
Publisher Copyright:
© 2022 Copyright held by the owner/author(s).