An Interpreter for the Basic Programming Language (open access)

An Interpreter for the Basic Programming Language

In this thesis, the first chapter provides the general description of this interpreter. The second chapter contains a formal definition of the syntax of BASIC along with an introduction to the semantics. The third chapter contains the design of data structure. The fourth chapter contains the description of algorithms along with stages for testing the interpreter and the design of debug output. The stages and actions-are represented internally to the computer in tabular forms. For statement parsing working syntax equations are established. They serve as standards for the conversion of source statements into object pseudocodes. As the statement is parsed for legal form, pseudocodes for this statement are created. For pseudocode execution, pseudocodes are represented internally to the computer in tabular forms.
Date: May 1975
Creator: Chang, Min-Jye S.
System: The UNT Digital Library
A Design Approach for Digital Computer Peripheral Controllers, Case Study Design and Construction (open access)

A Design Approach for Digital Computer Peripheral Controllers, Case Study Design and Construction

The purpose of this project was to describe a novel design approach for a digital computer peripheral controller, then design and construct a case study controller. This document consists of three chapters and an appendix. Chapter II presents the design approach chosen; a variation to a design presented by Charles R. Richards in an article published in Electronics magazine. Richards' approach consists of a finite state machine circuitry controlling all the functions of a controller. The variation to Richards' approach consists of considering the various logically independent processes which a controller carries out and assigning control of each process to a separate finite state machine. The appendix contains the documentation of the design and construction of the controller.
Date: May 1976
Creator: Cabrera, A. L.
System: The UNT Digital Library
A Left-to-Right Parsing Algorithm for THIS Programming Language (open access)

A Left-to-Right Parsing Algorithm for THIS Programming Language

The subject of this investigation is a specific set of parsers known as LR parsers. Of primary interest is a LR parsing method developed by DeRemer which specifies a translation method which can be defined by a Deterministic Push-Down Automation (DPDA). The method of investigation was to apply DeRemer's parsing technique to a specific language known as THIS Programming Language (TPL). The syntax of TPL was redefined as state diagrams and these state diagrams were, in turn, encoded into two tables--a State-Action table and a Transition table. The tables were then incorporated into a PL/l adaptation of DeRemer's algorithm and tested against various TPL statements.
Date: May 1976
Creator: Hooker, David P.
System: The UNT Digital Library
Automated Testing of Interactive Systems (open access)

Automated Testing of Interactive Systems

Computer systems which interact with human users to collect, update or provide information are growing more complex. Additionally, users are demanding more thorough testing of all computer systems. Because of the complexity and thoroughness required, automation of interactive systems testing is desirable, especially for functional testing. Many currently available testing tools, like program proving, are impractical for testing large systems. The solution presented here is the development of an automated test system which simulates human users. This system incorporates a high-level programming language, ATLIS. ATLIS programs are compiled and interpretively executed. Programs are selected for execution by operator command, and failures are reported to the operator's console. An audit trail of all activity is provided. This solution provides improved efficiency and effectiveness over conventional testing methods.
Date: May 1977
Creator: Cartwright, Stephen C.
System: The UNT Digital Library
A Top-Down Structured Programming Technique for Mini-Computers (open access)

A Top-Down Structured Programming Technique for Mini-Computers

This paper reviews numerous theoretical results on control structures and demonstrates their practical examples. This study deals with the design of run-time support routines by using top-down structured programming technique. A number of examples are given as illustration of this method. In conclusion, structured programming has proved to be an important methodology for systematic program design and development.
Date: May 1978
Creator: Wu, Chin-yi Robert
System: The UNT Digital Library
A Parallel Programming Language (open access)

A Parallel Programming Language

The problem of programming a parallel processor is discussed. Previous methods of programming a parallel processor, analyzing a program for parallel paths, and special language features are discussed. Graph theory is used to define the three basic programming constructs: choice, sequence, repetition. The concept of mechanized programming is expanded to allow for total separation of control and computational sections of a program. A definition of a language is presented which provides for this separation. A method for developing the program graph is discussed. The control graph and data graph are developed separately. The two graphs illustrate control and data predecessor relationships used in determining parallel elements of a program.
Date: May 1979
Creator: Cox, Richard D.
System: The UNT Digital Library
Defensive Programming (open access)

Defensive Programming

This research explores the concepts of defensive programming as currently defined in the literature. Then these concepts are extended and more explicitly defined. The relationship between defensive programming, as presented in this research, and current programming practices is discussed and several benefits are observed. Defensive programming appears to benefit the entire software life cycle. Four identifiable phases of the software development process are defined, and the relationship between these four phases and defensive programming is shown. In this research, defensive programming is defined as writing programs in such a way that during execution the program itself produces communication allowing the programmer and the user to observe its dynamic states accurately and critically. To accomplish this end, the use of defensive programming snap shots is presented as a software development tool.
Date: May 1980
Creator: Bailey, L. Mark
System: The UNT Digital Library
Machine Recognition of Hand-Send Morse Code Using the M6800 Microcomputer (open access)

