Download attributed graph-based representations for software view generation
Transcript
160 We dened a rule base and implemented several rule checkers. APDGs play another rule in supporting a maintenance programmer. The structural information contained in them and the constraints on this information can be used to predict the impact of any change to their corresponding program code. We built a rule base that contains many constraints of any APDG corresponding to a Pascal program le and justied every rule. Although the rule base is incomplete, we showed how to collect these rules and how to check for their validity. We designed many system-change operations and implemented several of them. We designed several graph-editing operations to destroy, save, and retrieve any graph. We designed several structure-oriented operations that required an intelligent cursor while editing the text of the program. These operations include a rename, replace, delete, and add operations. We also designed an operation to contrast the graphs of two versions of a source le and nd any changes of global impact. We have not yet completed the implementation of some of SCAN 's components. One of these components is the Impact Analyzer. As we demonstrated in Chapter 9, checking whether a rule is satised for a given node can be done using set operations on the attributes of graph nodes. The Interface Manager is another component that needs improvement. We would like to have a multi-window user interface that supports text-oriented and structure-oriented editing of program les using SCAN components eectively. With this we could combine text editing and impact analysis together in the same editing session. During our work on the design of SCAN and the implementation of its prototype, we have done enough work to conclude that basing SCAN on APDGs eases its development and improves its functionality. We conclude also that the approach we have pursued to support a maintenance programmer is promising.