Suite101

Overview of Reflexion Model Technique.. 2


© Faisal Bin Bashir

Define map

The user then defines a map that describes how entities in the source and high-level models relate. To make this map easier to state, a user may refer to information about both the physical and logical software structures. The user may also employ regular expressions to make it easier to state the map. For example, if some of the lines comprising a map for the compiler are selected. As an example, say the first line states that all classes and methods in files with scanner in their name will be associated with the Parse high-level model entity. The map is produced manually, but initially it often takes only 10 to 30 minutes to define.

Compute reflexion model

Given a high-level model, a source model, and a map, the user invokes a set of tools to compute a software reflexion model. The reflexion model lets the user see interactions in the source code from the viewpoint of the high-level model. The tools push the interactions in the source model through the map, comparing the mapped interactions in the high-level model with the hypothesized high-level model interactions. The tools consist of three filter programs and eight support programs. They are packaged as separate executables and are accessible through a textual command-line interface as well as a graphical user interface, which is loosely integrated with AT&T’s graphviz graph display program.

If we continue with the compiler example, the Reflexion Model Viewer window will show the software reflexion model for the compile. The model consists of the entities defined in the high-level model and three kinds of arcs.

Convergences—solid arcs, such as from Parse to AST—are mapped interactions that agree with the stated high-level model.

Divergences—dashed arcs, such as from CodeGen to SymTab—are mapped interactions not stated in the high-level model.

Absences—dotted arcs, such as from CodeGen to Object—are interactions stated in the high-level model that do not correspond to any mapped inter-action.

The numbers associated with the reflexion model arcs show the number of source model interactions mapped to an arc. This information helps the user assess the system’s structure. The "2" associated with the divergence from CodeGen to SymTab, for example, lets the user assess the degree of unexpected coupling between the modules.

Reference

Reengineering with Reflexion Models: A Case Study by Gail C. Murphy and David Notkin.

Go To Page: 1


The copyright of the article Overview of Reflexion Model Technique.. 2 in Software Re-engineering is owned by Faisal Bin Bashir. Permission to republish Overview of Reflexion Model Technique.. 2 in print or online must be granted by the author in writing.

Post this Article to facebook Add this Article to del.icio.us! Digg this Article furl this Article Add this Article to Reddit Add this Article to Technorati Add this Article to Newsvine Add this Article to Windows Live Add this Article to Yahoo Add this Article to StumbleUpon Add this Article to BlinkLists Add this Article to Spurl Add this Article to Google Add this Article to Ask Add this Article to Squidoo