The 2014 AOSD conference keynote speeches gave some genuinely helpful insights into the development of AOSD — one from the world of language engineering, the other from the heart of runtime research.
Wednesday, April 23 · 9–10 amSeparation Of Concerns In Language Definition
Eelco Visser
Department of Computer Science · TU Delft, NetherlandsProf. Eelco Visser holds a Master's degree (1993) and a Ph.D. (1997) in computer science from the University of Amsterdam.
Abstract. Appropriately applying linguistic abstraction to evolving domains of computation requires the ability to develop programming languages swiftly. Software languages, however, are complex systems demanding significant effort in design and implementation. An investigation into the separation of concerns in language definition is currently ongoing — to be used as the single source for producing quality language implementations.
The speech reported the progress made in this direction through a demonstration of language definition using the Spoofax Language Workbench.
Thursday, April 24Graal And Truffle: Modularity And Separation Of Concerns As Cornerstones For Building A Multipurpose Runtime
Thomas Würthinger
Senior research manager · Oracle Labs, SwitzerlandThomas Würthinger heads the Graal compiler OpenJDK project and is the architect of the Truffle self-optimizing runtime system. He formerly worked at Google and with Sun Microsystems.
Abstract. It remains an illusion that multi-language runtimes provide instantaneous high performance across many programming languages. While industrial-strength executed languages were developed with a focus on a single language, other languages can compile to another format — the bytecode format of the managed runtimes. The problem: the performance properties of those bytecode-generation methods are always found wanting compared with runtimes built for specific languages.
The solution to this problem is to give a guest language a different approach to interfacing with the host's runtime. The host compiler obtains optimized machine code through partial evaluation of the guest-language interpreter.
Truffle, the guest-language runtime framework, is implemented atop the HotSpot virtual machine and the Graal compiler.