Here are major projects on which I have worked. Some of them were corporate undertakings (both for products and research) and some were academic efforts (my own research and contributions to the research of others). The projects are presented below in reverse chronological order.
XGP: Macintosh Integrated Development Environment for GNU Prolog
XGP is an open source Macintosh-based environment for editing and running GNU Prolog programs that supports user interface and graphics programming using Cocoa and Objective-C. I started this project with the port of GProlog to Mac OS X in 2001. The XGP implementation started in 2002 and is continuing. The project home page is here.
A paper on the development of XGP was presented at MacHack20/ADHOC2005: "XGP: From UNIX Command Line to Mac IDE"
Discovery Suite for Exploratory Data Analysis
Research and development for Digital Archaeology Corporation. I was one of the lead designers of the "Discovery Suite" (later referred to as the setflow system). It is an analytic database platform with a unique visual data-flow programming language that is set-based. This system is particularly useful for exploring large collections of data from a variety of sources. The setflow language supports metaprogramming and recursion, and evaluation is highly parallel. I worked on this project from 1996 to 2005.
Brief corporate history:
Digital Archaeology Corporation no longer exists. It was bought by Delano Technology Corporation, which was bought by "divine, inc.". divine went bankrupt and the setflow intellectual property (IP) was transferred to Hedron corporation. Merant bought the IP for setflow and hired the principal developers (Michael Forster, Douglas Dickerson, and myself). Serena Software bought Merant and eventually shut down the setflow project, laying off Forster and myself. The setflow project remains in limbo as of November, 2005.SPARCL: Visual Logic Programming Based on Sets With Partitioning Constraints
PhD Dissertation, 1996. The SPARCL project is presented here. Related papers by myself and Dr. Allen Ambler include:
SPARCL: A Logic Programming Language Built on Sets
Using 3D Tubes to Solve the Intersecting Lines Problem
A Visual Logic Programming Language Based on Sets with Partitioning Constraints
FORMULATE: A Forms-based VisualProgramming Language.
While working on my PhD, I was research Assistant to Dr. Allen Ambler from 1993 through 1995.
Formulate was a visual programming language on which Dr. Ambler had been working for several years. Earlier incarnations were known as FORMS.
FELIX: Automated Reasoning with Situation Theory: A Novel Approach to Perception and Belief
Masters Thesis completed in 1992. FELIX is a theorem prover which handles the formalization of situation theory developed as part of this research project.
Program Understanding: Automated Inference of High Level Specifications from IBM COBOL Source
Research for Language Technology Inc (LTI) from 1985 through 1988. The basic scheme of this project was to process the COBOL into successively more abstract representations, each of which preserved the essential semantics of the original program. The penultimate representation was an acyclic dataflow graph (ADG), with special iterating production and consumption nodes. This ADG was then analyzed using a graph grammar formalism to find instantiations of high level patterns. (LTI no longer exists. It was bought by Knowledgeware, which was bought by Sterling Software, which was purchased in turn by Computer Associates.)
Data Management Services for the Multics Operating System
Design and implementation at Honeywell Information System's Cambridge Information Systems Laboratory, Cambridge, MA. 1981-1985. This project extended the Multics Operating System to provide services on "top" of which a relational database management system (MRDS) was re-implemented. These services included transaction management,rollback and recovery, and record, index, and relation management. The Multics Operating System was "capped" in 1985 by Honeywell (i.e. they stopped active development of the system). Honeywell later sold its entire Information Systems division.