RMTool: Examples

In the distribution are three examples to try:

Eventually, there should be some more examples and some more discussion of the examples but this is all for now! 


To run the use 401_pl0 example, use:

The computed reflexion model shows that some interactions were anticipated by the software developer (such as the convergences between Parse and AST, AST and SymTab, and AST and CodeGen). Other interactions were either not anticipated or require further investigation with possible refinements of the input (such as the divergence between CodeGen and SymTab. Finally, some interactions were anticipated but no evidence of such an interaction was found with the current map (such as the absence between CodeGen and Object).

Click on the arc between CodeGen and SymTab. A window appears detailing the two calls mapped to this high-level model interaction. These calls indicate that CodeGen related functions indeed do require size information from routines mapped to SymTab.


To run the netbsd example, use:

The computed reflexion model  shows some divergences in blue and some in red. The blue divergences are of type "call". The red divergence is of type "data". This is an example of computing a reflexion model where the source model is typed but the high-level model is not typed. Because the high-level model is not typed, there are no convergences in the reflexion model. Note that the absences are untyped (they appear black since "notype" is not mentioned in the config file).

Without closing the interface, try using the file data/vm-typed.hlm as the high-level model and recomputing the reflexion model. In this high-level model, all arcs are set to type "call". The computed reflexion model now shows convergences, divergences, and absences of type "call". A red divergence indicates a divergence of type "data" as before.

Try removing the config file specification from the config field in the interface, unchecking the typed input box, changing the high-level model back to data/vm.hlm and recomputing a reflexion model. Note that there are now convergences in the reflexion model since type information is not being considered. (Please note that to not consider any typed information, you must have the typed input box checked off and the high-level model must not include any type information).


To run the jRMTool example, use:

The computed reflexion model shows a node ("convert") without an arcs to or from it. This node was simply stated in the high-level model without any interactions to any other nodes. No source model entities have been mapped to it. This example is indicative of a reflexion model in the early stages of refinement.

Last updated on: July 21, 2000

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