Results 1 -
8 of
8
Unidraw: a framework for building domain-specific graphical editors
- ACM Transactions on Information Systems
, 1990
"... 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 providing programming abstractions that are common across domains. Unidraw defines ..."
Abstract
-
Cited by 113 (5 self)
- Add to MetaCart
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 providing programming abstractions that are common across domains. Unidraw defines four basic abstractions: comporzents encapsulate the appearance and behavior of objects, tools support direct manipulation of components, commands define operations on components, and external representations define the mapping between components and the file format generated by the editor. Unidraw also supports multiple views, graphical connectivity, and dataflow between components. This paper describes the Unidraw design, implementation issues, and three experimental domain-specific editors we have developed with Unidraw: a drawing editor, a user interface builder, and a schematic capture system. Our results indicate a substantial reduction in implementation time and effort compared with existing tools.
A Methodology for Building Application-Specific Visualizations of Parallel Programs
, 1993
"... Visualization of computer programs, particularly parallel programs, promises to help programmers better understand, develop, and debug their code, especially if the visualizations are relatively easy to create. We have developed a visualization methodology being used as a component in a comprehensiv ..."
Abstract
-
Cited by 104 (30 self)
- Add to MetaCart
Visualization of computer programs, particularly parallel programs, promises to help programmers better understand, develop, and debug their code, especially if the visualizations are relatively easy to create. We have developed a visualization methodology being used as a component in a comprehensive parallel program visualization system. The focus of the system is on application-specific user-tailored program views. An application-specific visualization of a parallel program presents the inherent application domain, semantics, and data being manipulated by the program in a manner natural to one's understanding of the program. In this paper we discuss why application-specific views are necessary for program debugging, and we list several requirements and challenges that a system for applicationspecific viewing should meet. The visualization methodology that we introduce includes primitives for designing smooth animation scenarios, and most importantly, for allowing designers to visuali...
An Object-Oriented Architecture for Constraint-Based Graphical Editing
- In Third Eurographics Workshop on Object-Oriented Graphics
, 1995
"... 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. Constraints can be a powerful mechanism for specifying complex semantics declaratively in these domains. To date, few dom ..."
Abstract
-
Cited by 23 (6 self)
- Add to MetaCart
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. Constraints can be a powerful mechanism for specifying complex semantics declaratively in these domains. To date, few domain-specific graphics editors have provided constraintbased specification and manipulation facilities. Part of the reason is that graphical editors are hard enough to develop without implementing a constraint system as well. Even though graphical editing frameworks can reduce the difficulty of constructing domain specific graphical editors, a fundamental problem remains: there do not exist general constraint solving architectures that are efficient enough to support highly interactive editing, yet suitably flexible and extensible to adapt to different editing domains. Addressing this problem, we present an object-oriented architecture that integrates the graphical editing framework Unidraw w...
A taxonomy of classes to identify changes during maintenance
- In Proceedings of ICIS `02
, 2002
"... In this paper, we exploit our taxonomy that allows the maintainer to catalog classes based on the characteristics of the class. The characteristics of a class include the properties of data items and methods as well as the relationships with other classes. We construct a tool that uses the taxonomy ..."
Abstract
-
Cited by 1 (1 self)
- Add to MetaCart
In this paper, we exploit our taxonomy that allows the maintainer to catalog classes based on the characteristics of the class. The characteristics of a class include the properties of data items and methods as well as the relationships with other classes. We construct a tool that uses the taxonomy to catalog each class in an application. We use the tool to track changes across multiple releases of applications containing hundreds of classes, providing detailed information about each changed class. 1
Meta Tool Support for a GUI for Conceptual Structures
, 1994
"... Previous conceptual structure editors have focussed on providing specialised drawing tools. Although the drawing operations in these tools produce the appropriate notation, they can not directly support the language of conceptual structures. Authors are required to consider both the logistics of cre ..."
Abstract
-
Cited by 1 (1 self)
- Add to MetaCart
Previous conceptual structure editors have focussed on providing specialised drawing tools. Although the drawing operations in these tools produce the appropriate notation, they can not directly support the language of conceptual structures. Authors are required to consider both the logistics of creating neat drawings, as well as their meaning. Logicians investigating new proof techniques are hampered when experimenting with operations on a representation that must be explicitly drawn. Researchers in various domains who want to produce customised interfaces with varying operational vocabularies are burdened by the task of coercing a drawing metaphor to include operational aspects. This work presents an approach to the conceptual structure editor that supports the underlying language directly. All drawing operations are direct implementations of theoretical operations. Direct manipulation of graphs through the interface conform to theory entailment. The architecture supports direct mani...
Appendix B Interface Descriptions
"... Shape (************************************************************) (******************** ABSTRACTSHAPE *************************) (************** For further specialization ******************) (************************************************************) ListOfSegments: doubleLinkedList (# eleme ..."
Abstract
- Add to MetaCart
Shape (************************************************************) (******************** ABSTRACTSHAPE *************************) (************** For further specialization ******************) (************************************************************) ListOfSegments: doubleLinkedList (# element::< (# s: ^Segment; #); ... #); AbstractShape: Segment (# type::< (# do TAbstractShape -> t; INNER; #); copy::< (# do INNER; ... #); FillRule: @ (* Rule to determine what is inside and what is outside * THIS(AbstractShape). Used, e.g. when filling THIS(AbstractShape) * with some Paint. Defaults to WindingRule *) (# r: @Integer; changed: @Boolean; (* initialized as false *) changeRule: (# enter r do True -> changed #); enter changeRule do (if changed//false then WindingRule -> r if); exit r #); Invalidate:< (* invalidate THIS(Shape), so it will be recalculated next * time used in fill or clip operation. *) (# do ... INNER; #); Invalid: (* Answer true if THIS(Shape) has been invalidated *) (...
HyperEDIT: An Object-Oriented Diagram Meta-Editor
"... This document describes the function and the implementation of HyperEDIT, an object-oriented diagram meta-editor. The editor may be used in a stand-alone mode as a fully featured graphical tool for the production of high quality software design documents, such as Data Flow, Entity-Relationship, or S ..."
Abstract
- Add to MetaCart
This document describes the function and the implementation of HyperEDIT, an object-oriented diagram meta-editor. The editor may be used in a stand-alone mode as a fully featured graphical tool for the production of high quality software design documents, such as Data Flow, Entity-Relationship, or State Transition diagrams. Alternatively, thanks to its sophisticated event-protocol, it may be incorporated in other products as their extendible graphical user interface, e.g. in Hypertext or CASE tools. 1.
Obj ect-Oriented D e sign Archaeology with CIA++
"... Judith E. Grass AT&I Bell Laboratories ABSTRACT: Increasing numbers of programmers find that they must work on large software systems that they did not write and do not entirely understand. In this situation it is necessary for the programmer to build a working model of the system's design. The proc ..."
Abstract
- Add to MetaCart
Judith E. Grass AT&I Bell Laboratories ABSTRACT: Increasing numbers of programmers find that they must work on large software systems that they did not write and do not entirely understand. In this situation it is necessary for the programmer to build a working model of the system's design. The process of constructing a working design model from studying the source code may be called software archaeology. This paper demonstrates how software archaeology can be done within the framework of an appropriate design methodology using good static analysis tools. The Object-Oriented Design (OOD) methods described by Grady Booch and James Rumbaugh provide the framework for my investigation. The static analysis tools are based on CIA#. The C # Information Abstractor, CIA#, builds a relational database of information extracted from C# programs. The database serves as a foundation for the development of C # programming tools. Current tools in the CIA # system include tools for graphical display of various views of the program structure, tools for queries about program symbols and relationships, and tools that extract cohesive components from a larger system. These tools can be used as they are, combined or extended to adapt to specific needs. Computing Systems, Vol. 5. No. I. Winter 1992This paper briefly describes the CIA # system and demonstrates how it can be used to extract design information from a significant system: InterViews 3.0, a C # graphical interface toolkit developed by Mark Linton at Stanford University. 1.

