Test incorporations are program transformations that improve the performance of generate-and-test procedures by moving information out of the "test" and into the "generator." The test information is said to be "incorporated" into the generator so that items produced by the generator are guaranteed to satisfy the incorporated test. This article...
A complete approach to uncertainty management requires support for interactive and incremental problem formulation, inference, hypothesis ranking, and decision making. In addition, computational models must allow for time and resource bounds. Current approaches to uncertainty management concentrate primarily on inference, provide little or no support for the larger issues in...
In this paper we will describe two known strategies for static processors allocation in an n-cube multiprocessor, namely the buddy system strategy and the gray code strategy and then propose a new strategy that outperforms the first by (n-k+1) and the second by (n-k+1)/2 in cube recognition. Furthermore, our strategy...
One of the most popular topologies is the hypercube, that has n = 2ᵏ processors, numbered 0 to 2ᵏ -1 and connected in such a way that there is a link between any two if and only if they differ in one bit. Its popularity is due to the fact...
A computer program complexity measure is a measure of how easy the program is to understand, test, modify, maintain, etc. Many of these measures are derived from the control or flow graph of the program. We describe these measures graph theoretically, indicate what aspect or aspects of the program they...
Recently generalized Fibonacci numbers have received increasing attention. Some properties that are well known for traditional Fibonacci numbers do not generalize easily, some others do not generalize at all. In this paper we report some properties that we have generalized. Section 1 introduces the notation and a theorem due to...
Two methods for parallelizing WHILE loops are presented. The first method converts a WHILE loop into a FORALL construct, and the second method pipelines a WHILE loop. Each of the methods is based on a transformation that makes explicit the loop counting. Also, we propose two parallel WHILE constructs.
This report presents a graphical tool for implementation of the scheduling heuristics provided by Kruatrachue. The input of scheduling is a task graph and the output is a schedule in the form of a Gantt chart. The implemented scheduling heuristics are: 1) Hu's HLF (highest level first) algorithm. 2) Yu's...
One of the tasks of inequality reasoning is to determine the relationship between two quantities for any given set of qualitative constraints. For implementation of this kind of reasoning, Simmons [1] has provided a technique called the "graph search" (GS). This paper briefly reviews GS technique, then presents an implementation...
Several programming languages define a virtual machine that can be implemented as an interpreter. The interpreter runs more slowly than the real machine. In order to maintain a portable virtual machine for X2 and still achieve acceptable performance, our work compiles X2 procedures into native machine code so that the...
Several problems with user interface design and implementation have been identified: (1) user interfaces are difficult and time-consuming to design and implement; (2) most user interface management systems (UIMS) are themselves difficult to use by a programmer; (3) UIMS's have not been integrated with other tools that support structured design,...
Oregon Speedcode Universe (OSU) is a software development environment for design, implementation, and maintenance of large soft.ware systems. Designed to be highly visual, OSU combines traditional structured analysis techniques found in most CASE tools with advanced graphical user interface management systems (UIMS) found on most contemporary workstations. This paper describes...
We extend previous results for optimally scheduling concurrent program modules, called tasks, on a fixed, finite number of parallel processors in two fundamental ways: (1) we introduce a new heuristic which considers the time delay imposed by message transmission among concurrently running tasks; and (2) we introduce a second heuristic...
A project is described wherein a source code browser was implemented based upon tasks performed by software engineers looking for source code modules with only UNIX utilities. These tasks were discovered by observing the actions of software engineers looking for code modules in a library, The success of the implementation...
Cichelli gave a simple machine independent minimal perfect hashing function for small static sets. The hash function value for a word is computed as the sum of the length of the word and the values associated with the first and last letters of the word. Cichelli's algorithm (word-oriented) to find...