Uniqueness typing for resource management in message-passing concurrency

被引:2
作者
deVries, Edsko [1 ]
Francalanza, Adrian [2 ]
Hennessy, Matthew [3 ]
机构
[1] Dept Trinity Coll Dublin, Dublin 2, Ireland
[2] Univ Malta, Msd 2080, Malta
[3] Univ Dublin Trinity Coll, Dept Comp Sci, Dublin 2, Ireland
关键词
Message-passing concurrency; type systems; resource management; SYSTEM;
D O I
10.1093/logcom/exs022
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
We view channels as the main form of resources in a message-passing programming paradigm. These channels need to be carefully managed in settings where resources are scarce. To study this problem, we extend the pi-calculus with primitives for channel allocation and deallocation and allow channels to be reused to communicate values of different types. Inevitably, the added expressiveness increases the possibilities for runtime errors. We define a substructural type system, which combines uniqueness typing and affine typing to reject these ill-behaved programs.
引用
收藏
页码:531 / 556
页数:26
相关论文
共 30 条
[1]  
Achten Peter, 1995, J FUNCT PROGRAM, V5, P81
[2]   A step-indexed model of substructural state [J].
Ahmed, A ;
Fluet, M ;
Morrisett, G .
ACM SIGPLAN NOTICES, 2005, 40 (09) :78-91
[3]  
Armstrong J., 2007, Programming Erlang: Software for a Concurrent World, V1st
[4]  
Baillot P., 2010, P 12 INT ACM SIGPLAN, P219, DOI [10.1145/1836089.1836118, DOI 10.1145/1836089.1836118]
[5]  
Barendsen E., 1996, Mathematical Structures in Computer Science, V6, P579
[6]  
Bornat R., POPL 05 P 32 ACM SIG, P259
[7]  
Boyland J, 2003, LECT NOTES COMPUT SC, V2694, P55
[8]  
Clarke Dave., 2003, ECOOP 2003, P59
[9]  
Degen M, 2007, LECT NOTES COMPUT SC, V4609, P550
[10]  
DEVRIES E, 2008, THESIS TRINITY COLL