| J. Vlissides and M. Linton. Unidraw: A framework for building domain-specific graphical editors. ACM Transactions on Information Systems, 8(3):237--268, 1990. 8 |
....locations on screen) with their antecedents as derived from the aforementioned modalities. Therefore our framework is optimized for this type of fusion. Direct manipulation is currently the most popular mode of interaction. It appeared in the late 1970 s [9] Its software design was described in [12]. It is a proven form of interaction that should not be replaced, but rather be com1 Event Direct Man ipu lation Interpreter Toolbox Method Call Input Device Language Understanding Poin ting Command Frame Inputs Command Frames Input Interpreters Context D irect Man ipu la tion ....
....that gives users the freedom to choose and combine interaction methods to create a more e#cient and pleasant way of working. One of the main thrusts for future work is implementing more complex direct manipulation examples and integrating them into the framework. The architecture presented in [12] gives a generic framework but there are also parts that are application specific and will need to be implemented by the application developer. We are investigating the use of fuzzy reasoning and Bayesian networks in fusion. Fuzzy values can be a better representation of uncertainty in ....
J. Vlissides and M. Linton. Unidraw: A framework for building domain-specific graphical editors. ACM Transactions on Information Systems, 8(3):237--268, 1990. 8
....Object oriented application frameworks provides a powerful medium for implementing a software framework that divides responsibility between an architecture and a particular instantiation of that architecture. A number of object oriented application frameworks (including MacApp[10] and Unidraw[25] have success fully demonstrated this in various domains. Moreover, there has been a long association between the object oriented programming paradigm and the objectoriented user interface metaphor. It seemed only natural that we use object oriented technology to build an application framework ....
J.M. Vhssides and M.A. Linton. Unidraw: A frame- work for building domain-specific graphical editors. In Proceedings of the ACM SIGGRAPH Symposium on User Interface Software and Technology. ACM Press, Nov 1989.
....may implement some or all of the listener interfaces (AppearanceListener, PropertyChangeListener, and or TransformListener) as needed. The key user activity in graphical user interfaces is direct manipulation of screen objects. The classes that support direct manipulation are Tool and Manipulator [16], Figure 3. Tool encapsulates information about the current direct manipulation mode, e.g. rotation, resizing, etc. Tools are essentially state objects for DocumentViews (see the State pattern in [7] Manipulator encapsulates a Tool s manipulation behavior and is responsible for providing visual ....
J. M.Vlissides and M. A. Linton, "Unidraw: A Framework for Building Domain-Specific Graphical Editors," ACM Trans. Information Systems, 8(3):237268, July 1990.
....classes are unknown at compile time but are known to be from a limited set. The factory will know exactly which class of object to create at run time. Therefore, it is commonplace to program the core of the factory as a selection statement with each creation task hard coded. For example, Unidraw [51] uses a factory mechanism to reconstruct objects from data saved on disk. By storing a Class Identifier before the #define DEPENDENCY 17488 arbitrary choice, DP for dependency STRINGTABLE DEPENDENCY, PIP Picture http: www.RADIUS.edu PUBLIC 32 instance data, Unidraw is able to ....
Vlissides, M. and Mark A. Linton. Unidraw: a framework for building domainspecific graphical editors. ACM Transactions on Information Systems Vol. 8 No. 3, July 1990, pp237-268.
....PolyG lyphView GlyphView getModel( getShape( getTransform( Figure 3: Presentation class diagram of a generalized editor. 7 The key user activity in graphical user interfaces is direct manipulation of screen objects. The classes that support direct manipulation are Tool and Manipulator [15], Figure 3. Tool encapsulates information about the current direct manipulation mode, e.g. rotation, resizing, etc. Tools are essentially state objects for DocumentViews (see the State pattern in [7] Manipulator encapsulates a Tools manipulation behavior and is responsible for providing ....
J. M.Vlissides and M. A. Linton, Unidraw: A Framework for Building Domain-Specific Graphical Editors, ACM Trans. Information Systems, 8(3):237-268, July 1990.
....model generalizes the DistEdit approach to arbitrary primitive operations (the commands) The commands are distributed to replicated applications. This model can be implemented with moderate effort in applications that use an object oriented application framework like MacApp, InterViews UniDraw [15], ET or GINA [14] because all these frameworks support command classes. GroupDesign [1] implements a replicated architecture similar to ours, but for a specific application. Quilt [9] and GroupWriter [10] usually have special features to maintain different versions as well as annotations. ....
Vlissides, J.M., Linton, M.A., Unidraw: A Framework for Building DomainSpecific Graphical Editors. ACM Trans. Inf. Syst. 8, 3 (July 1990), 237--268.
....calling the undoit method of the last command. Polymorphism inherent in the object oriented language ensures that, depending on the class of the command, the right undo code is called. 17 This mechanism has been used to implement undo in a number of systems, including MacApp [13] InterViews [18], ET [20] and GINA [14, 3] GINA is a class library to facilitate the construction of interactive graphical user interfaces. The following examples are taken from the Lisp version of GINA that uses CLOS (Common Lisp Object System) 4.1 Implementing Restricted Linear Undo Because the restricted ....
....value in external form (such as Courier12 ) Simply setting the attribute to the old value from the outside recreates the necessary internal state. If that is not sufficient, objects can return anonymous state data when they are changed by a command. This approach is used in the Unidraw library [18]. On redo, the command passes the data back to the object for restoration. This makes it easy to write commands that work on an arbitrary number of objects, because the command must only store the anonymous data for all the objects. Different objects may return differently structured data sets, ....
Vlissides, J.M. and Linton, M.A., 1990, Unidraw: A Framework for Building Domain-Specific Graphical Editors. ACM Trans. Inf. Syst. 8, 3, pp. 237--268.
....objects, display lists, views, and cameras. It is designed with the intent that applications programmers should be able to deal with this layer of abstraction, rather than that of optimization objectives and Lagrange multipliers. What separates Bramble from similar systems such as Unidraw[30], Inventor[27] or UGA[5] is that it is built with mathematical techniques for manipulation at its heart. Providing for the needs of the differential approach permeates the more traditional things which interaction toolkits do. For example, transformation hierarchies build functional ....
John M. Vlissides and Mark A. Linton. Unidraw: A framework for building domain specific graphical editors. In Proceedings of the 1989 ACM SIGGRAPH Symposium on User Interface Software and Technology, November 1989.
....by the editor. This situation results in very high costs for the design, implementation and maintenance of interactive graphical applications. There have been several attempts to provide high level tools for building such applications, including popular toolkits such as Garnet [26] Unidraw [33], Fresco [21, 32] and OpenInventor [28] Unfortunately, these tools are not adapted to the development of sophisticated graphical editors because of their lack of extensibility: ffl their graphic models and understanding of hardware features are predefined, and ffl they impose a fixed set of ....
....these extensions are not used by high level toolkits such as those cited above. In addition, only the two standard input devices are supported by these toolkits: one mouse and one keyboard. The management of interaction is based on the Garnet Interactors model [25] or on Manipulators [33]. Interactors implement the automaton that describes the interaction styles while manipulators also provide graphical feedback during the manipulation. For interfaces based on a single mouse and keyboard, a small set of interactors manipulators can implement most interaction styles. But with more ....
[Article contains additional citation context not shown here]
John M. Vlissides and Mark A. Linton. Unidraw: A framework for building domain-specific graphical editors. In Proceedings of the ACM Symposium on User Interface Software and Technology, pages 158--167, 1989. 10
....better design techniques, and so the state of the art gradually improves. Frameworks are not limited to user interfaces, but can be applied to any area of software design. They have been applied to VLSI routing algorithms [Gos90] to hypermedia systems [Mey86] to structured drawing editors [VL89, Vli90, BJ94] operating systems [RC89, Rus90] psychophysiological experiments [Foo88] network protocol software [HJE95] and manufacturing control [Sch95] to mention a few. Frameworks do not even require an object oriented programming language. For example, the Genesis database system ....
John M. Vlissides and Mark A. Linton. Unidraw: A framework for building domain-specific graphical editors. In Proceedings of the ACM User Interface Software and Technologies '89 Conference, pages 81--94, November 1989.
....as a MULTI QUEUE tool, where steps are queued for one at at time execution (and the user interface is transferred among users participating in the same session as needed) and ffl Oz itself as a MULTI NO QUEUE tool (that supplies its own clients for multiple users) 5.1. UNI QUEUE: idraw idraw [67] is a popular public domain drawing tool, commonly used to develop pictures and diagrams stored in a postscript form. It provides an intuitive graphical user interface employing a well known paradigm based on mouse movement and menu selection to operate on a virtual canvas shown within an X ....
John M. Vlissides and Mark A. Linton. Unidraw: A framework for building domain-specific graphical editors. ACM Transactions on Information Systems, 8(3):237--268, July 1990.
....interactives, le modle aide la construction d une partie importante de la description du comportement dynamique de l interaction. KEYWORDS: User Interface Design, Interface Metaphors, Input Devices. Introduction Building interactive graphical programs is still a difficult task. Some toolkits [13, 10] propose a framework for building task specific editors, but the kind of editors they can produce are stereotyped in several ways: they only consider keyboard and a mouse input, their graphic model is close to the PostScript model, their interaction is based on stereotyped graphic objects ....
J. M. Vlissides, M. A. Linton, Unidraw: A Framework for Building Domain-Specific Graphical Editors, ACM-Transactions on Information Systems, 8, 3, July 1990, pp. 237--269.
....must be replaced by messages sent to Active Values. Known Uses Active values were first provided as part of the language in LOOPS [22] VisualWorks s ValueModel framework is based on this pattern [18] In particular, the ValueHolder object is a generic Active Value. The Cooldraw [7] Unidraw [23], and QOCA [11] constraint solvers all use Active Values to represent variables explicitly: the last two uses are mentioned in Design Patterns [8] Related Patterns Active Value refines Relationship Object (2) so this pattern s benefits and liabilities are similar to those of Relationship ....
John M. Vlissides and Mark A. Linton. Unidraw: A framework for building domain-specific graphical editors. ACM Transactions on Information Systems, 8(3), 1990.
....application objects must explicitly be routed through the parent object, whereas an interface object in GINA can have taps to arbitrary application objects. However, a PAC model of a particular application can be implemented using taps. Command objects have been used in MacApp [14] InterViews [16] and several other systems. In GINA, commands are not only used for undo, but for all user interactions (interaction recorder [2] and thus can be used to trigger taps. EXAMPLE To give an example, the following section describes how taps are used in a simple graphic editor demo. The editor has ....
Vlissides, J.M., Linton, M.A., Unidraw: A Framework for Building Domain-Specific Graphical Editors. ACM Trans. Inf. Syst. 8, 3 (July 1990), 237--268
....and because it is not easy to create new widgets when the existing ones are not sufficient. In this case, the programmer may use so called view objects inside a drawing area (a view) View objects are programmed using GINA classes and the basic X drawing operations in a way similar to Unidraw [Vlissides90] or the Opal layer of the Garnet toolkit [Myers90b] In contrast to research systems, Motif has a much higher complexity. The Motif widget classes have up to 70 parameters and need several hundred pages of documentation. The GINA interface builder employs a number of measures to reduce this ....
....of a window definition is the dynamic layout that determines, for example, how a window layout changes in response to resize operations. Earlier systems, such as vu [Singh90a] support only static layout like in a graphic editor. Unfortunately, layout models such as stretching [Cardelli88] glue [Vlissides90] or arbitrary constraints [Myers90b] cannot be used in Motif without writing a special manager widget. The GINA interface builder solves this problem by providing the ruler model that maps onto Motif s native facilities. A similar ruler model but with general constraints is described in ....
John M. Vlissides, Mark A. Linton, Unidraw: A Framework for Building Domain-Specific Graphical Editors, ACM Trans. Inf. Syst. 8, 3 (July 1990), pp. 237-268
....the application. Even with a tool kit such as InterViews, however, the task of writing any application using a graphical user interface is still daunting. Unidraw is a framework designed specifically for creating domain specific graphical editors and is built on top of the InterViews tool kit [12]. By domain specific, it is meant that Unidraw allows customized objects and relationships between objects to be defined on the part of the application. In the case of the statechart editor, the customized objects would be states, clusters, sets, and transitions, and the relationships between ....
John M. Vlissides and Mark A. Linton. "Unidraw: A Framework for Building DomainSpecific Graphical Editors." ACM Transactions on Information Systems, vol. 8, no. 3, July 1990. pp. 237--268.
....when useability or strong traditions demand. 2.2. Structured Graphics One goal is for the schematic translator drip to be as independent of the drawing program as possible. As a first step, drip is an entirely separate program from our drawing program the generic idraw variant of Unidraw [9]. The only way that the two programs can communicate is through files. The schematic translator reads the output files of the drawing program, much as a compiler reads files written by a text editor. To force independence, another goal is that the schematic translator be easily retargetable to ....
J. Vlissides, M. Linton. Unidraw: A Framework for Building Domain-Specific Graphical Editors . ACM Transactions on Information Systems 8(3):237--268, July, 1990.
....formed and valid. After the analysis, other actions can be performed on the constructed state machine. These include code generation or interactive animated simulation, for instance. 5 Related Work Framework based implementation of graphical editors is a well covered subject in the literature [6, 10, 2]. These frameworks employ constraints over graphical objects for specifying the semantics. However, there is no notion of grammar in these approaches. Our work extends general editor frameworks with a rigorous specification and implementation methodology for visual languages. The Vampire system ....
John M. Vlissides and Mark A. Linton. Unidraw: A framework for building domain-specific graphical editors. ACM Transactions on Information Systems, 8(3):237---268, July 1990.
....z fken,matsug is.s.u tokyo.ac.jp widgets. Furthermore, it is difficult even for programmers to foresee how the GUI being constructed will be visualized during the coding process. Previous advanced widget frameworks have attempted to address these issues: For example, UniDraw [16] does relegate some amount of nonapplication specific code into the widget framework, but only primitive behaviors such as widget layouting are supported without customization. MoDE [12] UIMS provides composibility of constituent parts of widgets. It also enables the programmer to join the modules ....
John M. Vlissides and Mark A. Linton. Unidraw: A framework for building domain-specific graphical editors. In Proceedings of the ACM SIGGRAPH Symposium on User Interface Software and Technology, pages 158--167, 1989.
....is in a unique combination of these concepts and its application to heterogeneous groupware. The multi tier architecture is a common architecture for information systems that include user interfaces and persistent storage of data (see, e.g. 15] Our 2 design draws on the designs of Unidraw [24] and Fresco [5] 23] single user) systems and extensively employs software design patterns [7] 3] The Model View Controller (MVC) pattern was first introduced in the Smalltalk programming language [14] The pattern is very popular and frequently used in single user applications [3] However, ....
....may implement some or all the listener interfaces (AppearanceListener, PropertyChangeListener, and or TransformListener) as needed. The key user activity in graphical user interfaces is direct manipulation of screen objects. The classes that support direct manipulation are Tool and Manipulator [24]. Tool encapsulates information about the current direct manipulation mode, e.g. rotation, resizing, etc. Tools are essentially state objects for DocumentViews (see the State pattern in [7] Manipulator encapsulates a Tool s manipulation behavior and is responsible for providing visual feedback ....
Vlissides, J. M., and M. A. Linton, "Unidraw: A Framework for Building Domain-Specific Graphical Editors," ACM Trans. Information Systems, 8(3), 237-268 (July 1990).
....a variety of applications. Most modern applications have graphical user interfaces, typically two dimensional. Thus, there are a variety of graphics libraries supporting 2D drawing and interac3 tion. These include the X Window System and toolkits written for it, such as Motif [13] and Interviews [19], the PostScript programming language, Garnet [11] and the Macintosh Toolbox. Some graphics libraries are tailored to more specific tasks, such as image composition and three dimensional rendering, as provided by PHIGS [7] GL [14] and Dor e [9] These packages are currently targeted at ....
John M. Vlissides and Mark A. Linton. Unidraw: a framework for building domain-specific graphical editors. In Proceedings of the ACM SIGGRAPH Symposium on User Interface Software and Technology, pages 158--167, 1989.
....and the ability to package filter and action models for reuse via a single visual item [32] Many tools supporting the generation of editors for visual representations use textual specification of icon appearance and editor behaviour. Examples include Garnet [9] Amulet [10] Zeus [21] Unidraw [17], KOGGE [25] and MetaEDIT [3] These toolkit based approaches lead to complex specifications which bare little resemblance to the actual icons and editing behaviour desired. In particular, the specification of icon layout and editing constraint in these systems is complex and often unintuitive. ....
Vlissides, J.M. and Linton, M., "Unidraw: A framework for building domain-specific graphical editors," in Proceedings of the ACM SIGGRAPH Symposium on User Interface Software and Technology, ACM Press, 1989, pp. 158-167.
.... Our immediate plans are to address the concurrency control issues, building a layer of support for generic shared graphical objects, that follow ideas presented in [15] Ideally, a framework for building domain specific group graphical editors could be created, drawn from the ideas in Unidraw [29]. Some other work has focussed on blurring the distinction between synchronous and asynchronous groupware, by providing a system that determines the appropriate means of conferencing (synchronous or asynchronous) and makes available various communication channels (text, voice, video) The choices ....
Vlissides, J.M. and Linton, M.A. Unidraw: A Framework for Building Domain-Specific Graphical Editors. In Proc. of User Interface Software and Technology, Oct. 1989.
....modifying mkdossier to output a dossier for a class only if at least one of the source files defines a noninlined member function of that class. AT T cfront 2.0 already uses a similar heuristic to decide when to generate a virtual function table. 4 Experience We used the Unidraw library [4] as a test bed because it already defines symbolic class identifiers for most of the classes in the library. We changed the typedef ClassId from unsigned int to class Dossier and the symbolic class identifiers from integer constants to variables. 6 This change allowed us to use most of ....
John M. Vlissides and Mark A. Linton. Unidraw: A framework for building domain-specific graphical editors. In Proceedings of the ACM SIGGRAPH Symposium on User Interface Software and Technology, pages 158--167, Williamsburg, VA, November 1989.
No context found.
John M. Vlissides, Marc A. Linton. UniDraw: A framework for building domain-specific graphical editors. In: ACM Transactions on Information Systems, 8(3): pp 237-268, July 1990.
First 50 documents Next 50
Online articles have much greater impact More about CiteSeer.IST Add search form to your site Submit documents Feedback
CiteSeer.IST - Copyright Penn State and NEC