Derick Wood first taught me about finite-state machines and regular expressions. Together we developed a system called Grail for symbolic computation over regular languages. Grail is included in the Algorithm Design Manual. Grail is being continued and extended by other researchers, including at the University of Prince Edward Island.

Ted Leslie, Derick and I worked on generating random automata and efficient approaches to subset construction.

Sheng Yu, Derick and I hosted the First International Workshop on Implementing Automata at the University of Western Ontario in 1996.


I have an interest in database modeling and non-traditional uses of dependency theory.

Text databases such as dictionaries include both discrete and amorphous entities and relationships.

The concept of a partial-order database introduces order into the (set-based) relational model, enabling databases to capture ordered information such as temporal data, dependencies, inheritance hierarchies, software structure, and other partially ordered data.

Dependency theory turns out to be useful for capturing certain kinds of software designs and also for describing authorization constraints.

Jeff Davey and I presented long standing issues in data modelling for product data management systems at the 2003 DAMA conference.


Frank Tompa introduced me to hypertext by loaning me his copy of Ted Nelson's Literary Machines. The project to computerize the Oxford English Dictionary (the original "web") taught us several important lessons about hypertext.

Frank, Elizabeth Blake and I suggested the destination of links could be determined by the context of the application invoking them.


In 1989 Lector introduced the concept that marked up text was a tool for software integration.

The use of markup integrated with source code and markup-based browsers for looking at source code was novel in 1991.

I participated in the Monist's 1995 online discussion of theory and metatheory in the development of text encoding.

My differencing tool for tagged text, tdiff, is being used by Jeffery Triggs for his Enfolded Bible and Enfolded Wordsworth Prelude.

Frank Tompa and I described the characteristics of markup as a structuring tool. Along with Derick Wood, we also showed how markup might be made to model data rather than simply represent it.


Intuitively, requirements gathering means asking users what they want. But it is not always the case that users understand why they want what they want.

Certain kinds of requirements, such as those for managing authorization of a system, are difficult to collect and assure.

Agile software development processes do not generally produce classical requirements, but it is possible to deduce requirements from the software artifacts.


Heather Fawcett and I showed the importance of context in search results when doing full text searching.

My Hunter search engine is being used by Jeffery Triggs at Global Language Resources on projects such as HamletWorks and Jamieson's Etymological Dictionary of the Scottish Language.


My interest in UI began in the days of videotex, when UI meant little more than the design of the system's menus. I compiled a survey of reseach on computer menus. Eric Lee and I worked on an expanded version of this survey, published in the Encyclopedia of Microcomputers.

Lector pointed the way from simple menus to the modern Web page, and also introduced the notion that a user interface could be specified as a marked-up text.

What constitutes visualization? I suggested that syntactic and semantic density were the main characteristics of visual languages. Graphically rendered statistics about texts, possessing both kinds of density, can be used as ways to query those texts.

Database dependency theory teaches us interesting things about the design of user interfaces.

Over the years I have been privileged to work with Frank Safayeni and his students, and to assist them with software for their experiments. Alberto Canas devised elegant experiments to test the utility of spatial organization of data on computer screens, well before windowed systems were generally available. Unni Astad demonstrated the relative benefits of gestalt-based versus feature-based mug shot systems. Syed Sohail Javaad investigated bankers' perceptions of financial inclusion, and showed that incorrect perceptions of financial inclusion were correlated with technology strategies that would tend not to support improvement of financial inclusion. Ponle Salu investigated the use of failure model effects analysis to deduce requirements from agile software artifacts.