
| Zhong Shao, Yale University | Type-based Certifying Compilation | |
| Paolo Ciancarini, University of Bologna Franco Zambonelli, University of Modena & Reggio Emilia | Exploiting XML for Coordinable Document Agents | |
| Katherine Yelick, University of California at Berkeley | Optimization of Java-Like Languages for Parallel & Distributed Environments | |
| Ron K. Cytron, Washington University, St. Louis Chris D. Gill, Washington University, St. Louis | Real-Time Java | |
| Sheng Liang, Stratum8 | Java Technology for Mobile Wireless Devices |
Type-based certifying compilers are compilers that use static type information to help generate provably secure target code. Many modern programming languages (e.g., Java) have a strong type system: a program that passes typechecking will not ``go wrong'' at runtime. A conventional untyped compiler discards all the type information after typechecking. A type-preserving compiler, on the other hand, translates both the program and the type information into the intermediate and target languages.
This tutorial will give a gentle introduction to the area of typed intermediate languages and certifying compilation. We will describe the design of various intermediate representations and show how to use type information to certify advanced constructs such as unboxed data structures, array access without bounds-checking, runtime type dispatch, method invocation, and memory management. We will also examine several existing type-based compilers and discuss the impact of their design on their capabilities and performance. This tutorial is aimed for those interested in mobile code security, virtual machine design, proof-carrying code, and program validation.
Zhong Shao is an Associate Professor in the Department of Computer Science at Yale University. His research interests include compilers and programming languages, typed intermediate representations, secure mobile code, and formal methods. He is a key developer of the Standard ML of New Jersey (SML/NJ) compiler and an architect of the new, higher-order typed intermediate representation (named FLINT) now used in this compiler. He currently leads the Yale FLINT Project which is developing a principled common mobile-code infrastructure (i.e., certifying compiler and runtime environment) for advanced languages such as Java and ML. He received his Ph.D. in Computer Science from Princeton University in 1994.
The goal of the tutorial is to explore the main issues related to the use of active documents in the context of Internet applications and information systems, by specifically focusing on the issues of mobility and coordination, and by presenting the possible exploitations of XML for the definition of active documents and for the control of their coordination activities.
The first part of the tutorial presents the basic concepts and applications of active documents, explores the relations between mobile agents and active documents, shows that active documents (or "document agents") are a powerful paradigm for the development of Internet applications,and outlines the peculiar problems arising in the managing the coordination activities of complex applications based on mobile document agents. Then, the tutorial introduces the basic concepts related to coordination models and languages and shows that coordination models are powerful frameworks for simplifying the design and development of Internet applications based on mobile documents agents.
The second part of the tutorial focuses on XML technologies. In particular, by adopting a coordination model as a reference framework, the tutorial shows the possible exploitation of XML in the context of coordinated mobile document agents and surveys the approaches adopted in some relevant research and industrial project. The survey shows that XML can be exploited not only as a language for expressing the "passive" parts of document agents and for the interoperable exchange of data between them, but also as a language for expressing the "active" parts of document agents, as well as a language for the definition and the control of their coordination activities.
The tutorial will give attendees a quite complete overview of the state of the art in active documents and coordination models and languages, and will taught attendees how to exploit XML in this context.
No background knowledge is required to fruitfully attend the tutorial. A basic knowledge of XML and of Web technologies may help but it is not necessary.
A full outline of the tutorial is available here.
Franco Zambonelli is Associate Professor of Computer Science at the University of Modena and Reggio Emilia, Italy. He received his Laurea degree in Electronic Engineering in 1992 and his Ph.D. in Computer Science in 1997, both from the University of Bologna. His current research interests include: parallel and distributed programming, mobile agents, coordination models and infrastructures for the Internet. He is the coordinator of the Agentlink Special Interest Group on Software Engineering and Methodology for Agent Systems, and a member of ACM and IEEE.
The second part of the tutorial will look at runtime systems issues for parallel and distributed environments. These include the use of lightweight messaging or other communication models, and support for complex machines such as clusters of shared memory multiprocessors, and the problems with Java-style threading models. For example, despite the support for threads in Java, several projects in both distributed Operating Systems and in High Performance Scientific Computing avoid using Java threads directly. We will also describe performance issues related to the Java libraries, such as I/O libraries. Finally, we will describe some of the reliability problems that arise from problems of scale. Whether running applications on a distributed network of sensors or a million processor cluster, any practical programming system will have to provide support for dynamically handling hardware and software failures. We will describe some of the problems with conventional models of hiding faults within the low level hardware or software systems, and the need for better application-level support.
Chris D. Gill is a Research Associate at Washington University who joined the DOC group from Southwestern Bell. He has ported ACE to the pSoS real-time operating system and has implemented a strategized scheduling service for TAO. He is currently working on a middleware framework for dynamic and adaptive resource management in embedded and real-time distributed object computing systems. In addition to working as a full-time staff member, Chris is a doctoral candidate in the CS department at Washington University.