Visual programming languages employ visual representation to make programming easier and make programs more reliable and more accessible. Visual program testing becomes increasingly important as more and more visual programming languages and visual programming environments come into real use. In this work, we focus on one important class of visual...
Biologists need tools to see the structural relationships encoded in biological sequences (strings). The Walking Tree heuristics calculate some of these relationships. I have designed and implemented graphic presentations which allow the biologist (user) to see these relations. This thesis contains background information on the biological sequences and some background...
We developed a scientific information management system to facilitate remote access and analysis of earth and space science data, using the Component Model of software development provided by the Java language. The data sets are part of the Earth Observing. System project, being carried out at the College of Oceanic...
Guidelines for using style to improve computer program comprehension
have often been proposed without empirical testing. This thesis reports on the
results of three controlled experiments that investigated ways program style may be
used to aid comprehension of source code listings.
Experiments 1 and 2 were conducted using advanced computer...
Forms are an easy-to-use interface to access a database, including a remote database on the Internet. An entity-relationship (ER} diagram, which is a pictorial representation of a database schema, is widely used in designing a database. A class diagram, which shows set of classes, relationships among them, and associations, are...
Error-correcting output coding (ECOC) is a method for converting a k-classsupervised learning problem into a large number L of two-class supervised learningproblems and then combining the results of these L evaluations. Previous researchhas shown that ECOC can dramatically improve the classi cation accuracy of supervisedlearning algorithms that learn to classify...
Until now, most hypertext systems have been implemented on large scale computers. With improvements in microprocessors and development of graphical user interfaces, personal computers can run systems that previously needed the power of a mainframe. The low costs and widespread use of PCs will enable many people to use hypertext...
In this report., we address the issues of translating MATLAB scripts into SPMD-style C programs. The resulting programs, when linked with our run-time library are suitable for execution on parallel computers. We describe the design of the compiler and improvements made to it in the current version. We also describe...
There is a software gap in parallel processing. The short lifespan and small installation base of parallel architectures have made it economically infeasible to develop platform-specific parallel programming environments that deliver performance and programmability. One obvious solution is to build architecture-independent programming environments. But the architecture independence usually comes at...
There are lots of mailing systems available for Apple Macintosh computers. But when this research was started, there were no Voice Mail System for the Macintosh. However, a similar system was available for the NeXT machine. So the main goal of this research was to develop a Voice Mail System...
The Server System/1 (SS/1) Design Editor is a graphical programming tool that provides a simple interface for object oriented parallel programming. Two difficult problems with parallel programming, partitioning, end visualization are addressed by the SS/1 Design Editor. An SS/1 program is structured using object oriented design concepts. This leads to...
To ease the process of building GUI applications, we constructed an object-oriented application framework called Objex which defines much of an application's standard user interface and operating behavior. By incorporating the MVC (Model-ViewController) interaction model in the framework, design as well as code is reused by all applications derived from...
System dependence graphs, an interprocedural extension to program dependence graphs, are an important tool in the analysis of program source code, especially for performing program slicing upon that code. Given the complexity of most programs, and the difficulty of creating program slices, it is vital to create system dependence graphs...
Exception handling is a programming language feature that can help increase the reliability of programs. However, not much work has been done on exception handling in visual programming languages. We present an approach for improving the exception handling mechanism in Forms/3, a declarative visual programming language based on the spreadsheet...
The Distributed Testing Coordinator (DTC) is a system for control and coordination of the software testing processes at Rogue Wave. Some important features in this product include automatic resource configuration, centralized job scheduling, concurrent and distributed testing, failure recovery, and automatic event logging and test reporting.
DTC consists of a...
The Dataset Revision Control System (DRCS) is a data management tool for managing the changes made to scientific datasets. Using a new model of revisions, it stores the changes or revisions as reverse deltas. The DRCS model of revisions includes two kinds of update operations besides insert and delete operations....
Objex is an object-oriented framework for producing C++ applications through specialization of a class library and interaction model. The problem addressed in this report is that of automatically producing C++ source code from Petri Network design descriptions of applications constructed from Objex components.
The approach is to add a code...
Prioritization techniques are used to schedule test cases to execute in a specific order to maximize some objective function. There are a variety of possible objective functions, such as a function that measures how quickly faults can be detected within the testing process, or a function that measures how fast...