MARCO GSRC Calibrating Achievable Design Theme GTX

GTX User Manual

revision 2.1, December 18, 2001

Andrew Caldwell, Andrew B. Kahng, Igor Markov, Mike Oliver and Dirk Stroobandt

Contents

Follow the example steps for a quick tour.
I.  Introduction
II.  Getting Started
II.a. Loading files
II.b. The Five Basic Views
III. Editing a Rule Chain
IV.  Editing Values
V.  Executing a Study
V.a. Sweeping
V.b. Evaluating a chain
V.c. Tracing a particular output
V.d. Plotting a particular output
VI.  Constraints
VI.a. Adding constraints
VI.b. Minimizing or maximizing a particular output subject to constraints
VII. Saving Your Results
VII.a. Saving parameters, rules, rule chain and values
VII.b. Saving sweep results
VIII. Using the Graph View


I. Introduction

The user manual explains step by step how you can perform studies in GTX. An example study shows the various possibilities GTX offers (just follow all the steps of this manual). This user manual assumes that you know about the major concepts of GTX. If you don't, please read the GTX framework document first. The user manual also assumes you do not wish to change the models (parameters or rules) but merely use them for performing studies. For developing your own models, please refer to the developer manual.


II. Getting Started
 
 

II.a. Loading Files

 From the "File" menu, select "Load Supplied" (for data that came pre-packaged) or "Load User" (for data created by you), then "Parameter File", "Rule File", "Rule Chain File", "Value File" or "GTX File".

Select the file name, and select "OK". If the file parses successfully, the parameters will be added to the list of all parameters.

Example step 1: Load the file BACPAC.gtx--from the File menu, choose "Load Supplied" followed by "GTX File", and double-click on the icon for BACPAC.gtx.  You should see something like this screenshot. (Go to next step)
(Special note to Windows users:  the BACPAC study will not run correctly unless you have Perl installed.  There is a version called ActivePerl which is downloadable without charge from www.activestate.com.  However you can choose a different study from the supplied studies and run through the example steps, choosing different parameter names as appropriate; most steps will still make sense.)

II.b. The Five Basic Views

 The GTX interface consists of two primary windows (screen shot):

The type of information displayed is determined by the currently selected view. You can change views using either the five buttons at the bottom of the list window, or by selecting one of the five items in the View pull-down menu. The five views are:
  1. Parameters view
  2. Rules view
  3. Rule chain view
  4. Values view
  5. Graph view
The parameters view contains a listing of all parameters currently loaded into GTX. The list contains each parameter's name (following the GTX naming convention), its current value(s) and dimensions. Selecting a parameter from the list displays its detailed information (name, data type, allowable range of values, units, description, reference, default value and current value) in the detail window for editing and viewing. For more information on the parameter view see GTX Model Developer Manual: Adding/Editing Parameters.

The rules view contains a listing of all rules currently loaded into GTX. Selecting a rule from the list displays its detailed information (name, inputs, output, description, reference, body - the relation between inputs and output) in the detail window. Unless you are editing the rule, you may ignore the "Avail outputs" box and the "Available" box in the "Inputs" section.  Their function is explained in the Developer manual: Rules section.

The rule chain view supports viewing, editing and creating rule chains. Rule chains are inference sequences - subsets of the list of all rules that specify how to calculate values for output parameters from input parameters. The rule chain view allows interactive editing by adding and removing rules from the chain. A description of this process follows in the next section.

The values view displays computed parameter values for the current rule chain and specifications for the current study. In the detail window, users can select which parameters to 'watch' (in the sense of remembering their values on given inputs) while the study is executed, and specify plotting options. For more information see Section V Executing a study

The graph view displays in tree form the rule graph, which may be viewed from the point of view of rules or of parameters or both at once, and either "forward" (so that progressing down the tree goes from inputs to outputs) or (more usually) "backward", going from outputs to the rules that compute them or the values that are inputs to those rules.  See Section VIII Using the Graph View.


III. Editing a Rule Chain

 Rule chains are sequences of rules used to compute values for parameters. A rule chain is completely described by the set of rules included in it. Parameters which are inputs to a rule in the rule chain and are not computed by a rule in the chain are primary inputs. Parameters computed by a rule in the chain are the chain's outputs .

 The rule chain view allows viewing and editing the rules in the current rule chain, as well as creating a new one. Either click on the "Chain" button at the bottom of the list window or select Rule Chain from the View menu.

 Editing a rule chain (or creating one from scratch)

 Rule chains are created from the "top down". First you decide what you want to compute, then you select a rule that computes it. If the current rule chain is empty, then in the rule-chain view, all available parameters will be listed in the column in the middle of the screen (under "Uncomputed input"). If the rule chain is not empty, then by selecting one of the rules, you will see in the middle column a list of all inputs to the rule that are not currently computed by the chain.

 If you select one of these parameters, you will see in the right-hand column (under "Rules computing selected param") a list of all available rules that compute that parameter. By selecting one of these and choosing "Add" (or by double-clicking the rule), the rule will be added to the chain in topological order.

 The rule chain can be extended in a more general way. To compute some parameter which is not an input to the current rule chain, choose the "Show All" button at the bottom of the middle column. This will show all parameters which are not computed by the current rule chain; you can then select one and add a rule computing it.

 To remove a rule from the chain, double-click on the rule in the list window (left-most list).

 If you select a rule in the list window, and then change to the rules view (via the "Rules" button), the highlighted rule will remain selected. The detail window now provides all available information on that rule.

