2006
DOI: 10.1145/1218063.1217953
|View full text |Cite
|
Sign up to set email alerts
|

Language support for fast and reliable message-based communication in singularity OS

Abstract: Message-based communication offers the potential benefits of providing stronger specification and cleaner separation between components. Compared with shared-memory interactions, message passing has the potential disadvantages of more expensive data exchange (no direct sharing) and more complicated programming.In this paper we report on the language, verification, and run-time system features that make messages practical as the sole means of communication between processes in the Singularity operating system. … Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1

Citation Types

0
180
0

Year Published

2010
2010
2015
2015

Publication Types

Select...
8
1

Relationship

0
9

Authors

Journals

citations
Cited by 112 publications
(180 citation statements)
references
References 32 publications
0
180
0
Order By: Relevance
“…Both SmallfootRG and Chalice could encode our contracts and switch receive constructs, but this encoding, as well as being tedious, would be incomplete for non-deterministic contracts. SessionJ [5] and Sing# [4] are realistic programming languages that rely on contracts. The Sing# compiler uses a static analyzer to check some restricted form of copyless message-passing, but seemingly does not support ownership transfer of recursive data structures.…”
Section: Related Work and Conclusionmentioning
confidence: 99%
“…Both SmallfootRG and Chalice could encode our contracts and switch receive constructs, but this encoding, as well as being tedious, would be incomplete for non-deterministic contracts. SessionJ [5] and Sing# [4] are realistic programming languages that rely on contracts. The Sing# compiler uses a static analyzer to check some restricted form of copyless message-passing, but seemingly does not support ownership transfer of recursive data structures.…”
Section: Related Work and Conclusionmentioning
confidence: 99%
“…Session types focus on ensuring fidelity in systems where (single-threaded) protocols are carried out between two parties, such as, e.g., a client and a server. Session types are by now widely adopted as the basis of pragmatic typing disciplines, targeting operating system design [5], middleware communication protocols [16] and distributed object-oriented programming [7], just to mention a few. Session types have also been generalised so as to consider multiparty interactions [3,10].…”
Section: Introductionmentioning
confidence: 99%
“…Language-based support for sessions is the subject of active research [2,3,4,7,10,14,15]. Several of these works focus on developing type systems which statically ensure compliance to session specifications.…”
Section: Sessions For Distributed Programmingmentioning
confidence: 99%
“…Beyond simple abstractions for communications, distributed applications can often be structured as parties that exchange messages according to some fixed, prearranged patterns, called sessions (also named contracts, or workflows, or protocols). Sessions simplify distributed programming by specifying the behaviour of each network entity, or role: the parties can then resolve most of the programming complexity upfront.Language-based support for sessions is the subject of active research [2,3,4,7,10,14,15]. Several of these works focus on developing type systems which statically ensure compliance to session specifications.…”
mentioning
confidence: 99%