------------------------------------------------------------------------------- B O S T O N U N I V E R S I T Y Computer Science Department C O L L O Q U I U M Wednesday November 3, 1993 3:00pm (Tea served at 2:30pm) Seminar Room / MCS 135 ------------------------------------------------------------------------------- Types in Distributed, Object-Oriented Systems Andrew P. Black Cambridge Research Lab Digital Equipment Corporation The concepts of type and object are deeply affected by distribution. As a distributed program runs, it will encounter objects created at remote nodes and by other compilers. In order to interact with such objects in safety, we must adopt a notion of object that is strongly encapsulated, and a notion of type that is independent of the compilation environment. This talk provides an informal but rigorous introduction to types for object-oriented systems, and to the fundamental distinction between object- and value-orientation. The talk aims to make accessible to practitioners some of the fruits of recent theoretical work on types and subtyping. Programmers, language designers and compiler writers have much to gain from a deeper understanding of the tools of their trade; in particular, they need to know which problems are solved (to avoid solving them again) and which problems are not (so that they can be avoided). Based on the speaker's experiences with the design, implementation and modeling of the Emerald programming language, this talk will attempt to shed light on issues like: . What makes an object different from a value . What types are, and why they are good for you . Why contravariance isn't an unnatural act . What subtyping is, and the problems it solves . What the type of nil is, and whether it has one . Problems not solved by subtyping Keywords: object-oriented programming, static type checking, subtyping, conformity, extensibility, distributed programming. ------------------------------------------------------------------------------- For more information contact Prof. Azer Bestavros -------------------------------------------------------------------------------