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.