bluuebunny/crossref_metadata_2025 huggingface dataset:
Design of a novel statistics counter architecture with optimal space and time efficiency
Authors: Zhao Qi , Xu Jun , Liu Zhen
Published: January 2007

The problem of how to efficiently maintain a large number (say millions) of statistics counters that need to be incremented at very high speed has received considerable research attention recently. This problem arises in a variety of router management algorithms and data streaming algorithms, where a large array of counters is used to track various network statistics and to implement various counting sketches respectively. While fitting these counters entirely in SRAM meets the access speed requirement, a large amount of SRAM may be needed with a typical counter size of 32 or 64 bits, and hence the high cost. Solutions proposed in recent works have used hybrid architectures where small counters in SRAM are incremented at high speed, and occasionally written back ("flushed") to larger counters in DRAM. Previous solutions have used complex schedulers with tree-like or heap data structures to pick which counters in SRAM are about to overflow, and flush them to the corresponding DRAM counters.In this work, we present a novel hybrid SRAM/DRAM counter architecture that consumes much less SRAM and has a much simpler design of the scheduler than previous approaches. We show, in fact, that our design is optimal in the sense that for a given speed difference between SRAM and DRAM, our design uses the theoretically minimum number of bits per counter in SRAM. Our design uses a small write-back buffer (in SRAM) that stores indices of the overflowed counters (to be flushed to DRAM) and an extremely simple randomized algorithm to statistically guarantee that SRAM counters do not overflow in bursts large enough to fill up the write-back buffer even in the worst case. The statistical guarantee of the algorithm is proven using a combination of worst case analysis for characterizing the worst case counter increment sequence and a new tail bound theorem for bounding the probability of filling up the write-back buffer. Experiments with real Internet traffic traces show that the buffer size required in practice is significantly smaller than needed in the worst case.
Transformations of two cryptographic problems in terms of matrices
Authors: Laskari E. C. , Meletiou G. C. , Tasoulis D. K. , Vrahatis M. N.
Published: January 2007

The Discrete Logarithm and the Diffie-Hellman are two hard computational problems, closely related to cryptography and its applications. The computational equivalence of these problems has been proved only for some special cases. In this study, using LU-decomposition to Vandermonde matrices, we are able to transform the two problems in terms of matrices, thus giving a new perspective to their equivalence. A first study on matrix transformations for the Double and Multiple Discrete Logarithms is also presented.
Genetic algorithms
Authors: Alfonseca Manuel
Published: January 2007

Genetic algorithms, invented by J. H. Holland, emulate biological evolution in the computer and try to build programs that can adapt by themselves to perform a given function. In some sense, they are analogous to neural networks, but there are important differences between them. This paper shows that genetic algorithms are easy to program, test and analyze by means of APL2 functions.
Designing a Kanban manufacturing system using the server network generator (SNG) CASE tool
Authors: Bouchentouf-Idriss A. , Zeidner L.
Published: January 2007

The absence of CASE tools for software-development of distributed cooperative systems is the major roadblock to effective use of concurrent processing. This paper presents a manufacturing engineering application, a concurrent cooperative processing model of this application, and the Server Network Generator (SNG) CASE tool that was used to design and implement it as a distributed software system in APL2, using inter-user shared variables. The application is a Japanese manufacturing control strategy called the "Kanban System."
Calling APL2 from COBOL
Authors: Erickson Don
Published: January 2007

This paper will discuss the reasons why a need came up for COBOL to call APL2 functions as executable modules, the methods used to complete the interface, and the benefits and concerns that arose during implementation and maintenance.
Forecasting system of an employment pension scheme
Authors: Korpela Timo , Lundqvist Bo
Published: January 2007

The paper describes long-term forecasting system of the Finnish employment pension scheme. All employees and self-employed persons are included in the scheme. The forecasting system has three main models: demographic model, pension expenditure model and financing model. All models are programmed in APL2, but they make use of other products in the same environment, e.g., APE (Application Prototype Environment), SQL (Structured Query Language), ICU (Interactive Chart Utility), AFP (Advanced Function Printing). The models are composed of modules, which makes it possible to change the model at all levels. This structure gives also self-documentary programming code. Flexibility and documentary reasons have guided the programming so that compact and efficient code have not been primary objectives. The system consists of 300 functions and total amount of APL-code is about 5000 lines. Only specialists use the forecasting model application. The stored output of the model can be retrieved with the help of an APE-based interface. It gives all end users - also those who have no knowledge of APL - possibility to make tables and ICU-graphics of the data.
The Boston University Manufacturing Expert System (BUMES)
Authors: Shojaie T. , Zeidner L. , Sadri S. , Hazony Y.
Published: January 2007

