Documentation for the Module Editor | |
Title Page Legal Notice Table of Contents Introduction Requirements Design Quality Assurance and Testing |
Design of the FRAMES Module EditorThe FRAMES Module Editor is designed to function through the FRAMES user interface. Modules are recognized by FRAMES through a file that describes the module according to a certain format. All information about a module is stored in an ASCII file with a .MOD file extension. When the Module Editor changes information about a module, it is actually manipulating the module's .MOD file. Note that in previous versions of FRAMES, a module's description file was saved with a .DES file extension. The .DES file had a special syntax to follow to create a module's description file. However, modules in FRAMES 2.0 use a different file format. Like all other data in FRAMES 2.0, module data are stored in a dataset. Although the previous module description files (.DES files) contained much of the same information as the new description files (.MOD files), the new files have a completely different format from the old files. Therefore, .DES files and .MOD files are incompatible with each other. This section describes the file format in more detail as well as how the design of the Module Editor accomodates connecting modules within the system, adding and deleting a module from FRAMES, and making modules available via an online server. Formatting a Module Description FileA module's description file (.MOD file) describes a module's capability to work within FRAMES 2.0. The file contains a variety of information fields categorized by executable information, reference information, contact information, online information, requirement information, and connection-scheme information.
Executable information includes the following:
If the module is an online module, then three additional fields are required:
Reference information includes the following:
Company information includes the following:
Developer information includes the following:
Requirement information includes the following:
Connecting a Module in the SystemTo connect a module into FRAMES requires the user to add a User Interface Dictionary and create a scheme of produced and consumed datasets. User Interface DictionaryThe UI Dictionary is used solely by a module for consumption and production. It is categorized as a model input dictionary, private to a particular module. This is in contrast to scheme dictionaries (see below), which can only use boundary-condition dictionaries that are accessible to all modules for consumption and production. To add a UI Dictionary to FRAMES, the user opens the Module Editor and selects a module's connection scheme from an available tree. Clicking on the "UI Dictionary" button opens a form with available module input dictionaries. The user selects a dictionary and clicks the "Add Dictionary" button. The UI Dictionary will appear in the text field near the "UI Dictionary" button. SchemesIn FRAMES 2.0, modules define their data dependencies and capabilities by creating schemes. A scheme describes which dictionaries the module's executable needs to run and which dictionaries the executable will then produce. Because dictionaries are just meta-data, schemes actually specify which type of dataset a module expects to consume or produce. A module can have multiple schemes. Each scheme informs the system of a specific set of connections the executable is capable of handling. If Module A attempts to connect to Module B's produced dictionaries and does not have a connection scheme that includes Module B, Module A will not run. To add a scheme, the user opens the Module Editor and selects connection-scheme information about the module in the display. Clicking on the "Add Scheme" button opens an input box, where the user can provide the name for the new scheme. After confirmation, the Module Editor adds the new scheme to the available list. To delete a scheme, the user opens the Module Editor and selects connection-scheme information about the module in the display. The user then highlights the scheme to be deleted and clicks on the "Delete Scheme" button. After confirmation, the Module Editor removes the scheme from the available list. Consuming DictionariesAccording to its scheme, a module can consume or produce boundary-condition dictionaries from or for other modules, respectively. Modules may also consume UI Dictionaries specific to that module. To add a consuming dictionary, the user opens the Module Editor and selects a scheme for the module of interest. The selection causes four lists to appear. The upper two are for consuming dictionaries and the lower two are for producing dictionaries. The upper and lower lists on the left contain all available dictionaries the scheme can add. The upper and lower lists on the right contain all the dictionaries already added to the scheme. The user chooses a consuming dictionary from the available list and clicks on the ">>" button between the two upper lists. This adds a new consuming dictionary to the list in FRAMES. To delete a consuming dictionary, the user opens the Module Editor and selects a scheme for the module of interest. The selection causes the same four lists to appear as noted above. The user chooses a consuming dictionary from the list of those already added to the scheme and clicks on the "<<" button between the two upper lists. This deletes the consuming dictionary. Producing DictionariesA module may produce a boundary-condition dictionary for use by other modules. To add a producing dictionary, the user opens the Module Editor and selects a scheme for the module of interest. The selection causes the same four lists to appear as mentioned in the previous section. The user chooses a dictionary from the list of available producing dictionaries and clicks the ">>" button between the two lower lists. This adds a new producing dictionary to the list in FRAMES. To delete a consuming dictionary, the user opens the Module Editor and selects a scheme for the module of interest. The selection causes the same four lists to appear as in the previous section. The user chooses a dictionary from the list of producing dictionaries already in the system and clicks the "<<" button between the two lower lists. This removes the producing dictionary from the list of those available. Adding a ModuleThere are two methods for adding modules into the FDE, the main interface of FRAMES. The first method creates an entirely new module; the second method opens an existing module that has not yet been added to the list in FRAMES. In both cases, the FDE uses system files to store the module information. To create a new module, the user selects the class of module, choosing from "System," "Database," "Viewer," or "Model," then clicks a button called "New Module." When the Open File form appears, the user selects a location and enters a filename that does not already exist. After confirmation, a message box notifies the user that the file does not exist and asks whether the file should be created. On confirmation, the Module Editor includes the new module in the selection list. To open an existing module, the user opens the Dictionary Editor and selects a class of dictionary ("System," "Database," "Viewer," or "Model"), then clicks a button called "Open Module." When the Open File form appears, the user selects the module of choice and opens it. This action adds the module to the selection list across editors. Deleting a ModuleTo delete a module from FRAMES, the user opens the Module Editor and selects a class of module ("System," "Database," "Viewer," or "Model"), then highlights a module from the available list. The user clicks on a button called "Delete Module." On confirmation, the module will be deleted, unless a domain uses the module in its palette. Domains are discussed in more detail in the Domain Editor documentation. If the module was deleted successfully, it will be removed from the selection list. Publishing a Module on the Linkage ServerThe Linkage Server is an online database for publishing and retrieving FRAMES modules and dictionaries. To make a module available in this manner, all files associated with the module, including the .MOD file and all dictionaries used in its connection scheme must be included on the server. If a newer version of a file exists on the server, the Linkage Server asks the user before overwriting the file. To publish a module to the Linkage Server, the user opens the Module Editor and selects a module. The user then clicks the "Publish Online" button. FRAMES automatically publishes all related files to the Linkage Server. To download a module from the Linkage Server, the user selects the Linkage Server from the Tools menu, which opens a form listing Linkage Server updates with modules and dictionaries. Dictionaries associated with modules are listed beneath the module. Icons associated with a dictionary or module in the Linkage Server Updates form define the relationship between the files located on the computer that houses FRAMES and the files in the Linkage Server database. To retrieve a module from the Linkage Server, the user selects a module from the Linkage Server Updates form and clicks the "Update" button. This action updates the module file along with all the associated dictionary files. |