Machine Recognition of Hand-Send Morse Code Using the M6800 Microcomputer

This research is the result of an effort to provide real-time machine recognition of hand-send Morse code through the use of the M6800 microcomputer. While the capability to recognize hand-send Morse code messages by machine has been demonstrated before on large scale special purpose computers, on minicomputers, and even on the M6800 microcomputer, the main contribution of this paper is to demonstrate it with relatively understandable hardware and software.
Date: May 1980
Creator: Firouzi, Hossein
System: The UNT Digital Library
Information Storage and Retrieval Systems (open access)

Information Storage and Retrieval Systems

This thesis describes the implementation of a general purpose personal information storage and retrieval system. Chapter one contains an introduction to information storage and retrieval. Chapter two contains a description of the features a useful personal information retrieval system should contain. This description forms the basis for the implementation of the personal information storage and retrieval system described in chapter three. The system is implemented in UCSD Pascal on an Apple II microcomputer.
Date: May 1983
Creator: Creech, Teresa Adams
System: The UNT Digital Library
A C Navigational System (open access)

A C Navigational System

The C Navigational System (CNS) is a proposed programming environment for the C programming language. The introduction covers the major influences of programming environments and the components of a programming environment. The system is designed to support the design, coding and maintenance phases of software development. CNS provides multiple views to both the source and documentation for a programming project. User-defined and system-defined links allow the source and documentation to be hierarchically searched. CNS also creates a history list and function interface for each function in a module. The final chapter compares CNS and several other programming environments (Microscope, Rn, Cedar, PECAN, and Marvel).
Date: May 1989
Creator: Hammerquist, James D. (James Daniel)
System: The UNT Digital Library
Inheritance Problems in Object-Oriented Database (open access)

Inheritance Problems in Object-Oriented Database

This research is concerned with inheritance as used in object-oriented database. More specifically, partial bi-directional inheritance among classes is examined. In partial inheritance, a class can inherit a proper subset of instance variables from another class. Two subclasses of the same superclass do not need to inherit the same proper subset of instance variables from their superclass. Bi-directional partial inheritance allows a class to inherit instance variables from its subclass. The prototype of an object-oriented database that supports both full and partial bi-directional inheritance among classes was developed on top of an existing relational database management system. The prototype was tested with two database applications. One database application needs full and partial inheritance. The second database application required bi-directional inheritance. The result of this testing suggests both advantages and disadvantages of partial bi-directional inheritance. Future areas of research are also suggested.
Date: May 1989
Creator: Auepanwiriyakul, Raweewan
System: The UNT Digital Library
Merlin Classifier System (open access)

Merlin Classifier System

There is a natural tendency for biological systems to change as their environments change. The fittest in the biological systems survive, adapt to their environment, and multiply while the weakest in the environment diminish. There have been attempts in computer science to model the processes of natural selection and survival which occur in biological systems in order to obtain more efficient and effective machine-learning algorithms. Genetic algorithms are the result of these attempts.
Date: May 1991
Creator: Pantermuehl, Brenda N.
System: The UNT Digital Library
DRVBLD: a UNIX Device Driver Builder (open access)

DRVBLD: a UNIX Device Driver Builder

New peripheral devices are being developed at an ever increasing rate. Before such accessories can be used in the UNIX environment (UNIX is a trademark of Bell Laboratories), they must be able to communicate with the operating system. This involves writing a device driver for each device. In order to do this, very detailed knowledge is required of both the device to be integrated and the version of UNIX to which it will be attached. The process is long, detailed and prone to subtle problems and errors. This paper presents a menu-driven utility designed to simplify and accelerate the design and implementation of UNIX device drivers by freeing developers from many of the implementation specific low-level details.
Date: May 1992
Creator: Cano, Agustin F.
System: The UNT Digital Library
Using Normal Deduction Graphs in Common Sense Reasoning (open access)

Using Normal Deduction Graphs in Common Sense Reasoning

This investigation proposes a powerful formalization of common sense knowledge based on function-free normal deduction graphs (NDGs) which form a powerful tool for deriving Horn and non-Horn clauses without functions. Such formalization allows common sense reasoning since it has the ability to handle not only negative but also incomplete information.
Date: May 1992
Creator: Munoz, Ricardo A. (Ricardo Alberto)
System: The UNT Digital Library
Intrinsic and Extrinsic Adaptation in a Simulated Combat Environment (open access)