Manufacturing engineering involves the processes and equipment required to design, analyze, fabricate, and test products. The transition from an engineer's first sketch to a finished, machined part is traditionally a long, expensive, difficult path. This path includes a variety of separate software solutions to individual subproblems. Together, these separate solutions raise many confusing issues of capability, compatibility, and design integrity. This paper presents the design and implementation of a fully integrated solution to this problem. This system enables a designer to sketch a part graphically, and immediately have it machined. Because this rapid-prototyping system was designed as an integrated solution, it allows the process rules to be available up-front in the part design stage, so that unmanufacturable design features are identified immediately, as the designer attempts to add them to the part. This rapid-prototyping capability also addresses the need to modify the part by changing its dimensions or its features. Design changes and subsequent machining are rapid because of the use of relational geometry, which remembers the geometric relationships between the part's geometric elements, so that if some are changed, all can be adjusted automatically. The prototype Boston University Manufacturing Expert System (BUMES) was designed and implemented using the Expert System Generator (ESG) CASE tool, in APL2.
Nuclear power plant diagnostics in APL
Authors: Skomorokhov Alexander O.
Published: January 2007

We are interested in the development of Nuclear Power Plant (NPP) diagnostic systems and other complex systems of data processing. There are some questions on the subject:How to build these systems easily?How to build them fast?How to build them at a low price?And how to build them to be user friendly?Today, from our point of view, in the area of Nuclear Power Plant diagnostics, there is only one answer to these questions: We must use APL.
Automatic synthesis of the inverses of APL functions
Authors: Surkan Alvin J.
Published: January 2007

APL is used to facilitate the automatic inversion and execution of programs which are constructed by strict functional composition. Programs for performing high level functions and their inverses can be logically synthesized and then tested in arbitrary instances. APL is used to compose higher level functions by repeated left application of functions and operators designed expressly so that their syntax is limited to be monadic.A small system of auxiliary functions are sufficient to do the synthesis of inverse programs. This system operates on sequences of applicative functions which must be provided originally with their forward form coded in functional style APL. The system inverts higher level user-defined functions and generates correctly sequenced function calls which are used in testing the synthesized inverses.Using this system, the mechanistic re-formulation of the forward functions and either their exact or even their approximate inverses can be produced and then checked for consistency. Consistency in performance can be randomly tested by evaluating and confirming the validity of the identity R ≡ F
-1
F R. This may be done for acceptable comparison tolerances over a representative number of objects named R to which the function F and its inverse F
-1
are applied in tandem.
The user command processor
Authors: Weigang Jim
Published: January 2007

The User Command Processor is a new feature of several APL*PLUS systems which allows users to define commands, analogous to system commands, that can be executed from within any workspace. This enhancement is implemented by means of two simple changes to the APL interpreter. Coupled with a suite of two-dozen predefined commands, the result is a file-based program storage and execution environment that integrates many important features not provided in standard APL systems. Using the command processor, applications of unlimited size can be developed, run, and maintained without many of the headaches that are characteristic of workspace-based systems. This paper describes the basic methods whereby the command processor operates, provides an overview of the predefined commands, shows how a new command can be defined, and illustrates how a large application can be built using the command processor.
Complete stability region characterization for PI-AQM
Authors: Al-Hammouri Ahmad T. , Liberatore Vincenzo , Branicky Michael S. , Phillips Stephen M.
Published: January 2007

This paper describes a method for finding the stability regions of the PI and PIP controllers for TCP AQM with delays. The method is applied on several representative examples, showing that stable controllers can exhibit widely different performance. Thus, the results highlight the importance of optimizing the design of PI AQM. Furthermore, the paper shows that the previously proposed PIP controller can be unstable in the presence of delays even for the control parameters given in the literature.
A planning and cost allocation procedure for computer system management
Authors: Nunamaker J. F. , Whinston A.
Published: January 2007

The problems of allocating costs of a computer system are discussed, and a procedure is presented to solve these problems. The concept of a Responsibility Center is presented, and cost allocation rules for the operation of the Responsibility Center are developed. The cost allocation scheme influences users of a computer facility to adjust their demands for processing to that level most beneficial to the overall organization in question. Four conditions form the basis for the development of the cost allocation formula: (1) Charges for the use of a joint facility must cover cost; (2) a user's charges are based on the incremental cost caused by the user; (3) the charge is independent of the names assigned to users or ordering of users (if some users cause the same incremental costs, then the user's charges are the same); and (4) if the user changes his requirements and as a result his incremental costs are changed, then the cost allocation is changed appropriately. The costing procedure based on the above four conditions provides a rational way to distribute costs; it allocates greater costs to the user whose alternative costs are greater. A five step planning procedure implements this cost allocation procedure.
Introductory remarks to session on "system performance measurement"
Authors: Hess Milton
Published: January 2007

