Compilation techniques and interactive programming environments for distributed-memory and shared-memory multiprocessors, performance prediction, compilation techniques for OO languages such as Java, compiler support for power and energy management, and programming models and optimizations for networks of embedded systems.