Generating graph editors
ANTHONY S. KARRER · University of Southern California Digital Library · 2017
Software engineers use graphs to visualize and formalize many information domains, and there are considerable common capabilities among editors of these information domains. Domain-specific graph editors, e.g., a data-flow diagram editor, are a powerful and important part of software engineering techniques. However, such tools are hard to build, are often slow and ineffective, and become quickly out-dated as researchers develop new editing techniques. Furthermore, there is no guarantee that the design and implementation of these tools are applicable across information domains. This dissertation addresses the problem of creating a graph editor generator. The key to this problem is finding effective solutions to several component problems including, data definition, abstraction, graphic objects, layout, and communication. The Graph Editor Description Language (GEDL) and its translator provide the capability to specify and generate graph editors. The key features of this language are its propagation-based architecture, graph connectivity semantics, generalized abstraction, constraint-based layout, composable graphic objects, and communication support. This dissertation also presents a GEDL translator and examples of its use in generating graph editors. The translator implements various techniques for improving the usability of resulting graph editors including incremental constraint solution and control communication. Working examples of a task-dependence graph editor and constraint graph editor are presented to demonstrate the viability of the GEDL language and its translator. (Copies available exclusively from Micrographics Department, Doheny Library, USC, Los Angeles, CA 90089-0182.)