Intrinsic and Extrinsic Adaptation in a Simulated Combat Environment

Genetic algorithm and artificial life techniques are applied to the development of challenging and interesting opponents in a combat-based computer game. Computer simulations are carried out against an idealized human player to gather data on the effectiveness of the computer generated opponents.
Date: May 1995
Creator: Dombrowsky, Steven P. (Steven Paul)
System: The UNT Digital Library
A Theoretical Network Model and the Incremental Hypercube-Based Networks (open access)

A Theoretical Network Model and the Incremental Hypercube-Based Networks

The study of multicomputer interconnection networks is an important area of research in parallel processing. We introduce vertex-symmetric Hamming-group graphs as a model to design a wide variety of network topologies including the hypercube network.
Date: May 1995
Creator: Mao, Ai-sheng
System: The UNT Digital Library
Symplectic Integration of Nonseparable Hamiltonian Systems (open access)

Symplectic Integration of Nonseparable Hamiltonian Systems

Numerical methods are usually necessary in solving Hamiltonian systems since there is often no closed-form solution. By utilizing a general property of Hamiltonians, namely the symplectic property, all of the qualities of the system may be preserved for indefinitely long integration times because all of the integral (Poincare) invariants are conserved. This allows for more reliable results and frequently leads to significantly shorter execution times as compared to conventional methods. The resonant triad Hamiltonian with one degree of freedom will be focused upon for most of the numerical tests because of its difficult nature and, moreover, analytical results exist whereby useful comparisons can be made.
Date: May 1996
Creator: Curry, David M. (David Mason)
System: The UNT Digital Library
An Adaptive Linearization Method for a Constraint Satisfaction Problem in Semiconductor Device Design Optimization (open access)

An Adaptive Linearization Method for a Constraint Satisfaction Problem in Semiconductor Device Design Optimization

The device optimization is a very important element in semiconductor technology advancement. Its objective is to find a design point for a semiconductor device so that the optimized design goal meets all specified constraints. As in other engineering fields, a nonlinear optimizer is often used for design optimization. One major drawback of using a nonlinear optimizer is that it can only partially explore the design space and return a local optimal solution. This dissertation provides an adaptive optimization design methodology to allow the designer to explore the design space and obtain a globally optimal solution. One key element of our method is to quickly compute the set of all feasible solutions, also called the acceptability region. We described a polytope-based representation for the acceptability region and an adaptive linearization technique for device performance model approximation. These efficiency enhancements have enabled significant speed-up in estimating acceptability regions and allow acceptability regions to be estimated for a larger class of device design tasks. Our linearization technique also provides an efficient mechanism to guarantee the global accuracy of the computed acceptability region. To visualize the acceptability region, we study the orthogonal projection of high-dimensional convex polytopes and propose an output sensitive algorithm for …
Date: May 1999
Creator: Chang, Chih-Hui, 1967-
System: The UNT Digital Library
The Design and Implementation of an Intelligent Agent-Based File System (open access)

The Design and Implementation of an Intelligent Agent-Based File System

As bandwidth constraints on LAN/WAN environments decrease, the demand for distributed services will continue to increase. In particular, the proliferation of user-level applications requiring high-capacity distributed file storage systems will demand that such services be universally available. At the same time, the advent of high-speed networks have made the deployment of application and communication solutions based upon an Intelligent Mobile Agent (IMA) framework practical. Agents have proven to present an ideal development paradigm for the creation of autonomous large-scale distributed systems, and an agent-based communication scheme would facilitate the creation of independently administered distributed file services. This thesis thus outlines an architecture for such a distributed file system based upon an IMA communication framework.
Date: May 2000
Creator: Hopper, S. Andrew
System: The UNT Digital Library
Extensions to Jinni Mobile Agent Architecture (open access)

Extensions to Jinni Mobile Agent Architecture

We extend the Jinni mobile agent architecture with a multicast network transport layer, an agent-to-agent delegation mechanism and a reflection based Prolog-to-Java interface. To ensure that our agent infrastructure runs efficiently, independently of router-level multicast support, we describe a blackboard based algorithm for locating a randomly roaming agent. As part of the agent-to-agent delegation mechanism, we describe an alternative to code-fetching mechanism for stronger mobility of mobile agents with less network overhead. In the context of direct and reflection based extension mechanisms for Jinni, we describe the design and the implementation of a reflection based Prolog-to-Java interface. The presence of subtyping and method overloading makes finding the most specific method corresponding to a Prolog call pattern fairly difficult. We describe a run-time algorithm which provides accurate handling of overloaded methods beyond Java's reflection package's limitations.
Date: May 2001
Creator: Tyagi, Satyam
System: The UNT Digital Library

