@MastersThesis{Klein99, author = {Gerwin Klein}, title = {Generating Graphical Editors for Graph-like Datastructures}, school = {Chair of Computer Science II, Technische Universit{\"a}t M{\"u}nchen}, year = {1999}, note = {Available from \url{http://doclsf.de/grace/}}, abstract = {Many modern applications favor one or more graphical diagram editors, of which -- despite their different look \& feel and problem domains -- on a closer look many have very similar functionality. Examples are UML class diagrams, finite automata, electronic circuit diagrams, or network charts. Their similarity is, that in an abstract way they all work on, edit and display a graph. These editors and diagram viewers are mostly implemented by hand. Although this work is not very often done from scratch but rather with the help of some object oriented framework, it remains a complex task with usually high development costs. This diploma thesis focuses on how the development and maintenance cost for this kind of graphical editors can be reduced. The problem is addressed in three steps: We analyze example applications, extracting and structuring classes of requirements for graph editors to examine and clearly define the problem domain. We develop a description language that allows to define and fully specify a graph editor in an abstract way. These specifications are thought to support the analysis and design phase in the development process. Compared to a full natural language description or a complete implementation, they are compact, easy to read, easy to communicate and easy to change. We take a generative approach to automatically reach a full implementation of the graph editor defined by such specifications and discuss important aspects like the integration of generated code into existing applications and full customizability of generated editors in more detail.} }