Editing Source Code | Associating Code with Annotations |
You need to have read the chapter Start Here for the Tutorials! and worked through the first session, Creating and Loading Projects, before you do this session. In this session, we assume that you have created Sample.prj.
This session begins with an introduction to Revolve's impact analysis capabilities and is followed by a hands-on tutorial that incorporates the sample project.
When you edit source code it is highly possible that your changes impact components in addition to the ones you edited. Revolve's Impact Analysis tool is designed to identify where these problems, or impacts, occur so you can alleviate them before they create difficulties.
To begin the impact analysis process, you will start by using the Browsers menu to find an item of interest. Then, continue by using the hypertexting facilities of Revolve to manually follow logical connections defined in the source code to analyze impacts, or have Revolve automatically determine the impact of changing the item. A step-by-step example of both Manual Impact Tracing and Automatic Impact Tracing will be provided in this session.
When a change is made to your project's source code, the effects can be minimal or widespread, depending on the relationship between the modified component and other components in the project. Left unmonitored, these changes can be extremely detrimental to the overall integrity of a system. To remedy this possible problem, Revolve provides the Impact Analysis tool, a feature which analyzes the impact that source changes have on a project.
You will apply the procedures in this session to the sample project created in Creating and Loading Projects. If Revolve and sample.prj are closed, open them like before.
In this session you:
To do this:
A should appear in the Literals Match edit box.
Or hit return on the keyboard to initiate the data search. The information window fills with one entry and the Match edit bar indicates the number of matches which were found in the source code.
This toggles the encapsulated Split Screen Editor on and off. Notice that the window is horizontally split and the source code for the selected item is selected in the bottom window. With Revolve in this mode you have unlimited access to source code editing.
Notice that each time the selection in the top window changes, the corresponding source code is displayed in the Split Screen Editor.
The A on the line that reads, ONL0006-ACTION-LOAD-I is selected in the Split Screen Editor. All of the locations across the application that use the constant A can immediately be accessed. These locations can be used as starting points for impact analysis.
Figure 8-1: Selecting in the Split Screen Editor
This scrolls the Split Screen Editor to the working storage definition of the selected item.
The group level of variable ONL0006I is selected.
The hypertexting features of the Split Screen Editor have allowed you to quickly examine the source code and determine where the variable ONL0006-ACTION-LOAD-I has its value set. This is critical information because the variable was located based on its relationship to the literal A, which was the start of our analysis. Should changes be made to A, ONL0006-ACTION-LOAD-I will be affected.
The Execution Simulator toolbar appears in the window. This allows the code to be simulated in either a forward or backward direction so that the logical paths through the source code can be traced to determine impacts
Since the statement being executed is a CICS RECEIVE, the appropriate Screen view is displayed. Also the Execution Condition dialog is displayed to affirm the conditional statement.
Since the literal A was an action code, it is not surprising that the screen has an "ACTION:" heading followed by a one byte entry field. In fact, this is the field that is impacted by the literal that you used to begin this analysis.
So far, the hypertexting facilities of Revolve have been used to manually follow logical connections defined in the source code. A faster, more accurate approach is to have Revolve automatically determine the areas impacted by changing an item. This session illustrates Automatic Impact Tracing by determining the impact of changing the variable TREND-KEY which is used to access the VSAM file PROD.TREND.MASTER.
The Data Files browser is displayed.
The folder PROD.TREND.MASTER is displayed in the information window.
The folder is expanded and all the files that reference the data file are displayed.
Line 100: cics_state_read
The Split Screen Editor horizontally splits the information window. The source code appears in the lower editing window.
The selection is positioned to a CICS READ of the dataset TRENDMS. This CICS dataset is an alias for the dataset PROD.TREND.MASTER. The alias is established in the ONLINE.FCT file that is also displayed in the information window.
The Impact Analysis tool is invoked displaying TREND-KEY.
The Tracing Group Impacts dialog shows the status of the trace.
By default, Impact Analysis displays results by name. In the Manual Impact Tracing example, you traced an impact to a screen. Here Revolve has traced it for you. Let's see how the impacts for TREND-KEY effect BMS screens in the project.
Figure 8-2: Display Tab
The results are now displayed according to their impact types.
Figure 8-3: Impacts Displayed by Type
Impacted screens, buffers, and synonyms are automatically traced and provided for your reference.
The folder opens to display the impacted screens.
The Screen view for PP3.BMS is displayed in the lower window.
The traced chain of events that led to the impact are displayed. Each line of text that is displayed explains the movement of the screen to its impact with TREND-KEY. As you move down the trace, observe the corresponding code in the Split Screen Editor.
You can close Revolve, if you want to stop for now. The project that you have created and loaded is automatically saved.
You can continue with the next tutorial later, by simply reopening the project.
Copyright © 1999 MERANT International Limited. All rights reserved.
This document and the proprietary marks and names
used herein are protected by international law.
Editing Source Code | Associating Code with Annotations |