Program Generation and Programming Models for Distributed Computing
Yannis Smaragdakis (University of Oregon)
March 6, 2008
10:00 a.m. - SENSQ 5317
Refreshments at 9:30 a.m.
Hosted by
Abstract
This talk first examines distributed computing from a languages/software engineering standpoint, and subsequently uses the distributed programming domain to motivate program generation: general and powerful approach to automating programming tasks.
We begin with a simple-to-state but important problem: how to define middleware that allows the programmer to think of a distributed application largely as a centralized one, while maintaining efficiency and expressiveness. Our NRMI middleware facility is the first to support call-by-copy-restore semantics for arbitrary pointer-based data, letting the programmer think of a remote procedure call much like a local one in many useful cases. We show that NRMI is significantly easier to use than traditional RPC middleware, yet maintains efficiency and full programmer control.
We then discuss the use of program generation techniques in the distributed computing domain. We briefly present our J-Orchestra system for automatically enabling Java programs to execute in a distributed setting. The transformations used in J-Orchestra have motivated recent general-purpose programming language work ("morphing" in the MJ language) and have inspired similar transformations with significant impact in a large open-source project (JBoss).
Biography of speaker
Yannis Smaragdakis is an Associate Professor at the University of Oregon. His interests are in the areas of applied programming languages and software engineering. He got his B.S. degree from the University of Crete (Greece) and his Ph.D. from the University of Texas at Austin. He is a recipient of an NSF Career award, and "best paper" awards at ASE'07, ISSTA'06, GPCE'04, and USENIX'99.