The field or performance measurement is becoming an understood planned activity now in third generation computer facilities. Once upon a time, I guess, way back in the beginning you might have said that the goal of performance measurement was to accumulate information, to measure as many things as you could about your system. It was a little bit like the story Sam Robinson tells about his father dragging the six kids through the museum and they were going a-long hand-in-hand. They were going so slowly and he was getting so frustrated and finally he just stopped and bellowed out at them, "If you are going to stop and look at everything, you're not going to see anything." This is the way it was in computer measurement. You really didn't see anything because you were just looking at all the data. Now we know what to measure. Experience taught us what were the important quantities to make a computer system run right. But measuring these quantities is really only a means to an end, it is not the goal itself. I consider the goal to be processing the work load. Getting the user's programs running better on your facility. That is the goal and the measurement data should be used not just to record statistics about how you are doing, but it should be used as input to making a system run better in the environment of the work load. The papers today reflect a growing awareness that you can't undertake systems improvement, performance improvement, without considering the workload, without looking at the way the users are mishandling your system.
S/360 programmer development at Goddard Space Flight Center
Authors: Looney C. H. , Damon E. P.
Published: January 2007

In 1966, the first IBM 360/ computer came to the Goddard Space Flight Center, and our experience with large-scale programmer development began. Considerable attention has been given to the training problem at GSFC. Our arsenal of programmer training tools and techniques now ranges from relatively informal on-the-job experience through in-house formal courses to university and commercial highly specialized courses. GSFC has made extensive use of software and hardware evaluation techniques to indicate areas for improving computation efficiency and has pioneered automated proramming techniques. The training and evaluation activities are described including organizational and communications concerns. Results of these activities are described providing numerous examples of the tangible improvements obtained by increasing the effectiveness of computation activities.
What's the value of TREC
Authors: Jones Karen Sparck
Published: January 2007

Work within the TREC Programme has concentrated on generalising, not particularising. Now is the time to think about particularising, that is, to address not further generalisation across information-seeking contexts but context-driven particularisation. This note develops this argument from an analysis of TREC work, applying notions taken from discussions of evaluation for language and information processing in general.
The Eurovision St Andrews collection of photographs
Authors: Clough Paul , Sanderson Mark , Reid Norman
Published: January 2007

This report describes the Eurovision image collection compiled for the ImageCLEF (Cross Language Evaluation Forum) evaluation exercise. The image collection consists of around 30,000 photographs from the collection provided by the University of St Andrews Library. The construction and composition of this unique image collection are described, together with the necessary information to obtain and use the image collection.
The CIKM 2005 workshop on information retrieval in peer-to-peer networks
Authors: Nottelmann Henrik , Aberer Karl , Callan Jamie , Nejdl Wolfgang
Published: January 2007

Peer-to-peer (P2P) networks have emerged as a popular way to build large scale information systems by using the principle of resource sharing. The P2P paradigm holds many promises, e.g. scalability, failure resilience and increased autonomy of nodes. For these reasons P2P seems also to be an interesting architectural paradigm for realizing large scale information retrieval systems. However, search methods in P2P networks are still mostly limited to simple keyword queries and the use of advanced retrieval models is in its infancy.
Advanced document description, a sequential approach
Authors: Doucet Antoine
Published: January 2007

This dissertation addresses the problems of the extraction, selection and exploitation of word sequences, with a particular focus on the applicability to document collections of any type and written in any language.
Blocking objectionable web content by leveraging multiple information sources
Authors: Agarwal Nitin , Liu Huan , Zhang Jianping
Published: January 2007

The World Wide Web has now become a humongous archive of various contents. The inordinate amount of information found on the web presents a challenge to deliver right information to the right users. On one hand, the abundant information is freely accessible to all web denizens; on the other hand, much of such information may be irrelevant or even deleterious to some users. For example, some control and filtering mechanisms are desired to prevent inappropriate or offensive materials such as pornographic websites from reaching children. Ways of accessing websites are termed as
Access Scenarios
. An Access Scenario can include using search engines (e.g., image search that has very little textual content), URL redirection to some websites, or directly typing (porn) website URLs. In this paper we propose a framework to analyze a website from several different aspects or information sources, and generate a classification model aiming to accurately classify such content irrespective of access scenarios. Extensive experiments are performed to evaluate the resulting system, which illustrates the promise of the proposed approach.
Mining source code elements for comprehending object-oriented systems and evaluating their maintainability
Authors: Kanellopoulos Yiannis , Dimopulos Thimios , Tjortjis Christos , Makris Christos
Published: January 2007

