The Common Gateway Interface (CGI)
Form Processing System is a web page interface to a collection of CGI scripts
related to HTML forms. It provides two main functions: form generating
and form processing. It also complies with several important objectives:
security, speed, and user-friendliness. It is a web application, platform
independent, and accessible from any browser supporting HTML 2.0 and higher.
It looks and feels like HTML forms accessible from anywhere on the World
Wide Web. In a sense, it is a form to create and process other forms. It
comes with a default set of processes, but it can be modified and expanded
anytime new processes are invented.
The goal of this thesis is to show
how object oriented programming can be used to produce a practical implementation
of a ray tracer. Ray tracing background and theory is introduced. Then
a general design for the overall system is given. This in not intended
to be a step by step instruction manual to constructing a ray tracer. For
that, a study of the source code will provide many insights. The main thrust
is to show how the power of OOP can be exploited to make for a consistent
and easily extendible system. An effort was made to avoid "special case"
programming. Although necessary at times, OOP has all but eliminated the
need.
The current method of conducing legal research is to use a computerized database containing all case data and a commercial search tool to find relevant information. The proper and effective use of the commercial search tool is a difficult skill that must be learned. There are basically two methods available to teach research skills. The first is to use the regular commercial application in the classroom and the second is to use a simulation of that application for instructional purposes. A simulation has many advantages over using the regular commercial application.
Research Tutor is one such simulation.
It is intended to be used as a teaching aid for computer legal research.
The Research Tutor can be divided into three subcomponents. The first is
a dictionary of legal terms to aid in using legal terminology. The second
is a structured tutorial to point out some key features of the Research
Tutor and provide a more interactive experience than a simple description
in a book. Lastly, the third component is a simulation search tool to allow
the user to practice using computerized search techniques on a limited
and controlled database.
This thesis project is to use a currently
available relational database management system to implement a temporal
relational database management system. Conventional databases are non-time-varying.
This is, the contents of the database are current data. As the real world
changes, new values become availabl through updating the old values, and
the old values are removed from the database. For some applications, conventional
databases work well. However, they are insufficient for those applications
in which the complete history of the data is required. For these applications,
there is a need for temporal database. After studying several temporal
data models and the query languages for temporal databases, I decided to
use S.B. Navath’s Temporal Relation Model (TRM) to design the Temporal
Relational Database. The TRDBMS consists of a user interface and Temporal
Relational Database (TRDB). The user interface is implemented using Microsoft
Visual Basic 4.0 Professional Version, and the TRDB is stored as a Microsoft
Access ".mdb" file.
Genetic Programming has proven to be
a viable method of generating code for particular instances of a problem.
Automatically Defined Functions (ADFs) grew out of research in the evolution
of code generation in attempts to "teach" computers to program themselves.
These ADFs were found to be reusable building blocks for solving larger,
more complex problems within a particular problem domain. Genetic Algorithms
excel in evolving solutions to problems of optimization. Any decision based
NP-complete problem can be mapped to an optimization problem. Genetic Programming
is a related evolutionary algorithmic field that evolves programs as the
solution rather than solutions for a particular problem. In evolving programs
of varying complexity for NP-complete problems, it should be demonstrated
that these that these modules or "subprograms" are common across various
instances of any particular problem (these subprograms being what Koza
called Automatically Defined Functions) and are helpful in generating more
generic solutions. I believe that they are building blocks for problems
that gow in complexity and will be key in developing an algorithm/program
for solving NP-Complete problems for a statistically significant majority
of instances.
This project’s approach to reverse
engineering a relational schems is an assimilation of the approaches fund
in its reference papers. The end result of this project is an executable
system that will extract an Entity-Relationship Data Model (ERDM) from
an existing database. This project examines the pros and cons of each approach
and uses the most desirable aspects of each to build its own approach.
Assumptions are utilized to extract basic information required t identify
the key-based inclusion dependencies present in the database. Once identified,
they are used to derive all strong entities, weak entities, aggregation
entities, limited specialization entities, and relationships. The entities
and relationships are then used to create an ERDM.