A Object-Oriented Implementation of a Chemical Waste Consolidation Expert System
Return to front page
1. Background and Rationale
2. Interface Design
3. System Design
4. Evaluation and Results
5. Future Work
Bibliography and References
Appendix A. Example Drum Report
Appendix B. Chemical Compatibility Testing Data
5. Future Work
It should be noted that the similar functionality of the ChemBook, BottleBook and DrumBookclasses lend themselves to development of a general BookList class from which all three could be derived through inheritance. The BottleBook and DrumBook classes are nearly identical in that they have one linked list of ingredients and one linked list of structures. The inherited classes would reduce the size of the class files by consolidating all the linked list operations into the super or parent class. The children classes would have a very small number of utilities to build specific functionalities and would be very streamlined. This would add elegance to the software from a programming standpoint but would not increase system performance; additionally, it may reduce the readability of the code. The data structures could be revised slightly.TransportData and DrumData structures are almost identical and could be combined into a more standard object.
A more accurate method of calculating health toxicity should be developed. It was not critical for the calculation of the flammability, reactivity or acidity, so less attention was given to this aspect compared to the crucial areas. The weighted average does not give a true representation of the toxicity of the complete mixture. For example, an aqueous tincture of benzene would result in a low health rating due to the calculation of the weighted average, whereas the actual mixture would be considered carcinogenic enough to rate a high health rating.
Currently, the method of calculation of flammability uses the NFPA numbers. These are a crude tool, often giving an accuracy of only 50 degrees Fahrenheit on mixture flash point [NFPA 2007]. This accuracy could be dramatically improved by using Raoult’s law of partial pressures [Henley 1981], but this method of employment has many intricate programming problems to resolve. A more thorough methodology of pricing would help improve automation of the final assessment of the bill. The vague nature of EOG waste classification and therefore cost of the drums has posed problems for exact drum pricing. Presence of minute amounts of certain chemicals can alter the waste type classification for the entire drum and change a $150 drum into a $325 drum. The current EOG invoice for the waste consolidation on February 19, 2007 is Appendix C. The consolidated items are the four listed drums in the Bulk Liquids section.
The vagueness of the waste pricing impedes one aspect of future development. Currently, the software calculates the percent of each drum generated by a particular person or laboratory. If more reliable pricing information was available, the software could be used to generate reports giving exact pricing for each waste generator.
Implementation of the software in Visual C++ is still a cosmetic goal. Command line entry and monochrome textual entry is not the modern commercial fare; most users are more comfortable using clickable buttons as opposed to typing the letter of a menu option. Using visual forms would speed the input of information for the chemical and bottle libraries. Flashy icons of bottles draining into representative transparent bubbling drums and dial gauges for the changing levels would be a visually appealing aspect of the software but would not increase functionality. It is expected to have a usability benefit, but the magnitude of the improvement is speculative.
Visual additions would also enhance the generated reports. The program could produce pie charts for the waste generators in each drum. The use of pop-up screens would allow the user to examine multiple reports simultaneously.