Results 1 - 10
of
36
Reusing Software: Issues And Research Directions
, 1995
"... Software productivity has been steadily increasing over the last 30 years, but not enough to close the gap between the demands placed on the software industry and what the state of the practice can deliver [22,39]; nothing short of an order of magnitude increase in productivity will extricate the so ..."
Abstract
-
Cited by 143 (7 self)
- Add to MetaCart
Software productivity has been steadily increasing over the last 30 years, but not enough to close the gap between the demands placed on the software industry and what the state of the practice can deliver [22,39]; nothing short of an order of magnitude increase in productivity will extricate the software industry from its perennial crisis [39,67]. Several decades of intensive research in software engineering and artificial intelligence left few alternatives but sofware reuse as the (only) realistic approach to bring about the gains of productivity and quality that the software industry needs. In this paper, we discuss the implications of reuse on the production, with an emphasis on the technical challenges. Software reuse involves building software that is reusable by design, and building with reusable software. Software reuse includes reusing both the products of previous software projects, and the processes deployed to produce them, leading to a wide spectrum of reuse approaches, from the building blocks (reusing products) approach on one hand, to the generative or reusable processor (reusing processes) on the other [68]. We discuss the implications of such appproaches on the organization, control, and method of software development and discuss proposed models for their economic analysis. Software reuse benefits from methodologies and tools to: 1) build more readily reusable software, and 2) locate, evaluate, and tailor reusable software, the latter being critical for the building blocks approach. Both sets of issues are discussed in this paper, with a focus on application generators and object-oriented development for the first, and a thorough discussion of retrieval techniques for software components, component composition (or bottom-up design) and transformational systems for the second. We conclude by highlighting areas that, in our opinion, are worthy of further investigation.
SAAM: A Method for Analyzing the Properties of Software Architectures
- in Proceedings of the 16th International Conference on Software Engineering
, 1994
"... While software architecture has become an increasingly important research topic in recent years, insufficient atten-tion has been paid to methods for evaluation of these archi-tectures. Evaluating architectures is dijjicultfor two main reasons. First, there is no common language used 10 de-scribe di ..."
Abstract
-
Cited by 120 (16 self)
- Add to MetaCart
While software architecture has become an increasingly important research topic in recent years, insufficient atten-tion has been paid to methods for evaluation of these archi-tectures. Evaluating architectures is dijjicultfor two main reasons. First, there is no common language used 10 de-scribe different architectures. Second, there is no clear way of understanding an architecture with respect to an organi-zation’s ll~e cycle concerns—software quality concerns such as maintainability, portability, modularity, reusability, and so forth. This paper addresses these shortcomings by describing three perspectives by which we can understand the description of a soflware architecture and then propos-ing ajve-step method for analyzing software architectures called SAAM (Software Architecture Analysis Method). We illustrate the method by analyzing three separate user in-terface architectures with respect to the qualiiy of modifi-ability. 1
User Interface Software Tools
- ACM TRANSACTIONS ON COMPUTER-HUMAN INTERACTION
, 1993
"... Almost as long as there have been user interfaces, there have been special software systems and tools to help design and implement the user interface software. Many of these tools have demonstrated significant productivity gains for programmers, and have become important commercial products. Others ..."
Abstract
-
Cited by 109 (8 self)
- Add to MetaCart
Almost as long as there have been user interfaces, there have been special software systems and tools to help design and implement the user interface software. Many of these tools have demonstrated significant productivity gains for programmers, and have become important commercial products. Others have proven less successful at supporting the kinds of user interfaces people want to build. This article discusses the different kinds of user interface software tools, and investigates why some approaches have worked and others have not. Many examples of commercial and research systems are included. Finally, current research directions and open issues in the field are discussed.
The use of eye movements in human-computer interaction techniques: What you look at is what you get
- ACM Transactions on Information Systems
, 1991
"... In seeking hitherto-unused methods by which users and computers can comrnumcate, we investigate the usefulness of eye movements as a fast and convenient auxiliary user-to-computer communication mode. The barrier to exploiting this medium has not been eye-tracking tech-nology but the study of interac ..."
Abstract
-
Cited by 105 (9 self)
- Add to MetaCart
In seeking hitherto-unused methods by which users and computers can comrnumcate, we investigate the usefulness of eye movements as a fast and convenient auxiliary user-to-computer communication mode. The barrier to exploiting this medium has not been eye-tracking tech-nology but the study of interaction techniques that incorporate eye movements mto the user-computer dialogue in a natural and unobtrusive way This paper discusses some of the human factors and technical considerations that arise in trying to use eye movements as an input medium, describes our approach and the first eye movement-based interaction techniques that we have devised and implemented in our laboratory, and reports our experiences and observa tions on them. Categories and Subject Descriptors: D.2.2 [Software Engineering]: Tools and Techniques — user interfaces; H. 1.2 [Models and Principles]: User/Machine Systems — human factors; H. 5,2
Three-Dimensional Widgets
, 1992
"... The 3D components of today's user interfaces are still underdeveloped. Direct interaction with 3D objects has been limited thus far to gestural picking, manipulation with linear transformations, and simple camera motion. Further, there are no toolkits for building 3D user interfaces. We present a sy ..."
Abstract
-
Cited by 91 (3 self)
- Add to MetaCart
The 3D components of today's user interfaces are still underdeveloped. Direct interaction with 3D objects has been limited thus far to gestural picking, manipulation with linear transformations, and simple camera motion. Further, there are no toolkits for building 3D user interfaces. We present a system which allows experimentation with 3D widgets, encapsulated 3D geometry and behavior. Our widgets are first-class objects in the same 3D environment used to develop the application. This integration of widgets and application objects provides a higher bandwidth between interface and application than exists in more traditional UI toolkit-based interfaces. We hope to allow user-interface designers to build highly interactive 3D environments more easily than is possible with today's tools. Keywords User Interface Design, Widgets, 3D Interaction, Virtual Reality 1 Introduction Modern user-interface software is built using widgets, objects with geometry and behavior used to control the ap...
WHAT YOU LOOK AT IS WHAT YOU GET: Eye Movement-based Interaction Techniques
- CHI '90
, 1990
"... In seeking hitherto-unused methods by which users and computers can communicate, we investigate the usefulness of eye movements as a fast and con-venient auxiliary user-to-computer communication mode. The barrier to exploiting this medium has not been eye-tracking technology but the study of interac ..."
Abstract
-
Cited by 64 (4 self)
- Add to MetaCart
In seeking hitherto-unused methods by which users and computers can communicate, we investigate the usefulness of eye movements as a fast and con-venient auxiliary user-to-computer communication mode. The barrier to exploiting this medium has not been eye-tracking technology but the study of interaction techniques that incorporate eye move-ments into the user-computer dialogue in a natural and unobtrusive way. This paper discusses some of the human factors and technical considerations that arise in trying to use eye movements as an input medium, describes our approach and the first eye movement-based interaction techniques that we have devised and implemented in our laboratory, and reports our experiences and observations on them.
The Simple Virtual Environment Library: An Extensible Framework for Building VE Applications
- Presence: Teleoperators and Virtual Environments
, 2000
"... As virtual environment (VE) technology becomes accessible to and affordable for an everwidening audience of users, there will be an increase in demand for VE applications. Tools that assist and facilitate the development of these applications, therefore, will also be in demand. To support our effort ..."
Abstract
-
Cited by 37 (24 self)
- Add to MetaCart
As virtual environment (VE) technology becomes accessible to and affordable for an everwidening audience of users, there will be an increase in demand for VE applications. Tools that assist and facilitate the development of these applications, therefore, will also be in demand. To support our efforts in quickly designing and implementing virtual environment applications, we have developed the Simple Virtual Environment (SVE) library. In this article we describe the characteristics of the library which support the development of both simple and complex VE applications. Simple applications are created by novice programers or for rapid prototyping. More complex applications incorporate new user input and output devices, and new techniques for user interaction, rendering, or animation. The SVE library provides more comprehensive support for developing new VE applications, and better supports the various device configurations of VE applications than current systems for 3D graphical applicat...
An Environment for Computational Steering
- Centre for Mathematics and Computer Science (CWI
, 1997
"... Computational Steering is the ultimate goal of interactive simulation: researchers change parameters of their simulation and immediately receive feedback on the effect. We present a general and flexible environment for computational steering. Within this environment a researcher can easily develo ..."
Abstract
-
Cited by 35 (9 self)
- Add to MetaCart
Computational Steering is the ultimate goal of interactive simulation: researchers change parameters of their simulation and immediately receive feedback on the effect. We present a general and flexible environment for computational steering. Within this environment a researcher can easily develop user interfaces and 2-D visualizations of his simulation. Direct manipulation is supported, and the required changes of the simulation are minimal. The architecture of the environment is based on a Data Manager that takes care of centralized data storage and event notification, and satellites that produce and visualize data. One of these satellites is a graphics tool to define a user interface interactively and to visualize the data.
User Interface Specification Using an Enhanced Spreadsheet Model
, 1993
"... This paper describes a new interactive environment for user interface specification which is based on an enhanced spreadsheet model of computation. This environment allows sophisticated graphical user interfaces with dynamic feedback to be implemented with little or no explicit programming. Its goal ..."
Abstract
-
Cited by 25 (0 self)
- Add to MetaCart
This paper describes a new interactive environment for user interface specification which is based on an enhanced spreadsheet model of computation. This environment allows sophisticated graphical user interfaces with dynamic feedback to be implemented with little or no explicit programming. Its goal is to support user interface specification by non-programming experts in human factors, visual design, or the application domain. In addition, the system is designed to allow sophisticated end-users to modify and customize their own interfaces. The system is based on a data flow model of computation. This model is presented to the interface designer in the form of a spreadsheet enhanced with new constructs for easier programming and reuse. These constructs include an improved interactive programming environment, a prototype-instance based inheritance system, support for composition, abstraction, and customization using indirect references, the addition of support for graphical inputs and ou

