Learn More
 When designing in some field, often the same general type of problems are encountered  Usually, there are a set of ways that are " good " for handling such design problems  Rather than reinventing these good solutions, it would be helpful to have a way to recognize the design problem, and know what good solutions to it would tend to be (or already(More)
Behavioral compositions, groups of interdependent objects cooperating to accomplish tasks, are an important feature of object-oriented systems. This paper introduces <italic>Contracts</italic>, a new technique for specifying behavioral compositions and the obligations on participating objects. Refinement and composition of contracts allows for the creation(More)
BACKGROUND There are now a multitude of articles published in a diversity of journals providing information about genes, proteins, pathways, and diseases. Each article investigates subsets of a biological process, but to gain insight into the functioning of a system as a whole, we must integrate information from multiple publications. Particularly,(More)
We propose design patterns as a new mechanism for expressing object-oriented design experience. Design patterns identify, name, and abstract common themes in object-oriented design. They capture the intent behind a design by identifying objects, their collaborations , and the distribution of responsibilities. Design patterns play many roles in the(More)
Numerous classes, complex inheritance and containment hierarchies, and diverse patterns of dynamic interaction all contribute to diiculties in understanding, reusing, debugging, and tuning large object-oriented systems. To help overcome these diiculties, we introduce novel views of the behavior of object-oriented systems and an architecture for creating and(More)
New techniques for browsing amongst functionally related classes, and retrieving classes from object-oriented class libraries are presented. These techniques make use of two potent, and rea.dily available sources of information: the source code of each class, and its associated documentation. We describe how the integration of information retrieval(More)
We present a method for converting a system of multivariate Boolean constraints into a sequence of univariate range queries of the type supported by current spatial databases. The method relies on the transformation of a Boolean constraint system into triangular form. We extend previous results in this area by considering negative as well as positive(More)
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-speciic graphics editors have provided constraint-based(More)