2017
DOI: 10.4204/eptcs.238.7
|View full text |Cite
|
Sign up to set email alerts
|

Non-Blocking Concurrent Imperative Programming with Session Types

Abstract: Concurrent C0 is an imperative programming language in the C family with session-typed messagepassing concurrency. The previously proposed semantics implements asynchronous (non-blocking) output; we extend it here with non-blocking input. A key idea is to postpone message reception as much as possible by interpreting receive commands as a request for a message. We implemented our ideas as a translation from a blocking intermediate language to a non-blocking language. Finally, we evaluated our techniques with s… Show more

Help me understand this report
View preprint versions

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1

Citation Types

0
4
0

Year Published

2018
2018
2021
2021

Publication Types

Select...
2
2

Relationship

2
2

Authors

Journals

citations
Cited by 4 publications
(4 citation statements)
references
References 14 publications
(17 reference statements)
0
4
0
Order By: Relevance
“…Like previous work, our semantics is a substructural operational semantics [41] based on multiset rewriting [17] and asynchronous communication [40]. It can be seen as a combination of an asynchronous version of a recently introduced synchronous session-type semantics [9] with the cost tracking semantics of Concurrent C0 [42]. The technical advantage of our semantics is that it avoids the complex operational artifacts of Silva et al [42] such as message buffers: processes and messages can be typed with exactly the same typing rules, changing only the cost metric.…”
Section: Cost Semanticsmentioning
confidence: 99%
“…Like previous work, our semantics is a substructural operational semantics [41] based on multiset rewriting [17] and asynchronous communication [40]. It can be seen as a combination of an asynchronous version of a recently introduced synchronous session-type semantics [9] with the cost tracking semantics of Concurrent C0 [42]. The technical advantage of our semantics is that it avoids the complex operational artifacts of Silva et al [42] such as message buffers: processes and messages can be typed with exactly the same typing rules, changing only the cost metric.…”
Section: Cost Semanticsmentioning
confidence: 99%
“…This, combined with the subsequent encodings of fixed-points [37], can be seen as the semantic foundation for the works extending the web-based programming language Links with session types [19,20,38]. We further note the addition of session-based concurrency to the language C0 [69,77], drawing upon the semantic foundation provided by the encodings for the intuitionistic setting [70,73].…”
Section: Related Workmentioning
confidence: 99%
“…eir work is complemented by an expressive dynamic veri cation framework in real-time distributed systems [124], which I do not consider. Semantics counting communication costs for work and span in session-typed programs were given by Silva et al [146], but no techniques for analyzing them were provided.…”
Section: Related Workmentioning
confidence: 99%