Data mining and its capacity to deal with large volumes of data and to uncover hidden patterns has been proposed as a means to support industrial scale software maintenance and comprehension. This paper presents a methodology for knowledge acquisition from source code in order to comprehend an object-oriented system and evaluate its maintainability. We employ clustering in order to support semi-automated software maintenance and comprehension.A model and an associated process are provided, in order to extract elements from source code; K-Means clustering is then applied on these data, in order to produce system overviews and deductions. The methodology is evaluated on
JBoss
, a very large Open Source Application Server; results are discussed and conclusions are presented together with directions for future work.
Standards structure for a data processing department
Authors: LeDuc A. L.
Published: January 2007

Standards are reputed to solve a great number of problems within a data processing organization. In truth, standards alone solve very few problems. This paper presents this dilemma in terms of the practical objectives and consequences of local standards development. Rather than promote a particular standards set, general appropriateness is discussed in terms of a supportive standards structure. The model for standards development which is utilized is the Standards Manual used at Indiana University for administrative data processing. The experience of its development illustrates the conditions underlying a proper standards structure:• the need for and applicability of local standards• the organization of a Standards Manual• the organization of a department standards committee• the procedures for standards evaluation and maintenance• the procedures for standards enforcementStandards are no simple nostrum used to remedy basic ills in the computer installation. However, the structure presented in this paper is one important aspect of a greatly needed determination to manage the data processing environment in a consistent manner.
Efficient proximity and separation detection among mobile targets for supporting location-based community services
Authors: Küpper Axel , Treu Georg
Published: January 2007

Proximity and separation detection are high-level functions for supporting proactive location-based community services. Proximity detection automatically triggers an alert as soon as a pair of mobile target persons approaches each other closer than a pre-defined distance, while separation detection generates an alert when two targets depart from each other more than a pre-defined distance. For both functions it is necessary to permanently track the positions of all target persons joining the community and correlate their position fixes. To realize proactive proximity and separation detection, different strategies for exchanging position fixes between GPS-capable mobile devices and a central location server are presented in this paper. The goal of the strategies is to minimize the amount of messages exchanged at the air interface and thus to save valuable bandwidth, monetary costs the tracked targets have to spend for bearer services like GPRS, and battery consumption of the mobile devices. Furthermore, the paper presents the results of simulations that has been performed in order to compare the proposed update strategies and describes experiences achieved with a prototype implementation.
A distributed and secured architecture to enhance smooth handoffs in wide area wireless IP infrastructures
Authors: Sethom Kaouthar , Afifi Hossam , Pujolle Guy
Published: January 2007

Currently, there exist disparate wireless networks, such as Bluetooth for personal areas, wireless LANs (WLANs) for local areas, GSM and UMTS for wide areas. These networks are designed for specific service needs and vary widely in terms of bandwidth, latency, area of coverage, cost, and quality of service (QoS) provisioning. None of the existing wireless systems can simultaneously satisfy the low latency, high bandwidth, and ubiquitous coverage needs of mobile users at low cost. In next generation networks, users will move between these different networks. They want to maintain their ongoing communications while using the best available connection. These heterogeneous networks may or may not belong to the same service provider. Hence, support for smooth handoff between networks of different service providers is required. In this work, we describe the design of a new architecture, namely SeSMo, for fast handoff in heterogeneous environments. Our proposal introduces the use of an intelligent handoff decision mechanism for the discovery and the prediction of future access routers (ARs) and the generation of new session keys.Our architecture has the following characteristics:• Scalable: It should be able to integrate any number of wireless systems of both existing and future service providers.• Transparency to heterogeneous access technologies: The architecture should be transparent to different access technologies of different networks.• Secure: The architecture should be able to provide secure vertical and horizontal handoff.• Seamless mobility support to eliminate connection interruption and QoS degradation during intersystem handoff.
J for the APL programmer
Authors: Burke Chris , Hui Roger
Published: January 2007