Temporally Correct Algorithms for Transaction Concurrency Control in Distributed Databases

Access: Use of this item is restricted to the UNT Community
Many activities are comprised of temporally dependent events that must be executed in a specific chronological order. Supportive software applications must preserve these temporal dependencies. Whenever the processing of this type of an application includes transactions submitted to a database that is shared with other such applications, the transaction concurrency control mechanisms within the database must also preserve the temporal dependencies. A basis for preserving temporal dependencies is established by using (within the applications and databases) real-time timestamps to identify and order events and transactions. The use of optimistic approaches to transaction concurrency control can be undesirable in such situations, as they allow incorrect results for database read operations. Although the incorrectness is detected prior to transaction committal and the corresponding transaction(s) restarted, the impact on the application or entity that submitted the transaction can be too costly. Three transaction concurrency control algorithms are proposed in this dissertation. These algorithms are based on timestamp ordering, and are designed to preserve temporal dependencies existing among data-dependent transactions. The algorithms produce execution schedules that are equivalent to temporally ordered serial schedules, where the temporal order is established by the transactions' start times. The algorithms provide this equivalence while supporting currency to the …
Date: May 2001
Creator: Tuck, Terry W.
System: The UNT Digital Library

A Study of Perceptually Tuned, Wavelet Based, Rate Scalable, Image and Video Compression

Access: Use of this item is restricted to the UNT Community
In this dissertation, first, we have proposed and implemented a new perceptually tuned wavelet based, rate scalable, and color image encoding/decoding system based on the human perceptual model. It is based on state-of-the-art research on embedded wavelet image compression technique, Contrast Sensitivity Function (CSF) for Human Visual System (HVS) and extends this scheme to handle optimal bit allocation among multiple bands, such as Y, Cb, and Cr. Our experimental image codec shows very exciting results in compression performance and visual quality comparing to the new wavelet based international still image compression standard - JPEG 2000. On the other hand, our codec also shows significant better speed performance and comparable visual quality in comparison to the best codec available in rate scalable color image compression - CSPIHT that is based on Set Partition In Hierarchical Tree (SPIHT) and Karhunen-Loeve Transform (KLT). Secondly, a novel wavelet based interframe compression scheme has been developed and put into practice. It is based on the Flexible Block Wavelet Transform (FBWT) that we have developed. FBWT based interframe compression is very efficient in both compression and speed performance. The compression performance of our video codec is compared with H263+. At the same bit rate, our encoder, …
Date: May 2002
Creator: Wei, Ming
System: The UNT Digital Library
Agent-Based Architecture for Web Deployment of Multi-Agents as Conversational Interfaces. (open access)

Agent-Based Architecture for Web Deployment of Multi-Agents as Conversational Interfaces.

Agent-based architecture explains the rationale and basis for developing agents that can interact with users through natural language query/answer patterns developed systematically using AIML (artificial intelligence mark-up language) scripts. This thesis research document also explains the architecture for VISTA (virtual interactive story-telling agents), which is used for interactive querying in educational and recreational purposes. Agents are very effective as conversational interfaces when used along side with graphical user interface (GUI) in applications and Web pages. This architecture platform can support multiple agents with or with out sharing of knowledgebase. They are very useful as chat robots for recreational purposes, customer service and educational purposes. This platform is powered by Java servlet implementation of Program D and contained in Apache Tomcat server. The AIML scripting language defined here in is a generic form of XML language and forms the knowledgebase of the bot. Animation is provided with Microsoft® Agent technology and text-to-speech support engine.
Date: May 2003
Creator: Pothuru, Ranjit Kumar
System: The UNT Digital Library
Benchmark-based Page Replacement (BBPR) Strategy: A New Web Cache Page Replacement Strategy (open access)

Benchmark-based Page Replacement (BBPR) Strategy: A New Web Cache Page Replacement Strategy

World Wide Web caching is widely used through today's Internet. When correctly deployed, Web caching systems can lead to significant bandwidth savings, network load reduction, server load balancing, and higher content availability. A document replacement algorithm that can lower retrieval latency and yield high hit ratio is the key to the effectiveness of proxy caches. More than twenty cache algorithms have been employed in academic studies and in corporate communities as well. But there are some drawbacks in the existing replacement algorithms. To overcome these shortcomings, we developed a new page replacement strategy named as Benchmark-Based Page Replacement (BBPR) strategy, in which a HTTP benchmark is used as a tool to evaluate the current network load and the server load. By our simulation model, the BBPR strategy shows better performance than the LRU (Least Recently Used) method, which is the most commonly used algorithm. The tradeoff is a reduced hit ratio. Slow pages benefit from BBPR.
Date: May 2003
Creator: He, Wei
System: The UNT Digital Library