Join Diesel: Concurrency Primitives for Diesel

by
Peter-Michael Osera

Diesel is an object-oriented programming language that features an extensible object model, multiple dispatch, and a constraint-based static typechecking system. However, with all of these advanced features, Diesel implements concurrency with a traditional thread-lock model found in it's standard library. The focus of our research has been exploring alternative, non-standard, concurrency primitives and examining how they intergrate with the advanced object-oriented features of Diesel.

Our exploration has led us to integrate the Join Calculus, an experimental programming model for distributed programming, into the Diesel programming language. In this talk, I describe the design decisions and trade-offs in creating Join Diesel. I also give an extended typechecking algorithm for function calls and method declarations in Join Diesel that preserve the strong typechecking guarentees of Diesel but remain flexible in the face of the Join Calculus extensions.

Advised by Craig Chambers

CSE 403
Wednesday
January 25, 2006
3:30 - 4:20 pm