Paul Robertson
Home Publications Links Resume


Massachusetts Institute of Technology
32 Vassar Street, 32-272
Cambridge, MA 02139
+1 (617) 253-5807


paulr"at" or paul"at"


Paul Robertson is a Research Scientist at MIT CSAIL.

Research Interests

Paul is interested in the computational study of intelligence and in the tools and languages that support such study.  Paul's main approach to the study of intelligence is through the study of computer vision. 

Computer Vision

Vision is one of evolution's most amazing inventions.  Vision spans the spectrum of computational tasks from low-level (early) vision in which features are identified in the image delivered from the retina to the high-level reasoning that is (thought to be) involved in the understanding of the images.  The study of computer vision is attractive for a number of reasons:

  1. Since many animals including humans have (natural) vision systems we are provided with examples from nature.  We can measure what vision can and cannot do and to some extent, especially for low-level vision, we can study the natural implementation of the visual process (by collaborating with the related natural sciences of neurophysiology, psycho-physics, and psychology).
  2. The processing of visual information in the human brain accounts for a significant proportion of the brain mass.  The high level processes necessary to interpret images seem to involve most of the features that we attribute to intelligence.
  3. Intelligent artificial vision systems will undoubtedly have numerous practical uses.  Already vision systems are used commercially for certain manufacturing tasks.   The opportunities for computer vision in the interpretation of medical images are immense and much work is already underway in understanding mammograms, ultrasound heart images, and functional MRI images of the brain (to name just a few examples).  Automatic surveillance at close hand with CCTV cameras or from space via satellite images offers huge opportunities to automate what today is a laborious manual process.  Today only a tiny fraction of the images collected by CCTV cameras or from spy satellites is ever looked at because the human cost is too high.  By automating the interpretation process we could make the world a safer place.

Paul implemented (for his doctoral thesis) a self-adaptive aerial image interpretation system that interprets multi-spectral satellite images

Self-Adaptive Software

A self-adaptive system is a system that continually (at runtime) monitors its success in achieving its intended goal.  When the system is found to be doing poorly the systems modifies itself in an attempt to do better at its assigned task.  A self-adaptive system presupposes that there are multiple ways of achieving the same task and that in some contexts one method may be better suited than another.  Natural intelligent systems exhibit incredible robustness by having redundant systems that can deal with the many different situations that the  system may find itself in.  Self-adaptation therefore is an exciting opportunity to study an important aspect of intelligence. Since self-adaptive systems must reason about their computational state it is a great benefit if the system is reflective.  Paul has developed a self-adaptive architecture called GRAVA for image understanding.

Reflective Systems

A reflective system is one that contains an embedded representation of the system's semantics which is causally connected to the operation of the system.  If the representation is read-only the system supports introspection.  If the representation can be modified, replaced, or specialized the system supports runtime modification of its semantics.  By changing the semantic representation the semantics of the system also changed (by virtue of the causal connection between the semantic account and the operation of the system).  Reflective systems permit the programmer to write programs that reason about the computational state of the program and to modify the computation by changing the semantic account. Reflection can be implemented in a variety of ways but most reflective systems use variants of the reflective tower of interpreters developed by Brian Smith or the Meta-Object Protocol (MOP) approach popularized in CLOS.  Paul has designed and implemented a reflective language called Yolambda.

Advanced Computer Languages

The computational study of intelligence has historically often involved the development of tools and languages in support of that pursuit. Paul has developed an implementation of the Ada language that can support dynamic and static analysis in support of an intelligent tutoring system for Ada. Paul has developed four expert system languages: OPSAda3, a forward chaining expert system language based on and implemented in the Ada Language; OPS5+, a PC based implementation of the OPS5 language; Prodigy, a PC based backward chaining language similar to M1; and DOIT a forward chaining expert system language that can compile into C++. Paul implemented one of the first full 32 bit implementations of Lisp for the PC. Paul designed and implemented an emulator for the Symbolics' Ivory architecture that formed the basis of the Virtual Lisp Machine product.

This page was last updated on 07/13/04.