Abstract
The research reported herein involved the design and automation of the Control Structure Diagram (CSD), a graphical stepwise refinement tool for use in the development and maintenance of software written in block-structured languages. The CSD was designed to overcome the deficiencies found in existing graphical tools with respect to readability, ease of use, automation, and modern software practices. The primary motivation for this research was to decrease the time required to comprehend software by providing a graphical representation for clearly depicting control constructs and control flow at all levels of program abstraction. The CSD, which includes graphical constructs for refinement, sequence, selection, iteration, and exit, was designed to graphically represent software from high-level overview through source code. The graphical constructs are clearly distinguishable, have meaningful connotations, and provide for a high degree of connectivity in the CSD. The CSD is easy to use manually since it can be virtually superimposed upon structured pseudocode or source code. The CSD was compared to other graphical representations with similar constructs, and the CSD appears to offer significant advantages in terms of readability, ease of use, and automation. A full scale CSD Editor was designed to provide extensive automated support for the CSD, and a fully operational prototype was implemented for inexpensive microcomputer workstations. The CSD editor interactively constructs the CSD by recognizing the keywords of pseudo-code or source code and then extensively uses refinement hiding to achieve abstraction and increased readability. The CSD editor facilitates improved visual verification by allowing the user to collapse control statements in a manner similar to refinements and compress control paths so that only the conditions along the paths are visible. Experiences with the current version of the CSD editor clearly indicated the utility of the CSD and its automation. The CSD with automated support appears to offer large gains in program comprehensibility, which can be translated into higher programmer productivity and lower costs in software development and maintenance.
Cross, James Henry (1986). The Control Structure Diagram : an automated graphical stepwise refinement tool with control constructs. Texas A&M University. Texas A&M University. Libraries. Available electronically from
https : / /hdl .handle .net /1969 .1 /DISSERTATIONS -23576.