2012
DOI: 10.1093/logcom/exs022
|View full text |Cite
|
Sign up to set email alerts
|

Uniqueness typing for resource management in message-passing concurrency

Abstract: 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 a… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
12
0

Year Published

2012
2012
2024
2024

Publication Types

Select...
4
1

Relationship

0
5

Authors

Journals

citations
Cited by 6 publications
(12 citation statements)
references
References 20 publications
0
12
0
Order By: Relevance
“…. .. Resource-centric type disciplines such as [12,40] preclude name matching for a particular resource once all the permissions to use that resource have been used up; this feature is essential to statically reason about a number of basic design patterns for reuse. For such type settings, it turns out that the client implementations C 2 and C ′ 2 exhibit the same behaviour because the return channel used by both clients for both server interactions is private, i.e., unknown to the respective servers; as a result, the servers cannot answer the service on that channel before it is receives it on either srv 1 or srv 2 .…”
Section: Main Challengesmentioning
confidence: 99%
See 4 more Smart Citations
“…. .. Resource-centric type disciplines such as [12,40] preclude name matching for a particular resource once all the permissions to use that resource have been used up; this feature is essential to statically reason about a number of basic design patterns for reuse. For such type settings, it turns out that the client implementations C 2 and C ′ 2 exhibit the same behaviour because the return channel used by both clients for both server interactions is private, i.e., unknown to the respective servers; as a result, the servers cannot answer the service on that channel before it is receives it on either srv 1 or srv 2 .…”
Section: Main Challengesmentioning
confidence: 99%
“…In [12] we developed a substructural type system based around a type attribute describing channel uniqueness, and this was used to statically ensure safe computations for Rπ. In this work, we weave this type information into our framework, imbuing it with an operational permissionsemantics to reason compositionally about the costed behaviour of (safe) processes.…”
Section: Main Challengesmentioning
confidence: 99%
See 3 more Smart Citations