Here are some of the past, current, or future projects. Most of these projects are industry related though some of them were sponsored as research at the University of Illinois. My involvement with these projects ranged from simple programming to that of architecture, design and implementation. I was involved with project management in over half of the following projects.
- AbdoExam – An Interactive Graphical and Textual Abdominal Examination Record System developed as a prototype to research ways to assist the physician during their examination. The design and implementation used object-oriented and hypertext techniques.
- Medigate – The MEDIGATE System (Medical Examination Direct Iconic and Graphic Augmented Text Entry System) is a computer enhanced interactive graphic and textual record of the findings from physical examination designed to provide ease of user input and to support organization and processing of the data characterizing these findings. The design of this system employees an object-oriented approach through the direct manipulation of graphical objects integrated with hypertext and semantic networking technologies to build a system that is more natural to the user.
- Medistat – MEDISTAT is designed to record and help interpret laboratory results, more specifically pathology results. The application incorporates graphical pattern matching along with some primitive diagnostic capabilities. Object-oriented design and implementation and hypertext techniques is used throughout to provide for easy ways to build the diagnostic application to the needs of individual users.
- Ragged Edge Health Risk Appraisal – This video game for junior-high or high-school health education classes was mentioned by the Wall Street Journal on June 21, 1989. It is a real-time non-prescriptive health education video game which demonstrates (but does not preach) the effects of health behavior choices on undesirable outcomes such as mortality, disfigurement, or even the loss of a driver’s license.
- Aids Health Risk Appraisal – The AIDS/HIV Health Risk Appraisal is a confidential interactive risk communication computer program designed to answer: “What is the probability that I have ever been exposed to HIV, and do I need a blood test?” and “What is the probability that I have been exposed to HIV in the last year, and how do I reduce that probability in the next year?”
- Blood Bank Analysis Tool – The Blood Bank Analysis System is a computer-based decision support tool for blood banks and the blood banking industry to assist in estimation of the medical, economic, legal and policy consequences of current vs. alternative screening test sequences for human immunodeficiency virus (HIV) and for hepatitis markers in donated blood. This system was designed and implementation using object-oriented techniques and languages and was deployed on Windows.
- Tractor Information System – The project was originally conceived as design and implementation of an information system for managing a number of tractor specifications stored in a relational database. The system operates in a distributed environment and is based on client-server architecture. It provides a collaborative environment where engineers can interactively share in the design of new specifications of the tractors. This project was developed as an extension to the following Wheel Loader Information environment and incorporated object-oriented design and implementation, specifically Smalltalk to provide for the needed dynamic behavior.
- Wheel Loader Information System – We have developed a large scale X-window program which accesses a relational database system for keeping track of the specifications of equipment for Caterpillar. A metadata environment was created for generating the UIMX, Oracle, and C code that was then compiled based upon the descriptive metadata. This allowed for major changes to the code. A new table could be added to the specification database without writing and debugging tons of code since all you had to do was update the metadata describing the mapping into the real database and re-generate the application. The primary limitation was that it could not be done at run-time and compile time was starting to become very lengthy. During the technology transfer phase, Smalltalk was chosen as the language to allow for a more dynamic generation of the GUIs and the mappings to the database.
- Scenario Planning Tool – Scenario Planning is being researched as a potential tool to assist decision makers in being prepared for upcoming events. A scenario is a story of what might happen; possible elements are world trade, oil/commodity prices, political/economic stability, productivity. This project was developed using ParcPlace VisualWorks and GemStone.
- Financial Modeling Framework – I’ve been working on a fairly large financial modeling project with Caterpillar. Our main result (from the point of view of Object-Oriented Solutions) is a framework for financial modeling. It lets you quickly build applications that examine financial data stored in a relational database and produces profit and loss statements, balance sheets, detailed analysis of departments, sales regions, and business lines, with the ability to drill down until you hit individual transactions. MetaData is used extensively for storing your business rules in a database.
- Web Research – I have been involved with the development and project management of a few different web tools while working at the National Center for Supercomputing Applications. These applications have ranged from simple web-applications running CGI scripts interacting with databases etc, to actual web-based frameworks that provide support for building a set of web-based applications that are usually built by using an web-based interface. Some of these systems used MetaData to either store the business rules or GUI descriptions.
- Innoverse – Innoverse is a black-box framework for telecommunications billing developed by ClearSystems. Innoverse makes it possible to quickly produce billing systems for all kinds of telecom service including cellular, PCS, local number portability, conventional local and long distance, and Immarsat satellite services. It is developed under ParcPlace Smalltalk and is integrated with Versant. It was developed using the ENVY environment. MetaData was used extensively for storing the rules in such a manner that a new application could be built with much less effort than normally.
- Packaging Tool – The Packaging Tool is a VisualWorks Smalltalk class library that provides structures for constructing and configuring software packages as basic components of applications. When building an image for either a run-time application or a development environment, patches, extra utilities, commercial add-ons, and modules for the application need to be filed in. These code segments often make use of classes and methods not in the base VisualWorks image. To ensure that all the code is filed in the right order, dependencies between the code pieces need to be established. This can be accomplished by grouping the code segments into packages and setting up dependencies between the packages. Building a customized image then just requires specifying which packages are desired. The Packaging Tool provides a simple interface for specifying which packages are needed with any dependencies (on other packages) they may have.
- Newborn Screening – This is a project by the Illinois Department of Public Health to provide a computerized system to help support the screening of new borns. There are a few genetic diseases that if observed in the very early years of the life of a baby, they can be treated and the individual can live a normal life. This is an object-oriented system that is being developed in VisualAge Smalltalk. Work is being done for developing Enterprise objects that can be used as the building blocks for quite a few other projects.
- Immunization – This is a project by the Illinois Department of Public Health to provide a computerized system to help support the followup on immunization of individuals. This is an object-oriented system that is being developed in VisualAge Smalltalk. Work is being done for developing Enterprise objects that can be used as the building blocks for quite a few other projects.
- Extending Classic Blend – Classic Blend supports mapping Smalltalk objects to JAVA objects for creating WEB based applications. Custom widgets extensions in Classic Blend can be difficult to extend and this class project describes what needs to be done to extend widgets and includes source code for an extension to the model-view-controller part of Smalltalk. This project was over seen and spear headed by myself and the work was done by some graduate students participating in Ralph Johnson’s Object-Oriented Programming and Design class.