The idea of this project is to build a tool for integrating legacy decision support systems (DSS) into a larger system. The science of the project is to evaluate the effectiveness of policy decisions on non-point source pollution (e.g.,organic fertilizer runoff from fields). Policy decisions are evaluated by simulating the watershed at the field level.
My part in all this is designing and helping to build a communications system and a control module. The communications system provides the infrastructure for passing data and commands around a distributed system of DSS modules, the control module, a user interface, and GIS applications. We are using Concordia, a Java mobile agent system, to implement the transport of data and commands.
The control module is a mini-distributed language and expert system. The language allows a DSS integrator to specify his data input requirements and data outputs in terms of datatypes and variables. Variables can be associated with module inputs, module outputs, database operations, and GIS operations. The control module variables are the glue that bind the legacy DSS's.
A simple scripting language allows DSS integrators to tune their programs. They can write scripts to automatically run the DSS multiple times with different inputs.
When the tool is in use, the control module's expert system reasons about the order of module execution based on the user's input goal (e.g., reduce phosphorus runoff by 20%) and the data needs and outputs of the various modules.
See Assessment Tool for Evaluation of Agricultural NPS Pollution Control Policies in Watersheds for more details. Figure 2 of that document shows the system architecture.
Project Status: We currently have a working prototype that includes two DSS systems, the Control Module, Database Module, and a web-based User Interface Module. Both the scripting language and Dabster, the expert system, are working. Plans for the summer of 2001 are to improve the sability of the code, rewrite the Module Integration Tool (MIT), and to integrate the remaining three DSS systems.
Web pages captured from a sample run can be seen here.
I participated in the development of WhizQuiz, a web-based testing system. My contributions were more tactical than strategical.
This package is in use at Virginia Tech in several departments. We have a few off-campus users.
I developed part of a user interface for the PLMS system. Specifically, I developed a map drawing program that allows the user to draw field boundaries over a GIS ortho image. The system also supports drawing field boundaries first and then aligning them to an ortho layer. The implementation used the ESRI ActiveX component MapObjects embedded in a J++ application. Many of MapObjects functions do not work in this environment, so I had to implement many of the features using the Microsoft Graphics class.
See these screen captures for images of the graphics component I wrote and the wider application to which it belongs.
The output of this system was compared to a manual method. The annealing method performed better in regard to meeting farm resource requirements; however, the manual method did better at assgining contiguous fields. When the manual method was rated using the annealer's energy functions, the annealer had a much better overall score.
We are convinced that this approach is viable; however, more work needs to be done on the energy functions. See "Generating Farm Descriptions in a Watershed from Incomplete Data Using Simulated Annealing," Stone, N.D., Cline, B.E., and Pease, J.W. 2001. Pages 756-767 In D.J. Bosch (ed.) Proceedings of the Integrated Decision-Making for Watershed Management Symposium: Processes and Tools. Virginia Water Resources and Research Center, Blacksburg, Virginia. P72001.