Though J shares many concepts with APL, in many respects it is radically different, and almost all APL constructions that are in J differ in some way. These differences can be a stumbling block to the newcomer who thinks that J is simply an ASCII version of APL, prompting questions such as:• How do I save my workspace?• Why do J functions work along the columns and not the rows?• Can I have a version of J with □
io
←1?• Can I have a version of J with real APL characters?
The effect of VDU text-presentation rate on reading comprehension and reading speed
Authors: Tombaugh Jo W. , Arkin Michael D. , Dillion Richard F.
Published: January 2007

The effect of video display unit presentation rate on reading performance was investigated. Reading material was presented at one of the following presentation-rates: 15, 30, 120, 960 cps, or “instant”. In the instant condition, the full text appeared simultaneously on the screen. In the other conditions, text appeared one character at a time starting in the upper left corner of the screen, from left to right and top to bottom. Reading comprehension was highest under the 30 cps and instant presentation conditions. Total time to perform the reading task was equivalent for all conditions except the 15 cps rate which required a longer time to complete the task. In terms of comprehension and time to perform the task, a slow rate of 15 cps, contrary to previous recommendations, is not desirable for novice computer users.
Effects of cursor speed on text-editing
Authors: Gould John D. , Lewis Clayton , Barnes Vincent
Published: January 2007

Nine participants used a full screen computer text-editor (XEDIT) with an IBM 3277 terminal to edit marked-up documents at each of three cursor speeds (3.3, 4.7, and 11.0 cm/sec.). Results show that 9% of editing time was spent controlling and moving the cursor, regardless of cursor speed. The variations in cursor speed studied did not seem to act as a pacing device for the entire editing task.
A multi-touch three dimensional touch-sensitive tablet
Authors: Lee SK , Buxton William , Smith K. C.
Published: January 2007

A prototype touch-sensitive tablet is presented. The tablet's main innovation is that it is capable of sensing more than one point of contact at a time. In addition to being able to provide position coordinates, the tablet also gives a measure of degree of contact, independently for each point of contact. In order to enable multi-touch sensing, the tablet surface is divided into a grid of discrete points. The points are scanned using a recursive area subdivision algorithm. In order to minimize the resolution lost due to the discrete nature of the grid, a novel interpolation scheme has been developed. Finally, the paper briefly discusses how multi-touch sensing, interpolation, and degree of contact sensing can be combined to expand our vocabulary in human-computer interaction.
VIDEOPLACE—an artificial reality
Authors: Krueger Myron W. , Gionfriddo Thomas , Hinrichsen Katrin
Published: January 2007

The human-machine interface is generalized beyond traditional control devices to permit physical participation with graphic images. The VIDEOPLACE System combines a participant's live video image with a computer graphic world. It also coordinates the behavior of graphic objects and creatures so that they appear to react to the movements of the participant's image in real-time. A prototype system has been implemented and a number of experiments with aesthetic and practical implications have been conducted.
Extending the spreadsheet interface to handle approximate quantities and relationships
Authors: Lewis Clayton
Published: January 2007

Conventional spreadsheet programs offer a very convenient user interface for many quantitative tasks, but they are restricted to handling precisely-specified quantities and calculations. ASP is a generalized spreadsheet that extends the basic spreadsheet paradigm to encompass quantities which are not known exactly, and functions which are not known well enough to permit calculation. ASP works by propagating assertions about quantities and functions through the network of relationships that the spreadsheet defines.
Interfaces in organizations (panel session)
Authors: Brown John Seely , Cashman Paul M. , Malone Thomas
Published: January 2007

Research on human factors in computer systems has emphasized supporting individuals. This panel will discuss new issues that emerge when computer systems support groups of people and whole organizations. Malone (see following paper) will suggest a broadening of the definition of user interfaces to include “organizational interfaces” and will indicate how a theoretical base for such an endeavor might be developed. Then Cashman will describe a “coordinator tool” in use at DEC for tracking the assignment of tasks to people in activities such as software maintenance. Finally, Brown will suggest how computer systems can be designed to radically increase the bandwidth of cooperation in groups by, for example, exploiting linguistic notions of context.
Designing organizational interfaces
Authors: Malone Thomas W.
Published: January 2007

This paper argues that it will become increasingly important to extend our concept of
user interfaces
for individual users of computers to include
organizational interfaces
for groups of users. A number of suggestions are given for how to develop a theoretical base for designing such interfaces. For instance, examples are used to illustrate how traditional cognitive points of view can be extended to include information processing by multiple agents in organizations. Examples of design implications from other perspectives such as motivational, economic, and political are also included.
A comparison of symbolic and spatial filing
Authors: Dumais Susan T. , Jones William P.
Published: January 2007

