Results 1 - 10
of
15
How do people organize their desks? Implications for the design of office information systems
- ACM Transactions on Office Information Systems
, 1983
"... This paper describes a series of interviews focusing on the way professional and clerical office workers organize the information in their desks and offices. A number of implications for designing "natural" and convenient computer-based information systems are discussed. Two principal clai ..."
Abstract
-
Cited by 185 (0 self)
- Add to MetaCart
This paper describes a series of interviews focusing on the way professional and clerical office workers organize the information in their desks and offices. A number of implications for designing "natural" and convenient computer-based information systems are discussed. Two principal claims are made: (1) A very important function of desk organization is to remind the user of things to do, not just to help the user find desired information. Failing to support this function may seriously impair the usefulness of electronic office systems, and explicitly facilitating it may provide an important advantage for automated office systems over their nonautomated predecessors. (2) The cognitive difficulty of categorizing information is an important factor in explaining how people organize their desks. Computer-based systems may help with this difficulty by (a) doing as much automatic classification as possible (e.g., based on access dates}, and (b) including untitled "piles " of information arranged by physical location as well as explicitly titled and logically arranged "files." Several other implications for the design of electronic office systems are discussed, and some differences in how people organize their desks are described. Categories and Subject Descriptors: H.1.2 [Models and Principles]: User/Machine Systems--
Traits: A mechanism for fine-grained reuse
- Transactions on Programming Languages and Systems
, 2006
"... Inheritance is well-known and accepted as a mechanism for reuse in object-oriented languages. Unfortunately, due to the coarse granularity of inheritance, it may be difficult to decompose an application into an optimal class hierarchy that maximizes software reuse. Existing schemes based on single i ..."
Abstract
-
Cited by 60 (18 self)
- Add to MetaCart
Inheritance is well-known and accepted as a mechanism for reuse in object-oriented languages. Unfortunately, due to the coarse granularity of inheritance, it may be difficult to decompose an application into an optimal class hierarchy that maximizes software reuse. Existing schemes based on single inheritance, multiple inheritance, or mixins, all pose numerous problems for reuse. To overcome these problems we propose traits, pure units of reuse consisting only of methods. We develop a formal model of traits that establishes how traits can be composed, either to form other traits, or to form classes. We also outline an experimental validation in which we apply traits to refactor a non-trivial application into composable units.
Active databases as a paradigm for enhanced computing environments
- Proceedings of the 9th International Conference of Very Large Data Bases
, 1983
"... Active databases emphasize the notion that a body of information is dynamic and should respond intelligently and in non-trivial ways to the user. It provides a paradigm for research and development which combines aspects of both database and artificial intelligence technologies. A prototype system h ..."
Abstract
-
Cited by 42 (0 self)
- Add to MetaCart
Active databases emphasize the notion that a body of information is dynamic and should respond intelligently and in non-trivial ways to the user. It provides a paradigm for research and development which combines aspects of both database and artificial intelligence technologies. A prototype system has shown the viability of this approach. We focus on the following database issues: (1) Descriptions are used as semantic templates for associatively accessing and manipulating data objects. (2) Dynamic views minimize the typical distinctions between queries and retrievals, and between views and real data, and thereby increase the perceived immediacy of the user interface. (3) Constraint Equations are developed as a declarative representation for semantic constraints. The uniform approach they provide for expressing database integrity, consistency, and more general semantics derives its power from the rule-based framework of recent A.I. expert systems. The efficiency of constraint maintenance also is considered. Lastly, (4) The notion of binding time of data associations and reference is discussed relative to both the choice of data model and to the method of data access. 1. Int reduction The working environment for computer scientists, managers, and office workers has in common the need to dynamically organize and keep consistent a large complex of interrelated information. Whether the information involves messages,
A Survey of Hypertext
, 1995
"... Hypertext is a computer-supported medium for information in which many interlinked documents are displayed with their links on a high-resolution computer screen. The links may be directly activated by a pointing device such as a mouse, which causes the document referenced by the link to appear insta ..."
Abstract
-
Cited by 16 (0 self)
- Add to MetaCart
Hypertext is a computer-supported medium for information in which many interlinked documents are displayed with their links on a high-resolution computer screen. The links may be directly activated by a pointing device such as a mouse, which causes the document referenced by the link to appear instantly in a new window on the screen. While the concepts of hypertext are not new, the technology to make it effective is new. This paper reviews most of the existing hypertext systems, and then explores in some detail the fundamental features of hypertext and some of the design options in constructing hypertext systems. The advantages and disadvantages of hypertext are discussed in terms of four major application categories: macro literary systems, problem exploration systems, structured browsing systems, and systems developed to explore hypertext technology.
Resolving Fragmentation Conflicts in Schema Integration
, 1994
"... Research on schema integration leads to the identification of many different conflict types. Some of them received much attention and many papers proposed solutions for their resolution. However, literature usually focuses on traditional problems, whilst new kinds of schema discrepancies, due t ..."
Abstract
-
Cited by 15 (0 self)
- Add to MetaCart
Research on schema integration leads to the identification of many different conflict types. Some of them received much attention and many papers proposed solutions for their resolution. However, literature usually focuses on traditional problems, whilst new kinds of schema discrepancies, due to the object orientation or the generalization concept, are not really treated. Moreover, most of the proposed methodologies and strategies only allow binary comparisons between items to be integrated. This paper discusses n-ary (also called one-many) conflicts, and particularly the three fragmentation conflict types. These conflict types need specific operators for schema comparison. We propose a simple unified language for easy specification of these conflicts, and give many different techniques to solve them. We emphasize the benefit of separating the declaration of the correspondences from the choice of resolution technique. Our discourse is illustrated with the entity-relati...
Encapsulating and exploiting change with Changeboxes
- In Proceedings of the 2007 International Conference on Dynamic Languages (ICDL 2007
, 2007
"... www.iam.unibe.ch/∼scg Abstract. Real world software systems change continuously to meet new demands. Most programming languages and development environments, however, are more concerned with limiting the effects of change rather than enabling and exploiting change. Various techniques and technologie ..."
Abstract
-
Cited by 10 (6 self)
- Add to MetaCart
www.iam.unibe.ch/∼scg Abstract. Real world software systems change continuously to meet new demands. Most programming languages and development environments, however, are more concerned with limiting the effects of change rather than enabling and exploiting change. Various techniques and technologies to exploit change have been developed over the years, but there exists no common support for these approaches. We propose Changeboxes as a general-purpose mechanism for encapsulating change as a firstclass entity in a running software system. Changeboxes support multiple, concurrent and possibly inconsistent views of software artifacts within the same running system. Since Changeboxes are first-class, they can be manipulated to control the scope of change in a running system. Furthermore, Changeboxes capture the semantics of change. Changeboxes can be used, for example, to encapsulate refactorings, or to replay or analyze the history of changes. In this paper we introduce Changeboxes by means of a prototype implementation. We illustrate the benefits that Changeboxes offer for evolving software systems, and we present the results of a preliminary performance evaluation that assesses the costs associated with Changeboxes while suggesting possible strategies for improvement. 1
Selection and Exploration in an Object-Oriented Environment: The Affinity Browser
, 1990
"... Reusability is widely believed to be a key to improving software development productivity. However, in practice, effective reuse is more an achievement of good development environments than a strategy for software development. It seems natural that a reduction of the effort needed for reuse should h ..."
Abstract
-
Cited by 9 (0 self)
- Add to MetaCart
Reusability is widely believed to be a key to improving software development productivity. However, in practice, effective reuse is more an achievement of good development environments than a strategy for software development. It seems natural that a reduction of the effort needed for reuse should have a positive impact on reuse. Among the various lines of attack that may lead to a reduction of the reuse effort, we address the problem of finding and understanding reusable functionality in an object-oriented software environment. This paper presents the Affinity Browser, a selection and exploration tool based on the notion of affinity between objects. The user is presented with a two dimensional display where the objects are displayed in such a way that their relative positions convey their affinity i.e., objects lying closer together are more strongly related than objects lying farther apart. The browser provides for different views of the relationships among objects. Each view is base...
PerspectiveS - AspectS with Context
- In: Proceedings of the OOPSLA 2002 Workshop on Engineering Context-Aware Object-Oriented Systems and Environments (ECOOSE
, 2002
"... PerspectiveS allows for dynamic behavior layering in the Squeak environment. Inspired by PIE and based on AspectS, PerspectiveS coordinates contextawareness of a set of aspects, and so allows to decorate a system with context-dependent behavior, without requiring developers of the base system to ..."
Abstract
-
Cited by 8 (6 self)
- Add to MetaCart
PerspectiveS allows for dynamic behavior layering in the Squeak environment. Inspired by PIE and based on AspectS, PerspectiveS coordinates contextawareness of a set of aspects, and so allows to decorate a system with context-dependent behavior, without requiring developers of the base system to be aware of potential decorations. The paper illustrates PerspectiveS and its application to dynamically extend Squeak's code browsers to navigate structural relationships between aspects and system parts affected by them, depending upon the current project as context.
RABBIT: An Interface for Database Access
, 1982
"... A new kind of user interface for information retrieval has been designed and implemented to aid users in formulating a query. The system, called RABBIT, relies upon a new paradigm for retrieval by reformulation, based on a psychological theory of human remembering. The paradigm actually evolved from ..."
Abstract
-
Cited by 3 (0 self)
- Add to MetaCart
A new kind of user interface for information retrieval has been designed and implemented to aid users in formulating a query. The system, called RABBIT, relies upon a new paradigm for retrieval by reformulation, based on a psychological theory of human remembering. The paradigm actually evolved from an explicit attempt to design a 'natural' interface which imitated human retrieval processes. To make a query in RABBIT, the user interactively refines partial descriptions of his target item(s) by criticizing successive example (and counterexample) instances that satisfy the current partial description. Instances from the database are presented to the user from a perspective inferred from the user's query description and the structure of the knowledge base. Among other things, this constructed perspective reminds users of likely terms to use in their descriptions, enhances their understanding of the meaning of given terms, and prevents them from creating certain classes of semantically improper query descriptions. RABBIT particularily facilitates users who approach a database with only a vague idea of what it is that they want and who thus, need to be guided in the (re)formulation of their queries. RABBIT is also of substantial value to casual users who have limited knowledge of a given database or who must deal with a multitude of databases.
Context-Oriented Programming: Beyond Layers ⋆
"... Abstract. While many software systems today have to be aware of the context in which they are executing, there is still little support for structuring a program with respect to context. A first step towards better context-orientation was the introduction of method layers. This paper proposes two add ..."
Abstract
-
Cited by 3 (0 self)
- Add to MetaCart
Abstract. While many software systems today have to be aware of the context in which they are executing, there is still little support for structuring a program with respect to context. A first step towards better context-orientation was the introduction of method layers. This paper proposes two additional language concepts, namely the implicit activation of method layers, and the introduction of dynamic variables. 1

