RMTool: Graphical Interface
Starting the Interface

Computing a Reflexion Model

Investigating a Reflexion Model
Interacting
Additional Functionality

Command-Line Options

The RMTool prompts the user for the names of the files comprising the information from which to compute a reflexion model. A reflexion model may then be computed using the Compute RM button. If the computation of a reflexion model is successful, another window is displayed showing statistics about the computation and the computed reflexion model. A user may then:
  • click on an arc in the displayed reflexion model (using the left mouse button) to display the underlying source model values contributing to that arc in the reflexion model, or
  • request a listing of all values in the source model that were not mapped, using the Get Unmapped Values button.

Starting the Interface

To use the graphical interface, after following the instructions in Getting Started, run:

    java jRMTool.gui.RMTool

Executing this command will display the initial RMTool window (see below). Seven fields are displayed in this window:

  1. Temporary Directory - RMTool creates a number of temporary files to compute and display a reflexion model. This field determines which directory is used to store these temporary files. On Unix systems, the field  is initialized to "/tmp". On Windows systems, it is initialized to "c:\tmp".
  2. Working Directory - The name of  base directory from which to interpret all filenames. This field is initialized to ".".
  3. Structure Description - The name of a file comprising the description of the software structure to be manipulated. (File format information)
  4. Source Model - The name of the file comprising the source model. (File format information)
  5. Mapping - The name of the file comprising the mapping between entities in the source model and entities in the high-level model. (File format information)
  6. High-level Model - The name of the file comprising the high-level model. (File format information)
  7. Config (Optional) - An optional field. The name of a file comprising a description of how to display the computed reflexion model. (File format information)

Before a reflexion model may be computed, the structure description, source model, mappping and high-level model fields must have valid values. Validation is performed on the fields when the Compute RM button is pressed.

Computing a Reflexion Model

Once the necessary fields are entered, press the Compute RM button to compute a reflexion model. Feedback on the computation of a reflexion model is provided to standard out. If you press the Compute RM button and you neither see an error message in a pop-window nor is a reflexion model displayed, check the window in which you started the interface for information on the status of the computation. When the computation is completed, a window will be displayed with which you can investigate the reflexion model.

Investigating a Reflexion Model

 A separate window is used to display each computed reflexion model. This window consists of two parts (see below):

  1. The top part of the window provides statistics on the computed reflexion model and provides three buttons to access additional functionality.
  2. The computed reflexion model is displayed in the bottom part of the window.


Interacting with a Reflexion Model

If the reflexion model you computed is larger than the display area, you will have access to scroll bars on the edges of the screen. You may also zoom in and out on the reflexion model by accessing a menu available by pressing the right mouse button on the white background in which the reflexion model is displayed.

Often, when viewing a reflexion model, it is helpful to understand which source model values are associated with different arcs in the reflexion model. To access the source model values contributing to an arc, click the left mouse button on a convergent or divergent arc of interest. It can sometimes be difficult to click on an arc. The Grappa toolkit used to display the model will show you through a "tool tip" (a pop-up window) when it thinks you are over an edge.

Source model values requested are displayed in a separate window. The values in the window may be saved using the "Save" button. The values are stored (separated by tabs) to the specified text file. An example of some displayed values are shown below.

Additional Functionality

Three buttons are provided to access additional functionality when viewing a reflexion model:

  • Configure Structure Display - This button brings up a checkbox of all pieces of the software structure currently being used. You may deselect a piece of software structure from appearing in detailed views of source model values.
  • Get Unmapped Values - This button displays a list of all source model values which have not been mapped to the reflexion model.
  • Save Reflexion Model - This button saves a "dot" version of the Reflexion Model to a specified file. The "dotty" program distributed as part of the AT&T Graphviz package can be used for further viewing of the reflexion model. The "dot" program distributed as part of the AT&T Graphviz package can be used to produce a hardcopy of the reflexion model.

Exiting the Tool

To exit the tool, simply exit the main window. Exiting in this manner will activate clean-up routines to remove all temporary files generated (unless the user has specified on the command-line that temporary files are not to be deleted). Exiting any other way will leave temporary files behind.

Command-Line Options

A number of command-line options are available for configuring the RMTool graphical interface. Each command-line option is specified as a Java property as in:

java -Drmtool.tmpDir=foo jRMTool.gui.RMtool

The following are the available options:

  • rmtool.tmpDir=<value> - The value becomes the initial value of the Temporary Directory field.
  • rmtool.workDir=<value> - The value becomes the initial value of the Working Directory field.
  • rmtool.structDesc =<value> - The value becomes the initial value of the Structure Description field.
  • rmtool.sourceModel=<value> - The value becomes the initial value of the Source Model field.
  • rmtool.mapping=<value> - The value becomes the initial value of the Mapping field.
  • rmtool.highLevelModel=<value> - The value becomes the initial value of the High-level Model field.
  • rmtool.config=<value> - The value becomes the initial value of the config field.
  • rmtool.noDeleteTmpFiles - No value is required. If this property is specified, temporary files created by the tool are not deleted when the tool exits.

Last updated on: October 20, 2001

Contact murphy@cs.ubc.ca for more information or any problems with this page.