Thumbnail Image

Constructing integrated software development environments with dependency graphs

Integrated software development environments need to support multiple textual and graphical views of software products under development. MViews, a new model for constructing such environments, provides abstractions for representing the abstract syntax of a program as graphs and for viewing and manipulating these graphs in concrete textual and graphical forms. Graphs are used to represent software system structures using components (graph nodes) and relationships (graph edges). These graph components are modified by graph operations to construct and modify a program. Views of these graph components are rendered and manipulated in either graphical or textual forms. Consistency management between updated graph components is supported by a novel update record mechanism. MViews graphs are dependency graphs: updates to graph components are broadcast to related components as update records. These dependent components, or the inter-connecting relationships, respond to these update records and update the dependent components appropriately. This mechanism is used to support inter-component consistency management, and in particular provides a novel way keeping textual and graphical views of software development consistent. This mechanism can also be used as the basis of a wide range of other software development environment facilities. MViews has been reused to implement a variety of integrated environments and examples of these environments are discussed.
Working Paper
Type of thesis
Computer Science Working Papers
Grundy, J.C. & Hosking, J.G. (1994). Constructing integrated software development environments with dependency graphs. (Working paper 94/04). Hamilton, New Zealand: University of Waikato, Department of Computer Science.