Results 11 -
17 of
17
Some Patterns for Relationships
- In TOOLS 21
, 1996
"... Relationships between objects are almost as important to designs as objects themselves. Most programming languages do not support relationships well, so programmers must implement relationships in terms of more primitive constructs. This collection of patterns describe how objects can be used to mod ..."
Abstract
-
Cited by 5 (3 self)
- Add to MetaCart
Relationships between objects are almost as important to designs as objects themselves. Most programming languages do not support relationships well, so programmers must implement relationships in terms of more primitive constructs. This collection of patterns describe how objects can be used to model relationships within programs. By using these patterns, programs and designs can be smaller, more flexible, and easier to understand and maintain. Introduction Relationships, also known as collaborations or associations, are very important in the object oriented design model. For example, collaborations make up one third of the Class/Responsibility/Collaboration design technique [22], and Rumbaugh has claimed relationships are complementary to (and as important as) objects themselves [16]. Unfortunately, most object oriented programming languages do not support relationships well. For example, design relationships may be unidirectional or bidirectional; they may associate one object with...
Analyzing and Debugging Hierarchies of Multi-Way Local Propagation Constraints
- Principles and Practice of Constraint Programming
, 1994
"... Multi-way local propagation constraints are a powerful and flexible tool for implementing applications such as graphical user interfaces. We have built constraint solvers that maintain sets of preferential multiway constraints, and integrated them into user interface development environments. These ..."
Abstract
-
Cited by 5 (1 self)
- Add to MetaCart
Multi-way local propagation constraints are a powerful and flexible tool for implementing applications such as graphical user interfaces. We have built constraint solvers that maintain sets of preferential multiway constraints, and integrated them into user interface development environments. These solvers are based on the formal theory of constraint hierarchies, leaving weaker constraints unsatisfied in order to solve stronger constraints if all of the constraints cannot be satisfied. Our experience has indicated that large constraint networks can be difficult to construct and understand. To investigate this problem, we have developed a system for interactively constructing constraintbased user interfaces, integrated with tools for displaying and analyzing constraint networks. This paper describes the debugging facilities of this system, and presents a new algorithm for enumerating all of the ways that the solver could maintain a set of constraints. 1 Introduction A multi-way local ...
Extending Interactive Graphical Applications with Constraints
, 2000
"... A constraint is a relation that we would like to maintain. Over the last thirty years, a number of problems have prevented constraints from being widely accepted for use in interactive graphical applications. The biggest difficulty of applying constraints has been finding the right tradeoff betwee ..."
Abstract
-
Cited by 5 (1 self)
- Add to MetaCart
A constraint is a relation that we would like to maintain. Over the last thirty years, a number of problems have prevented constraints from being widely accepted for use in interactive graphical applications. The biggest difficulty of applying constraints has been finding the right tradeoff between performance and expressiveness. To be able to satisfy systems of constraints efficiently enough for real-time use, interactive applications have restricted the problem to solving less-expressive sets of constraints. One common such restriction is to require that the constraint relationships are acyclic, thus enabling simple techniques based on local propagation. Unfortunately, these limitations in expressiveness counteract the benefits that the declarative specification of relationships with constraints is inten...
Automatic generation of intelligent diagram editors
- ACM Trans. Comput.-Human Interact
, 2003
"... The intelligent diagram is a recent metaphor for diagramming in which the underlying graphic editor parses the diagram as it is being constructed, performing error correction and collecting geometric constraints that capture the relationships between diagram components. During diagram manipulation a ..."
Abstract
-
Cited by 4 (0 self)
- Add to MetaCart
The intelligent diagram is a recent metaphor for diagramming in which the underlying graphic editor parses the diagram as it is being constructed, performing error correction and collecting geometric constraints that capture the relationships between diagram components. During diagram manipulation a constraint solver uses these geometric constraints to maintain the diagram’s semantics. We introduce the Penguins system. This automates the development of graphical editors that support the intelligent diagram metaphor. It takes a grammatical specification of a particular diagram language and generates an editor specialized for the creation, manipulation and parsing of diagrams in that visual language. We extend previous research in this area by allowing more expressive grammars, performing automatic error correction, and detailing how efficient incremental parsing has been achieved. We also provide an empirical evaluation of the system. This shows that the system can be used to generate customized editors for a wide variety of diagram languages, ranging from state transition diagrams to mathematical equations, with real-time incremental parsing and error correction.
Constraints in Interactive Graphical Applications
, 1998
"... Constraints provide a declarative means for specifying relationships that we wish to hold true. Interactive graphical applications give rise to varying kinds of constraints, and researchers have developed diverse constraint solving techniques. I survey the classes of constraints used by numerous dra ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
Constraints provide a declarative means for specifying relationships that we wish to hold true. Interactive graphical applications give rise to varying kinds of constraints, and researchers have developed diverse constraint solving techniques. I survey the classes of constraints used by numerous drawing, graph layout, visualization and animation systems. I describe a taxonomy of the constraint solving methods used to satisfy these systems and compare solver expressiveness and performance. Though backtracking algorithms have not yet been used successfully in interactive graphical applications, I summarize work on various backtracking algorithms and suggest ways to begin to improve their performance so they might be used in the user interface domain. 1 Introduction From the inception of graphical user interfaces, systems have tried to use constraints to maintain relationships among on-screen entities [Sut63]. Constraints permit the designers or users of a system to express what they wis...
Managing Business Domain Architectures through Use Case Formalisms
, 1998
"... The areas of domain engineering, vertical application frameworks, and business objects have generated considerable interest in industry and the research community during the last few years. In order for systems to be successfully implemented from such application frameworks, there are two major conc ..."
Abstract
-
Cited by 1 (1 self)
- Add to MetaCart
The areas of domain engineering, vertical application frameworks, and business objects have generated considerable interest in industry and the research community during the last few years. In order for systems to be successfully implemented from such application frameworks, there are two major concerns that must be addressed: how do we maintain non-interfering applications and how do we minimize bias towards any individual application in developing the domain model? In other words, as we add new applications, we need to ensure that they are not destructive to each other. We also need to make certain that as we expand the domain model to accommodate new applications, that these future applications are not unnecessarily constrained or complex. Most of the related work to date has focused on defining the architectural structure of application frameworks or on maintaining structural and behavioral consistency. For my Ph.D. thesis, I propose to develop a conceptual framework for integrating various techniques to facilitate managing the evolution of a business domain architecture. As part of this conceptual framework, I distinguish between a ‘good design ’ and a ‘legal design’. In order to demonstrate the
Incremental Querying In The Concurrent Clp Language Ifd-Constraint Pandora
, 1996
"... Lee and Leung propose the IQ-scheme [11], a framework for efficient incremental query processing in concurrent constraint logic programming. They show that the performance of the IQ-scheme is in general better than the scheme proposed by Van Hentenryck and Le Provost [22]. IFD-Constraint Pandora is ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
Lee and Leung propose the IQ-scheme [11], a framework for efficient incremental query processing in concurrent constraint logic programming. They show that the performance of the IQ-scheme is in general better than the scheme proposed by Van Hentenryck and Le Provost [22]. IFD-Constraint Pandora is an instance of the Constraint Pandora class of languages that supports finite domain and interval constraints. In this paper we show how the IQscheme can be incorporated in IFD-Constraint Pandora. We first describe the IFD-Constraint Pandora language, its operational semantics and constraint satisfaction mechanism. Then we present an implementation scheme for the IQscheme in the IFD-Constraint Pandora language, which is based on the concept of constraint effective point . Finally, we present some preliminary results of applying the IQ-scheme to an IFD-Constraint Pandora program that solves the mapcoloring problem.