Example step 2:

(Relatively) new feature:  You can also remove a rule from the rule chain by right-clicking on its name (in any view in which it appears) and choosing "Remove from chain".  You can add a rule to the chain by right-clicking on its name and choosing "Add to chain".

The above example shows how easy it is to interchange rules from different modules in GTX.  This may also be done in the graph view.

(Go to next step)


IV. Editing Values

 To see the input and output parameters of the chain, click on the "Vals" button at the lower left, or choose "Values in Chain" under the "View" menu.

 In the values view, the list window displays the current value of each parameter associated with the current rule chain. The top window contains the primary inputs to the rule chain (parameters which are inputs to a rule in the chain, and not output of any rule in the chain). The bottom window contains the outputs (parameters that are output to a rule in the chain). Most often you will be editing values of parameters that are inputs to the current rule chain.  Some inputs may already have values, either because they have default values in their parameter definitions or because they have previously been edited; these will show up in the "Values" column in the box at the top left (the one headed by "Input Name  |  Value  |  Units").

 To change a value or values, select the parameter whose values you wish to edit.  The value(s), if any, will appear in the top portion of the right half of the screen.  If there are multiple values, they will be separated by commas.

 Enter the new values in the top right (to the left of the "Commit" button).

When you are finished, choose the "Commit" button to enter the values (or you may simply hit the "Enter" key instead).

 Although inputs to the current chain are the most useful values to edit, you may edit the values of any other parameter by going to the "Parameters" view (click the "Pars" button at the lower left or choose "Parameters" from the "View" menu).  You may choose any parameter and follow the procedure above to edit its value(s).

(Relatively) new feature:  You can also view/edit the value of a parameter from any view, by right-clicking on its name and choosing "Edit Value".  This applies in most locations where the parameter name appears, but not in the body of a rule nor in the "Avail Outputs"/"Available Inputs" of a rule; also, a right-click on a rule name that happens to be the same as the parameter name will bring up options appropriate to the rule, not the parameter.

 You can always restore the default values loaded with the parameter file by selecting "Restore Defaults Permissively" or "Restore Defaults Destructively" from the "Edit" menu. The latter option restores all default values, the former one only the default values of parameters in the current study

Example step 3:

(Go to next step)


V. Executing a Study

 A study in GTX is the application of values to the primary inputs of the current rule chain to compute values for its outputs. All information about the current study is available from the "Values" view (click the "Vals" button at the lower left, or choose "Values in Chain" from the "View" menu).

 In order to evaluate the rule chain, all primary inputs must be assigned values. The values of output parameters will be updated by evaluating the rule chain.
 
 

V.a. Sweeping

Sweeping is evaluating a rule chain for multiple values of the same input parameter(s). Sweeping can be done by simply giving multiple values to some input parameters and evaluating the rule chain (see further). All outputs that directly or indirectly depend on input parameters that have multiple values will also have multiple values (one for every input parameter combination) after the evaluation of the chain.

V.b.Evaluating a chain

Make sure that all inputs to the current chain have values (look in the box at the top of the left portion of the screen, the one headed by "Input Name  |  Value  |  Units ", and follow the procedure above to edit the values).  If you wish to sweep over multiple values of one or more of these inputs, simply enter multiple values for them as explained above.

To see the output values given these inputs, choose the "Apply Rule Chain" button in the lower portion of the right half of the screen.  All outputs of the chain will now be given their values, and they will appear in the lower box on the left-hand side of the screen (the one headed by "Output Name | Value | Units").  If there are many values for a given output parameter you may not be able to see them all; highlight the parameter and look in the text box to the left of the "Commit" button.

Example step 4:

(Special note to Windows users:  If, upon selecting the "Apply Rule Chain" button, you see an error message with the following text:
                        Exception while applying rule
                                    BACPAC::external_optimization
                        Error output from external executable
the most likely cause is that you do not have Perl installed.  Among the supplied studies, only BACPAC requires Perl.)
(Go to next step)

