A Short History of the OpenChem Workbench

In 1999, Tom McKinnon of the Colorado School of Mines (CSM) applied for funding from the Department of Energy's Office of Industrial Technology (DOE/OIT) to develop an integrated suite of tools for chemical engineers and chemists. The application included a consortium of researchers and companies, including Adapco, Ltd., Blue Star Sustainable Technologies, DuPont, ExxonMobil, Gaussian, Inc., Peter Linstrom at NIST, Mitsubishi Chemical Co., Mark Nimlos at NREL, George Petersson at Wesleyan University, Reaction Design, and Hai Wang at the University of Delware, DOE/OIT funded the proposal at about $1.5M over three years and work began under the title "Computational Chemistry and Reaction Engineering Workbench".

In June, 2000, McKinnon hired Glenn Murray as the project's technical manager just in time for the first face-to-face meeting of the participants at NIST in Gaithersburg, MD. Two Ph.D. candidates, Devin Hodgson and Zhiwei Zhang, were also added to the team in spring of 2000. These three developers and several part-time CSM undergraduates, including Pablo Guzman, Brian Scroggs, and Dan Ward, wrote the code for the workbench over the next three years. In that time a database schema, several XML formats, and approximately 120,000 lines of code were written. In addition, Mark Nimlos wrote the Help system.

The design of the user interface was and is a difficult problem; at weekly meetings the team, led by Tom McKinnon's vision of what the Workbench should be, struggled hard to develop a usable yet sophisticated interface. Jon Filley, a chemist at the Colorado School of Mines, joined the team in 2003 to assist in testing and design issues. Equally difficult was and is the problem of persistence: storing data for retrieval later. These two problems, UI and persistence, came to characterize the entire project.

In summer and fall 2000 Tom and Glenn chose a three-tier, muli-client architecture implemented in Java. The persistence and transaction layer is loosely modelled on the Sun Microsystems' J2EE specification, using George Reese's lightweight persistence library ("Database Programming with JDBC and Java", 2nd ed., O'Reilly).

In 2001, Devin designed the "hexapus" image of the GUI and DB hub with the application "spokes" to symbolize the Workbench goal of providing an easy-to-use interface to many applications, with storage of results beneath.

The 2001 face-to-face meeting revealed that industrial partners, at the time, were not much interested in a multi-client tool, which led to concentration on developing a stand-alone desktop application. However, the Workbench is still essentially a three-tier application underneath and can be run on separate computers. Work began on several tools including the molecule builder and group additivity. Also during this time we began work on open XML standards for representing molecules, reactions, and mechanisms.

The team implemented the trees and modular design in 2002. The tools available to Workbench users are coded as pluggable modules. Many modules (including Chemkin) and ease-of-use features were added in 2002 as development really hit its stride.

In the spring of 2003 the entire source directory tree was revamped to reflect the modular, three-tier architecture. We decided that the diffulty in getting interested parties to agree on a standard XML formats for molecules and reactions was not worth the effort and we would concentrate on data exchange between Workbench users.

In the summer of 2003 the code was released under the GNU General Public License (GPL) with the name "OpenChem Workbench" at www.sourceforge.net. The copyright is retained by openchemworkbench.org, and commercial versions are also available.

The end of summer, 2003, marked the end of the DOE/OIT funding and the graduation of Devin and Zhiwei.

Glenn Murray $Date: 2003/09/18 16:41:21 $