The traditional and still dominant form of object reference in computing systems is symbolic - data files, programs, etc. are initially labeled and subsequently referred to by name. This approach is being supplemented on some systems by a spatial alternative which is often driven by an office or desktop metaphor (e.g. Apple's Lisa and MacIntosh systems, or Bolt's 1979 Spatial Data Management System). In such systems, an object is placed in a simulated two- or three-dimensional space, and can later be retrieved by pointing to its location. In order to begin to understand the relative merits of spatial and symbolic filing schemes for representing and organizing information, we compared four ways of filing computer objects. We found location information to be of limited utility, either by itself or in combination with symbolic information. This calls into question the generality and efficacy of the desktop metaphor for information retrieval.
Experience with an adaptive indexing scheme
Authors: Furnas George W.
Published: January 2007

Previous work has shown that there is a major vocabulary barrier for new or intermittent users of computer systems. The barrier can be substantially lowered with a rich, empirically defined, frequency weighted index. This paper discusses experience with an adaptive technique for constructing such an index. In addition to being an easy way for system designers to collect the necessary data, an adaptive system has the additional advantage that data is collected from real users in real situations, not in some laboratory approximation. Implementation considerations, preliminary results and future theoretical directions are discussed.
ADM — a dialog manager
Authors: Schulert Andrew J. , Rogers George T. , Hamilton James A.
Published: January 2007

ADM is a system for developing user interfaces. We call it a dialog manager; it is similar to what others call a “User Interface Management System” [8]. Although ADM is still being developed, it has been used to construct several applications.

A dialog manager divides an application into an “interaction handler,” which interacts with the user, and an “underlying application,” which processes user commands and data. With ADM the application designer writes the underlying application in a conventional programming language and defines the interface between interaction handler and underlying application in terms of “tasks,” things the user can do, and “states,” sets of tasks that are active at one time. The user interface designer defines the interaction handler in terms of “presentation techniques,” which present tasks to the user, and “structuring techniques,” which describe screen layout. Design decisions made for ADM include using a precompiled, declarative dialog description, a flexible division between interaction handler and underlying application, allowing either interaction handler or underlying application to maintain control, and the inclusion of help and error support.
BASIC versus natural language
Authors: Dyck Jennifer L. , Mayer Richard E.
Published: January 2007

This study determined the response time (RT) for subjects to comprehend eight different BASIC statements and eight corresponding English procedural statements. First, there was no significant interaction between language and statement, and there was a high correlation (r = .85) between English and BASIC RT performance. Second, the microstructure of each statement (the number of actions required) and the macrostructure (the number of other statements in the program) were strongly related to RT performance for both BASIC and English. Apparently, comprehension of procedural statements is related to underlying structural characteristics common to both languages.
What kind of minimal instruction manual is the most effective
Authors: Black John B. , Carroll John M. , McGuigan Stuart M.
Published: January 2007

An empirical study examined the effectiveness of four different versions of a self-instruction manual for a word processing system: a Skeletal version that explicitly states only the essential information, an Inferential version that has the users infer some of the essential information, a Rehearsal version that is like the Skeletal manual, but adds opportunities to rehearse the explicitly stated information, and a Lengthy version that adds nonessential explanatory and descriptive information to the Skeletal version. The best learning performance was obtained with the inferential approach, particularly for more realistic tasks.
Comparing a form-based and a language-based user interface for instructing a mail program
Authors: Jeffries Robin , Rosenberg Jarrett
Published: January 2007

In the domain of interaction languages, forms have been found to be of value in allowing users, especially non-programmers, to specify objects and operations with a minimum of training, time, and errors. Most of that research, however, has been on the use of data base query languages. The present research found that in a procedural task of specifying mail filtering instructions, non-programmers using a form were as fast as programmers using a procedural language, although programmers using the form were faster still.
Why reading was slower from CRT displays than from paper
Authors: Gould John D. , Alfaro Lizette , Finn Rich , Haupt Brian , Minuto Angela
Published: January 2007

Experiments, including our own (Gould et al., 1982; 1984; 1986), have shown that people read more slowly from CRT displays than from paper. Here we summarize results from a few of our fifteen experiments that have led us to conclude that the explanation centers on the image quality of the CRT characters. Reading speeds equivalent to those on paper were found when the CRT displays contained character fonts that resembled those on paper (rather than dot matrix fonts, for example), had a polarity of dark characters on a light background, were anti-aliased (e.g., contained grey level), and were shown on displays with relatively high resolution (e.g., 1000 x 800). Each of these variables probably contributes something to the improvement, but the trade-offs have not been determined. Other general explanations for the reading speed difference that can be excluded include some inherent defect in CRT technology itself or personal variables such as age, experience, or familiarity at reading from CRT displays.
On the parameters of human visual performance: an investigation of the benefits of antialiasing
Authors: Booth Kellogg S. , Bryden M. Philip , Cowan Wiliam B. , Morgan Michael F. , Plante Brian L.
Published: January 2007

