Faculty Search Colloquium: Language Tools for Distributed Computing and Program Generation
|Author:||Yannis Smaragdakis Georgia Institute of Technology|
|Date:||March 09, 2006|
|Time:||8:45 - Please note special morning time|
This talk first examines distributed computing from a software engineering standpoint, and subsequently uses the distributed programming domain to motivate program generation: a 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 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.
If we take the task of simplifying distributed programming to its extreme, we encounter systems that allow unsuspecting programs to execute in a distributed environment. Typically such systems use program generation extensively. We present our J-Orchestra system for automatically enabling Java programs to execute in a distributed setting. We then discuss the impact that the J-Orchestra program transformation approach has had on a large open-source project (JBoss).
Yannis Smaragdakis received his Ph.D. from the University of Texas at Austin and since 2000 he has been an Assistant Professor at the College of Computing of Georgia Tech. His interests are on the systems and languages side of software engineering. More information on his work can be found at: www.cc.gatech.edu/~yannis/.