Unidraw: a framework for building domain-specific graphical editors

@article{Vlissides1990UnidrawAF,
  title={Unidraw: a framework for building domain-specific graphical editors},
  author={John M. Vlissides and Mark A. Linton},
  journal={ACM Trans. Inf. Syst.},
  year={1990},
  volume={8},
  pages={237-268}
}
Unidraw is a framework for creating graphical editors in domains such as technical and artistic drawing, music composition, and circuit design. The Unidraw architecture simplifies the construction of these editors by proving programming abstractions that are common across domains. Unidraw defines four basic abstractions: components define operations on components, and external representations define the mapping between components and the file format generated by the editor. Unidraw also… 
A unidraw-based user interface builder
TLDR
While current user interface builders stop at the widget level, ibuild incorporates Unidraw abstractions to simplify the implementation of graphical editors and leverages the C++ inheritance mechanism to decouple builder-generated code from the rest of the application.
CreateThroughs , DragThroughs and Attachment Regions in BuildByWire
TLDR
New features that eliminate several previous limitations of BuildByWire and its generated editors are described, which mean the designer of a notation now has more control over the tools that are provided in the generated editor.
An Object-Oriented Architecture for Constraint-Based Graphical Editing
TLDR
Direct-manipulation graphics editors are useful tools for a wide variety of domains such as technical drawing, computer-aided design, application building, and music composition, but few domain-specific graphics editors have provided constraint-based specification and manipulation facilities.
Generalized graphical object editing
TLDR
The Unidraw architecture simplifies the construction of these editors by providing programming abstractions that are common across domains, and results indicate a substantial reduction in implementation time and effort compared with existing tools.
Generating Domain-Specific Visual Language Editors from High-level Tool Specifications
TLDR
An approach to generating a wide range of domain-specific visual language editors for use as plug-ins to the Eclipse environment by interpreting tool specifications from an existing meta-tool, Pounamu, to produce dynamic, multi-view, multiuser Eclipse graphical editors.
Vixels, createthroughs, dragthroughs and attachment regions in BuildByWire
  • W. Mugridge, J. Hosking, J. Grundy
  • Computer Science
    Proceedings 1998 Australasian Computer Human Interaction Conference. OzCHI'98 (Cat. No.98EX234)
  • 1998
TLDR
New features that eliminate several previous limitations of BuildByWire and its generated editors are described, including: the designer of a notation now has more control over the tools that are provided in the generated editor.
Generating Domain-Specific Visual Language Tools from Abstract Visual Specifications
TLDR
A set of visual language-based metatools that support definition of metamodels, visual notations, views, modeling behaviors, design critics, and model transformations and provide a platform to realize target visual modeling tools are described.
Leonardo: A Framework for Modeling and Editing Graphical Components
TLDR
To prove the feasibility of the design, this work presents a non-trivial extension which integrates objects that are specified in a graphical description language within Leonardo, i.e. without requiring existing parts to be recompiled or reloaded.
Beyond interface builders: model-based interface tools
TLDR
HUMANOID is a model-based interface design and construction tool where interfaces are specifkd by building a declarative description of their presentation and behavior by providing simple abstraction, iteration and conditional constructs to model the interface features of these application classes.
Meta Tool Support for a GUI for Conceptual Structures
TLDR
This work presents an approach to the conceptual structure editor that supports the underlying language directly in terms of the operations of the theory at several levels: the author who declaratively adds knowledge to the system using the standard toolkit and inference operations, and the logician who wishes to graphically experiment with new inference operations and proof techniques.
...
1
2
3
4
5
...

References

SHOWING 1-10 OF 40 REFERENCES
Generalized graphical object editing
TLDR
The Unidraw architecture simplifies the construction of these editors by providing programming abstractions that are common across domains, and results indicate a substantial reduction in implementation time and effort compared with existing tools.
An object-oriented approach to graphical interfaces
TLDR
The techniques for creating interfaces that are highly interactive, rich in layout structure, and effectively reusable across applications are described through three techniques: object-based graphics with taxonomic inheritance, interobject relationships such as composition and graphical dependency, and separation of the interface and application.
Applying Object-Oriented Design to Structured Graphics
TLDR
This work has implemented a two-dimensional structured graphics library in C++ that presents an object-oriented model to the programmer and has used both this library and an earlier, non-object-oriented library to implement a MacDraw-like drawing editor.
Semantic Feedback in the Higgens UIMS
TLDR
A tool is described, the Higgens user interface management system (UIMS), which can automate much of this task for a wide class of systems using interactive graphics, and is able to generate graphical user interfaces automatically from a high-level interface specification.
Composing user interfaces with InterViews
TLDR
A user interface toolkit that offers a rich set of composition mechanisms and a variety of predefined objects, allowing easy implementation of complex user interfaces, and support for end-user customization as well as the status of the current implementation is described.
A State Transition Diagram Language for Visual Programming
TLDR
The diagrams, flowcharts, and other iconic representations the authors have long employed to communicate with other people can now be used directly to describe algorithms to computers, and the availability of graphics-based, personal workstations can eliminate the need to convert algorithms to the linear strings of symbols traditionally required by most computers.
Constraint technology for user-interface construction in ThingLab II
TLDR
The necessary speed is attained in ThingLab II by making judicious tradeoffs between compilation and interpretation, and by using a fast, incremental algorithm for constraint satisfaction.
Encapsulating interactive behaviors
TLDR
This paper presents a new model for how input devices can be handled for highly-interactive, direct manipulation, graphical user interfaces that encapsulates interactive behaviors into a few “interactor” object types.
Sketchpad: a man-machine graphical communication system
TLDR
The Sketchpad system makes it possible for a man and a computer to converse rapidly through the medium of line drawings, and opens up a new area of man-machine communication.
Maniplicons in ThinkerToy
TLDR
The key construct in this methodology is the ManiplIcon: an icon which is not just a pictorial representation, but also a semantic tool for building models which homorphically represent semi-structured problems.
...
1
2
3
4
...