V.c.Tracing a particular output

 If you wish to view what happens to one or more particular outputs as the inputs vary over their given values, you must let the program know before running the calculation so that it can allocate memory to record that information.  Find the output(s) you wish to trace in the "Available:" box on the right side of the lower-right pane.  Double-click the output(s), or highlight it and choose "Add".

Now choose the "Apply Rule Chain" button.  When the calculation completes, select the output you wish to view (i.e. highlight it either in the "Outputs to trace" box or in the outputs list in the left pane) and choose the "View Sweep Trace" button.  This will bring up a box showing the trace of the output with respect to the varying inputs.

Example step 5:

(Go to next step)
 
 

V.d.Plotting a particular output

 Add the output you wish to plot to "Output to trace" as described above and choose the "Apply Rule Chain" button.  Now choose the "Plot Sweep Trace" button.  This produces a plot of the outputs with respect to the inputs having multiple values.

The plot appears in a window entitled "GTX Sweep Trace Plot". If the plot has two independent variables (surface plot), you may view it from different perspectives by choosing "Plot2", "Plot3", "Plot4" or "Plot5" under the "File" menu. If it has only one independent variable (line plot), then there is only one perspective from which it may be viewed. However you may still wish to choose "Plot1" under the "File" menu to repaint the plot.

 When the plot window is hidden by another window and then restored to view, it may appear blank. In this case, choose one of the options "Plot1", "Plot2", "Plot3", "Plot4" or "Plot5" under the "File" menu.

Example step 6:

(Go to next step)
 
 


VI. Constraints

 A constraint is a special kind of rule.  Its output parameter must always be the built-in boolean parameter CONSTRAINT, and its body must be a bool expression.  It is used in a special way: whenever its output evaluates to false, the computation with the current set of input values is terminated and its outputs are not added to the values of the output parameters.
 
 

VI.a. Adding constraints

 To add a constraint rule to the available rules, create a new rule, making sure that the output is CONSTRAINT (for convenience, CONSTRAINT is the first output parameter listed):

Example step 7:  To add a constraint to the chain, choose the "Show All" button at the bottom of the middle column in the rule-chain view (obtained by clicking on "Chain" or choosing "Rule Chain" under the "View" menu) and highlight "CONSTRAINT" at the top of the middle column.  All constraint rules (except any already present in your rule chain) will appear in the right-hand column; you may select one and double-click it to add it to the chain.

(Go to next step)
 
 
 
CONSTRAINT is a special exception to the rule that only one rule in a given rule chain may compute a given output; you may have as many constraint rules as you like in the chain (for this reason CONSTRAINT will always be available when you choose the "Show All" button; an ordinary parameter would not show up if the rule chain already computed it).

VI.b. Minimizing or maximizing a particular output subject to constraints

 The output trace described above in "Tracing a particular output" will take into account only combinations of input values for which all constraints evaluate to true.  At the top of the box created when you choose the "View Sweep Trace" button are the minimum and maximum values of the selected output (subject to all constraints) and the combination of input values that resulted in the minimum and maximum values.

Example step 8:

(Go to next step)
 
 


VII. Saving Your Results

 There are several ways of keeping the results of your study for further use:
 
 

VII.a. Saving parameters, rules, rule chain and values

 From the File menu, select "Save All" or "Save Delta" then Parameters, Rules, Rule Chain or Values.

There are three options for saving:

  1. Save All saves all parameters in GTX into a single file (same for rules, rule chain and values)
  2. Save Delta only applies to parameters and rules and saves only those parameters or rules that are new or have changed since they were loaded
  3. Save as .gtx file performs a "save all" on parameters, rules, rule chain and values and puts a link to all those files in a ".gtx" file.
VII.b. Saving sweep results

 After sweeping you can save the sweep trace to file instead of showing it in a dialog box by clicking on the "Trace To File" button in the values view. You will be prompted for a file name (type the name and hit "OK") and your file will contain exactly the same information as in the "View sweep trace" dialog box. You can also click on the button "Raw Output to File" (you will again be prompted for a file name). This file will only contain a list of all output values (in the same order as they are in the sweep trace) without any other information.

 You can also save your plots to file and print them (from the GTX Sweep Trace Plot, choose "File", "Print"; you might have to set the printer settings first).

Example step 9:

(Go to next step)

VIII. Using the graph view

The graph view is a powerful new feature for viewing relationships between rules, between parameters, or among rules and parameters.

You have several options for viewing the graph.  These are controlled by the radio buttons "Params" and "Rules" and the checkboxes "bipartite", "forward" and "calculability".
 

Note that rules are displayed in blue in the graph view; parameters, in black.  Clicking on a rule or parameter will show the appropriate display in the right-hand portion of the screen, as though you were in the "Rules" or "Pars" view respectively.
 

Example step 10: