ColloquiaTTI-C Talk by Zhong Shao on 2/5/03
Meridel Trimble
mtrimble at tti-c.org
Mon Jan 27 09:42:08 CST 2003
---------------------------------------------------------------
TOYOTA TECHNOLOGICAL INSTITUTE - TALK
---------------------------------------------------------------
Date: Wednesday, February 5th, 2003
Time: 2:30 p.m.
Place: Ryerson Hall 251
Speaker: Zhong Shao, Yale University
Title: Towards a Principled Multi-Language Infrastructure
-------------------------------------
Abstract:
Component software platforms, such as Microsoft's .NET Common Language
Runtime (CLR), provide a secure virtual machine in which components
developed independently can smoothly interoperate. CLR supports
flexible interoperation by compiling various source languages into a
common intermediate language and by using a unified type system.
However, the type system in CLR (and Java VM) enforces only
conventional type safety in an object-oriented system. Therefore,
higher-level specifications (e.g., resource bounds, generalized access
control, formal software protocols) cannot be enforced. Because
conventional type systems are too inflexible for real applications,
developers often bypass the type system, producing code that steps
outside the managed part of the VM; such components cannot be verified.
At Yale we have been developing typed common intermediate languages
(named FLINT) that can support safely not only the standard
object-oriented model, but also higher-order generic (polymorphic)
programming and Java-style reflection (introspection). Unlike CLR, our
type system is independent of any particular programming model, yet it
is capable of expressing all valid propositions and proofs in
higher-order predicate logic (so it can be used to capture and verify
advanced program properties). The rich type system of FLINT makes it
possible to typecheck both compiler intermediate code and low level
machine code; this allows typechecking to take place at any phase of
compilation, even after optimizations and register allocation. It also
leads to a smaller and more extensible VM because low-level native
routines that would otherwise be in VM can now be verified and moved
into a certified library. This talk describes our vision of the FLINT
system, outline our approach to its design, and survey the technologies
that can be brought to support its implementation.
--------------------------------------------------
*The talk will be followed by refreshments in Ryerson 255*
If you would like to meet with the speaker, please send e-mail to Meridel
Trimble: mtrimble at tti-c.org
More information about the Colloquium
mailing list