############################################################ Seminar Announcement School of Computer Science, CECS The Australian National University ############################################################ Date: Thursday, 09 April 2009 Time: 4:00 pm to 5:00 pm Venue: Room N101, CSIT Building [108] Speaker: Tony Hosking, Computer Science Dept., Purdue University Title: Pervasive Virtualisation of Java Classes with Application to Transparent Distribution Abstract: The transformation of large, off-the-shelf Java applications to support complex new functionality essentially requires generation of an entirely new application that retains the execution semantics of the original. I will describe our framework for whole-program transformation of Java applications to support transparent distribution. Our transformations rely on pervasive virtualisation of field access and method invocation. Allowing the interposition of arbitrary code on object access permits straightforward representation of remote references, persistent object identifiers, object migration and storage (whether on disk or across the network), and arbitrary per-instance instrumentation. Yet transformations that introduce the new virtualised object model are complicated for Java by the presence of code that cannot be rewritten to conform to the new object model, whether because it is native, or nominally implementation-dependent and tightly integrated with the Java VM implementation. These constraints lead us to a framework for classifying Java classes systematically so that all instances can be virtualized, though some may need to retain their original representation for manipulation by unmodifiable code. We also discuss the proxy-based object model that allows remote Java objects to be referenced in the same way as those residing on the current virtual machine, the optimizations that allow us to bypass proxies in the case of purely local or remote objects, and the mechanisms needed to guarantee that static data remain unique in a distributed system. We then detail some of the more interesting features involved when implementing this object model in rewritten bytecode, including trans- formations required within method bodies and coordination between bytecode and the run-time system that distributes an application across the network. Biography: Tony Hosking is an Associate Professor of Computer Science at Purdue University in the USA, though he happily identifies himself as an Aussie and is currently on sabbatical leave as a Visiting Fellow at the ANU. His interests focus on the design and implementation of clean run-time programming abstractions, including object-orientation, persistence, distribution, automatic memory management ("garbage collection"), and transactional memory, along with the systems that support them including languages, compilers, optimisations, run-time systems, operating systems, and hardware support. URL: http://cs.anu.edu.au/lib/seminars/seminars09/dept20090409 ############################################################ Seminars homepage: http://cs.anu.edu.au/seminars/ If you like to give a seminar please contact: seminars-owner [at] cs.anu.edu.au ############################################################