A two-part experiment was conducted to investigate the effects of aliasing artifacts and screen resolution on a simple visual recognition task. The results indicate that in many cases far less realism may be necessary in synthetic computer-generated imagery than is often assumed in the literature. The first part of the experiment comprised a subjective rating of image quality, the second part measured task effectiveness of image quality. In the second part subjects were asked to discriminate between images of two types of objects built from cubes, similar to objects used in experiments involving mental rotation.

At higher resolutions the elimination of aliasing artifacts did not significantly improve subjects' performance. At intermediate and low resolutions, comparable to what might be used for iconic menus, the reduction in aliasing artifacts resulted in improved performance. The subjective ratings indicate that for both high and low resolution the elimination of aliasing artifacts does not improve “quality,” whereas images rendered at intermediate resolutions are significantly degraded by aliasing artifacts to the extent that antialiasing improves the subjective rating.

An interpretation of these results is given in the context of an ongoing research program aimed at identifying the parameters of real-time human performance for graphics workstations.
Voice: technology searching for communication needs
Authors: Aucella Arlene , Kinkead Robin , Wichansky Anna , Shmandt Chris
Published: January 2007

Voice technology is just beginning to gain a foothold in the information processing world. Applications such as voice mail, credit verification, order entry and airline reservation systems are slowly being introduced. Critics of voice systems frequently point out their limitations with little understanding of their power or advantages. One key determinant of the success or failure of voice systems is the USER INTERFACE. It is important that the dialogue structure, prompts, system feedback and error messages be designed based on user input, testing and evaluation.

Another key determinant of the success of voice systems is the careful matching of users, tasks and environment to the technology. Voice technology is often broken down into 3 major categories.

Speech compression. Processing allows analog patterns of human speech to be digitized. Once stored in digital form, the information can be transmitted and played back.

Common Applications: Voice Mail, Voice Annotation.

Text-to-Speech. Processing allows computer-stored text to be translated and retrieved via a “synthesized” voice.

Common applications: Remote retrieval of information (E-Mail, Calendar Appointments), Aids to Visually or Vocally Handicapped.

Speech Recognition. Processing allows analog patterns of human speech to be translated into their text-based equivalent or into computer commands.

Common Applications: Data Entry, Voice Activated Typewriter.
Experiences with the alternate reality kit: an example of the tension between literalism and magic
Authors: Smith Randall B.
Published: January 2007

This paper presents an overview of the Alternate Reality Kit (ARK), an animated environment for creating interactive simulations. ARK is built upon a physical-world metaphor: all objects have an image, a position, a velocity, and can experience forces. Users manipulate objects with a mouse-operated “hand” which enables them to carry and throw objects, to press buttons, and to operate sliders.

The interface features are discussed in light of a general user interface tension between
literalism
and
magic
. Literal features are defined to be those that are true to the interface's metaphor. Literal features enhance an interface's learnability. Magical features are defined to be those capabilities that deliberately violate the metaphor in order to provide enhanced functionality. Discussion of each ARK feature includes informal observations of early ARK users, an assessment of the feature's learnability, of its usefulness, and of its position on the magical-literal axis.

Even though ARK includes magical features, applications-level users have be trained in a few minutes. Although this paper is about ARK, the tension between literalism and magic raises some interesting questions on its own. Some of these questions are presented briefly in the conclusion.
Cognition-sensitive design and user modeling for syntax-directed editors
Authors: Neal Lisa Rubin
Published: January 2007

Syntax-directed editors were created with the intent of aiding in and improving the programming process. Despite their potential, they have not been successful, as evidenced by limited use. In general, they are perceived as being too difficult to use and the benefits of their use are outweighed by the difficulties.

We believe that the cognitive styles and skills of the users have been ignored in the design process. In this paper we present some of our initial results which show that cognitive styles vary over a significant spectrum and that their consideration in the design of a syntax-directed editor will result in an intelligent tool that will be right for the cognitive skills and expertise of an individual user. In turn, an approach to design that takes cognitive variation into account would support the construction of syntax-directed editors which are successfully used.
Javana
Authors: Maebe Jonas , Buytaert Dries , Eeckhout Lieven , De Bosschere Koen
Published: January 2007

