Home

About

Advanced Search

Browse by Discipline

Scientific Societies

E-print Alerts

Add E-prints

E-print Network
FAQHELPSITE MAPCONTACT US


  Advanced Search  

 
A MODEL OF COOPERATIVE THREADS MARTIN ABADI AND GORDON D. PLOTKIN
 

Summary: A MODEL OF COOPERATIVE THREADS
MART´IN ABADI AND GORDON D. PLOTKIN
Microsoft Research, Silicon Valley; University of California, Santa Cruz
e-mail address: abadi@microsoft.com
Microsoft Research, Silicon Valley; LFCS, University of Edinburgh
e-mail address: gdp@inf.ed.ac.uk
Abstract. We develop a model of concurrent imperative programming with threads. We
focus on a small imperative language with cooperative threads which execute without inter-
ruption until they terminate or explicitly yield control. We define and study a trace-based
denotational semantics for this language; this semantics is fully abstract but mathemat-
ically elementary. We also give an equational theory for the computational effects that
underlie the language, including thread spawning. We then analyze threads in terms of
the free algebra monad for this theory.
1. Introduction
In the realm of sequential programming, semantics, whether operational or denota-
tional, provides a rich understanding of programming constructs and languages, and serves
a broad range of purposes. These include, for instance, the study of verification techniques
and the reconciliation of effects with functional programming via monads. With notorious
difficulties, these two styles of semantics have been explored for concurrent programming,
and, by now, a substantial body of work provides various semantic accounts of concurrency.

  

Source: Abadi, Martín - Department of Computer Science, University of California at Santa Cruz
Plotkin, Gordon - School of Informatics, University of Edinburgh

 

Collections: Computer Technologies and Information Sciences