Laserfiche WebLink
CRDSS <br />TASK MEMORANDUM 1.05-9 <br />Study of System Integration Issues <br />DMI - Utility Structure and Scenario Handling <br />1.0 ISSUE <br />A data management interface (DMI) utility will be used to retrieve data from the CRDSS database <br />and translate that data into model-specific input (with scenario management). In addition, DMIs will <br />be used in general-purpose utilities, such as data browsers. This memorandum describes the <br />structure of DMI utility programs and presents preliminary ideas on scenario management (which is <br />a Year 2 task). <br />The general options available for developing a DMI utility are described in Task Memorandum <br />1.05-8, which describes how data is accessed from the CRDSS database. <br />2.0 DISCUSSION/ANALYSIS <br />The specific features of a DMI utility will be determined by evaluating which data are to be <br />transferred to a model-usable form. Because of this dependence on models, the DMI design will be <br />finalized when the models are selected by the State at the end of Phase I. However, because some <br />general tools will be developed for CRDSS (see Task Memoranda 1.05-16, 1.05-17, and 1.05-18), <br />consideration of the design of common components of DMIs is presented herein. <br />Basic DMI Features <br />DMIs will be implemented as C program utilities that read from the database and create model input <br />as flat files (refer to Task Memorandum 1.05-8). Initially, each DMI utility will not have a GUI, <br />and will only transfer data from the database to flat files. Later, each DMI utility will have a GUI <br />that provides basic options for creating scenario data for a model. (See Task Memorandum 1.05-22 <br />for a discussion of software evolution.) The basic functionality of a DMI utility is illustrated in <br />Figure 1. In this figure, the master copy of data exists in the CRDSS database, as indicated at the left <br />side of the figure. Stand-alone models require data to be in flat files in a format the model will <br />understand (right side of figure). The DMI utility will perform the translation and will allow the user <br />to change the data as they are being transferred from the database to the model format. A DMI <br />utility consists of three main components, including calls to low-level DMI routines, high-level <br />control routines, and output routines. Data will be read from the database using the low-level DMI <br />library. Data will be displayed to the user using the display forms discussed in Task Memoranda <br />1.05-15, 1.05-16, 1.05-17, and 1.05-18. Data will be written in the appropriate model format using <br />output routines specific to the model. These output routines will also be in a library (perhaps the <br />low-level DMI library, but most likely in a model-specific library). High-level routines will control <br />how data is read, displayed, and output. For example, high-level routines will control the types of <br />data that are requested from the database, and will control the order that data is read. <br />To run a model, the user would first run a DMI utility to create the flat file data for the model, and <br />would then run the model using that data. Data creation may only need to be performed periodically, <br />1 <br />A275 05.10.94 1.05-9 Malers <br />