Understanding the behavior of applications running on high-level language virtual machines, as is the case in Java, is non-trivial because of the tight entanglement at the lowest execution level between the application and the virtual machine. This paper proposes Javana, a system for building Java program analysis tools. Javana provides an easy-to-use instrumentation infrastructure that allows for building customized profiling tools very quickly.Javana runs a dynamic binary instrumentation tool underneath the virtual machine. The virtual machine communicates with the instrumentation layer through an event handling mechanism for building a vertical map that links low-level native instruction pointers and memory addresses to high-level language concepts such as objects, methods, threads, lines of code,
etc.
The dynamic binary instrumentation tool then intercepts all memory accesses and instructions executed and provides the Javana end user with high-level language information for all memory accesses and natively executed instructions.We demonstrate the power of Javana through a number of applications: memory address tracing, vertical cache simulation and object lifetime computation. For each of these applications, the instrumentation specification requires only a small number of lines of code. Developing similarly powerful profiling tools within a virtual machine (as done in current practice) is both time-consuming and error-prone; in addition, the accuracy of the obtained profiling results might be questionable as we show in this paper.
Generic ownership for generic Java
Authors: Potanin Alex , Noble James , Clarke Dave , Biddle Robert
Published: January 2007

Ownership types enforce encapsulation in object-oriented programs by ensuring that objects cannot be leaked beyond object(s) that
own
them. Existing ownership programming languages either do not support parametric polymorphism (type genericity) or attempt to add it on top of ownership restrictions. Generic Ownership provides per-object ownership on top of a sound generic imperative language. The resulting system not only provides ownership guarantees comparable to established systems, but also requires few additional language mechanisms due to full reuse of parametric polymorphism. We formalise the core of Generic Ownership, highlighting that only restriction of
this
calls and owner subtype preservation are required to achieve deep ownership. Finally we describe how Ownership Generic Java (OGJ) was implemented as a minimal extension to Generic Java in the hope of bringing ownership types into mainstream programming.
Efficient software model checking of data structure properties
Authors: Darga Paul T. , Boyapati Chandrasekhar
Published: January 2007

This paper presents novel language and analysis techniques that significantly speed up software model checking of data structure properties. Consider checking a red-black tree implementation. Traditional software model checkers systematically generate all red-black tree states (within some given bounds) and check every red-black tree operation (such as insert, delete, or lookup) on every red-black tree state. Our key idea is as follows. As our checker checks a red-black tree operation
o
on a red-black tree state
s
, it uses program analysis techniques to identify other red-black tree states

s'
1

,

s'
2

, ...,

s'
k

on which the operation
o
behaves similarly. Our analyses guarantee that if
o
executes correctly on
s
, then
o
will execute correctly on every

s'
i

. Our checker therefore does not need to check
o
on any

s'
i

once it checks
o
on
s
. It thus safely prunes those state transitions from its search space, while still achieving complete test coverage within the bounded domain. Our preliminary results show
orders of magnitude improvement
over previous approaches. We believe our techniques can make model checking significantly faster, and thus enable checking of much larger programs and complex program properties than currently possible.
Understanding the shape of Java software
Authors: Baxter Gareth , Frean Marcus , Noble James , Rickerby Mark , Smith Hayden , Visser Matt , Melton Hayden , Tempero Ewan
Published: January 2007

Large amounts of Java software have been written since the language's escape into unsuspecting software ecology more than ten years ago. Surprisingly little is known about the structure of Java programs in the wild: about the way methods are grouped into classes and then into packages, the way packages relate to each other, or the way inheritance and composition are used to put these programs together. We present the results of the first in-depth study of the structure of Java programs. We have collected a number of Java programs and measured their key structural attributes. We have found evidence that some relationships follow
power-laws
, while others do not. We have also observed variations that seem related to some characteristic of the application itself. This study provides important information for researchers who can investigate how and why the structural relationships we find may have originated, what they portend, and how they can be managed.
On system design
Authors: Waldo Jim
Published: January 2007

In this essay, I consider some of the factors that are making it more and more difficult to expend the effort necessary to do system design. Because of changes in the economics of the field in both industry and research, we have become less able to take the time needed to do real system design, and to train the next generation of designers. Because of the intellectual property landscape, we are less able to discuss system design. The end result is that we do less good system design than we used to, at least in those environments where system design used to be most common. But there are reasons to be optimistic about the future of system design, which appears to be happening in non-traditional ways and in non-traditional venues.