Conference proceeding
Pause 'n' play: formalizing asynchronous C#
Proceedings of the 26th European conference on Object-Oriented Programming, v 7313, pp 233-257
11 Jun 2012
Abstract
Writing applications that connect to external services and yet remain responsive and resource conscious is a difficult task. With the rise of web programming this has become a common problem. The solution lies in using asynchronous operations that separate issuing a request from waiting for its completion. However, doing so in common object-oriented languages is difficult and error prone. Asynchronous operations rely on callbacks, forcing the programmer to cede control. This inversion of control-flow impedes the use of structured control constructs, the staple of sequential code. In this paper, we describe the language support for asynchronous programming in the upcoming version of C$^\sharp$. The feature enables asynchronous programming using structured control constructs. Our main contribution is a precise mathematical description that is abstract (avoiding descriptions of compiler-generated state machines) and yet sufficiently concrete to allow important implementation properties to be identified and proved correct.
Metrics
Details
- Title
- Pause 'n' play
- Creators
- Gavin Bierman - Microsoft ResearchClaudio Russo - Microsoft ResearchGeoffrey Mainland - Microsoft ResearchErik Meijer - MicrosoftMads Torgersen - Microsoft
- Contributors
- James Noble (Editor) - Victoria University of Wellington
- Publication Details
- Proceedings of the 26th European conference on Object-Oriented Programming, v 7313, pp 233-257
- Series
- ACM Other Conferences
- Publisher
- Springer-Verlag
- Resource Type
- Conference proceeding
- Language
- English
- Academic Unit
- Computer Science (Computing)
- Web of Science ID
- WOS:000371250200012
- Scopus ID
- 2-s2.0-84879697611
- Other Identifier
- 991021868721704721
InCites Highlights
Data related to this publication, from InCites Benchmarking & Analytics tool:
- Collaboration types
- Industry collaboration
- Domestic collaboration
- International collaboration
- Web of Science research areas
- Computer Science, Hardware & Architecture
- Computer Science, Software Engineering
- Computer Science, Theory & Methods
- Logic