Existing graphics systems are too large for students to study in an introductory computer graphics course. We have implemented a lightweight, object-oriented graphics system called OGS for instruction. OGS is written in Java. It demonstrates how a graphics system is implemented from scratch and is intended to help students understand...
In this paper, we describe a software mechanism, a software channel, that allows a group of distributed objects to communicate with each other automatically once they are connected to it. Software channels and predesigned distributed objects that are connected to them encapsulate the communication protocol and the network topology to...
In this project, we have investigated three different techniques for plagiarism detection and have compared its effectiveness against that of an unaided human grader. The techniques investigated were word frequency analysis, sentence inclusion analysis and sub string inclusion analysis. We found that a combination of word frequency analysis and sub...
Generative programming is a paradigm that seeks to automate the manufacture of software products the same way other industries automated the manufacture of consumer, electric, and mechanical products. I examine how meta-programming fits into the context of generative programming and, along the way, expose theoretic and taxonomic deficiencies. In some...
Modern cryptanalysis is generally based on the mathematical theory. However, side-channel analysis has become increasingly popular recently. The benefit of side-channel cryptanalysis is due to the fact that performers can mount attacks with low costs in terms of time and equipment and are highly successful in extracting useful results. The...
Spreadsheet languages are widely used by end users for many different purposes. Previous research shows that spreadsheets often contain faults. To help end users test their spreadsheets, in previous research, a testing methodology for spreadsheets has been developed. Th.is methodology is supported by an automatic test case generation (ATCG) methodology....
Personalization is defined as a process that facilitates interaction among consumers and providers such that individual consumers are enabled to more readily access the content and services of providers, and individual providers are enabled to more effectively and easily deliver their content and services to consumers. This project presents a...
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...
We describe a set of data flow techniques and code transformations that translate a single instruction stream, multiple data stream (SIMD) Dataparallel C program into a semantically equivalent single program, multiple data stream (SPMD) C program suitable for execution on shared memory multiprocessor computers, such as the Sequent Balance and...
The Vehicle Preventative Maintenance System (VPMS) is a 4GL application system that keep track of information required for vehicle maintenance. It can be used to schedule routine vehicle maintenance, and to produce complete and accurate vehicle cost reports, enabling its users to optimize vehicle maintenance. In this report, after describing...