uOttawa
some dots list of dots

Tim Lethbridge's PhD Research: Practical Techniques for Organizing and Measuring Knowledge

After working at BNR for two years I started studying at the University of Ottawa in 1989.

I had originally intended to continue studying computer animation (the subject of my master's thesis, however while taking a graduate course in expert systems from Doug Skuce I became interested in artificial intelligence. I liked the "Conceptually Oriented Design Environment" (CODE) Skuce was developing.

For my thesis, I expanded on Doug's original ideas substantially, eventually developing CODE4, the fourth in a series of CODE systems. Abstracts and on-line versions are available of some papers I have written about my PhD work. Also, the entire thesis is available.

To see my pedigree of PhD advisors (which includes Vanenvar Bush the originator of the idea of hypertext), you can look at the Mathematics Genealogy Project, or the AI Genealogy Project

CODE4 was written in Smalltalk, and its development substantially increased my knowledge of object-oriented techniques. I programmed a large part of the system myself, but was assisted by talented people such as Danny Epstein and Ken Iisaka. Some insights of my PhD research are as follows:

  • Sophisticated artificial-intelligence based knowledge representation techniques can be used by non-computer scientists. What is required is to develop a good user interface.

  • Hypertext and browsing technology can be combined in useful ways. In CODE4 d, we extended the idea of the browser, as pioneered in the Smalltalk environment, in the following ways:

    1. Arbitrary hierarchies of browsers can be created.
    2. Each browser can contain data, or an arbitrary graph of items.
    3. The items selected in higher nodes in the browser hierarchy determine what is displayed in lower nodes.
    4. Groups of browsers can be maintained in a common window, or can be placed in separate windows.
    5. Graphs of elements can be shown in a two-dimensional 'graphical' form, an 'indented list' or 'outline' form or even in a matrix form in some cases. These ways of laying out items can be interchanged, (i.e. the format of a browser does not affect the browser's function within the browser hierarchy).
    6. In the outline form, intentation indicates relationships and repeated items are shown followed by an ellipsis.
    7. In the graphical form, the layout of items can be determined by either a system algorithm or by the user. One or more layouts can be saved.
    8. The relationships between items in a graph are as important as the items themselves, and in fact are considered first-class items.
    9. Consistently, several items may be selected in a graph. There is zero or one master selection and zero or more secondary selections. These selections are used when operations are to be performed on the items.
    10. A context-sensitive collection of operations on items is available. In particular, some operations will open other browsers, or jump to other browsers in a hypertext-like fashon.
    11. In each graph, the format of items is variable: Items can be highlighted based on various search criteria. Also, the information listed about each item can be changed dynamically.
    12. Items or groups of items in the graph can be selectively hidden. When items are hidden, placeholders may or may not be shown, allowing the items to be located or redisplayed.

  • Certain interesting types of concept (used uniformly to represent knowledge) are the following:

    1. Properties: These are the things you can say about a concept. They are arranged in a hierarchy (i.e. you can say general things and more specific things).
    2. Statements: These represent the specific posession of a property by a concept.
    3. Metaconcepts: These are concepts of concepts.
    4. Symbols: These are what people or machines use to refer to concepts; each concept can have zero or more symbols, and each symbol can represent zero or more concepts.
    5. Terms: These are the specific relationship between a symbol and a concept..

  • Metrics can be developed for knowledge bases, just like metrics for software. In particular, there are several ways to measure the complexity of a knowledge base.

My PhD research has seen significant practical usage. In the early days, I worked on a contract with BNR, wherein version 2 of the CODE system was actively used to model software. Then I was involved in a consulting contract with Boeing Aircraft Corporation who extended CODE4 and built it into some of their internal products. CODE4 has also been used by numerous graduate students and professors, and copies have been sold to other researchers (in commercial and university environments). I continued to use CODE4 from 1995-2002 in research I performed with Mitel corporation. As of 2008 I consider the actual software system of CODE4 to be obsolete, since the VM won't run on current operating systems. Many of the ideas embedded in it remain, however, state-of-the-art

I successfully defended my PhD thesis on November 11, 1994. Since 1994, I have been teaching at the University of Ottawa on a full-time basis.

[Back to my main biography page]