A Programming Language For Concurrent Processing (open access)

A Programming Language For Concurrent Processing

This thesis is a proposed solution to the problem of including an effective interrupt mechanism in the set of concurrent- processing primitives of a block-structured programming language or system. The proposed solution is presented in the form of a programming language definition and model. The language is called TRIPLE.
Date: August 1972
Creator: Jackson, Portia M.
System: The UNT Digital Library
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
Generating Machine Code for High-Level Programming Languages (open access)

Generating Machine Code for High-Level Programming Languages

The purpose of this research was to investigate the generation of machine code from high-level programming language. The following steps were undertaken: 1) Choose a high-level programming language as the source language and a computer as the target computer. 2) Examine all stages during the compiling of a high-level programming language and all data sets involved in the compilation. 3) Discover the mechanism for generating machine code and the mechanism to generate more efficient machine code from the language. 3) Construct an algorithm for generating machine code for the target computer. The results suggest that compiler is best implemented in a high-level programming language, and that SCANNER and PARSER should be independent of target representations, if possible.
Date: December 1976
Creator: Chao, Chia-Huei
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 Computer Algorithm for Synthetic Seismograms (open access)

A Computer Algorithm for Synthetic Seismograms

Synthetic seismograms are a computer-generated aid in the search for hydrocarbons. Heretofore the solution has been done by z-transforms. This thesis presents a solution based on the method of finite differences. The resulting algorithm is fast and compact. The method is applied to three variations of the problem, all three are reduced to the same approximating equation, which is shown to be optimal, in that grid refinement does not change it. Two types of algorithms are derived from the equation. The number of obvious multiplications, additions and subtractions of each is analyzed. Critical section of each requires one multiplication, two additions and two subtractions. Four sample synthetic seismograms are shown. Implementation of the new algorithm runs twice as fast as previous computer program.
Date: August 1977
Creator: Isaacson, James
System: The UNT Digital Library
FORTRAN Optimizations at the Source Code Level (open access)

FORTRAN Optimizations at the Source Code Level

This paper discusses FORTRAN optimizations that the user can perform manually at the source code level to improve object code performance. It makes use of descriptive examples within the text of the paper for explanatory purposes. The paper defines key areas in writing a FORTRAN program and recommends ways to improve efficiency in these areas.
Date: August 1977
Creator: Barber, Willie D.
System: The UNT Digital Library
Execution Time Analysis through Software Monitors (open access)

Execution Time Analysis through Software Monitors

The analysis of an executing program and the isolation of critical code has been a problem since the first program was written. This thesis examines the process of program analysis through the use of a software monitoring system. Since there is a trend toward structured languages a subset of PL/I was developed t~o exhibit source statement monitoring and costing techniques. By filtering a PL/W program through a preorocessor which determines the cost of source statements and inserts monitoring code, a post-execution analysis of the program can be obtained. This analysis displays an estimated time cost for each source statements the number of times the statement w3s executed, and the product of these values. Additionally, a bar graph is printed in order to quickly locate very active code.
Date: December 1977
Creator: Whistler, Wayne C.
System: The UNT Digital Library
A Report on Control of Access to Stored Information in a Computer Utility (open access)

A Report on Control of Access to Stored Information in a Computer Utility

Time-sharing computer systems permit large numbers of users to operate on common sets of data and programs. Since certain parts of these computer resources may be sensitive or proprietary, there exists the risks that information belonging to one user, may, contrary to his intent, become available to other users, and there is the additional risk that outside agencies may infiltrate the system and obtain information. The question naturally arises of protecting one user's stored program and data against unauthorized access by others.
Date: 1978
Creator: Shakiba-Jahromi, Mostafa
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
FORTRAN Graphics Library (open access)

FORTRAN Graphics Library

The objective of this work is to help the faculty, staffs and students of NTSU to use the CalComp plotting facility very easily. Therefore, this work is written in such a step by step and self-explanatory way to help the reader to understand and grasp the essential technique of the computer plotting. Each subroutine illustrated in this work has been run and checked by our NTSU computer-CalComp plotting facility; the results of sample programs and illustrated graphs are believed to be very useful to understand each individual subroutine. Basically, software packages are stored in the magnetic disk of the IBM 360 computer as the standard graphic subroutines. These subroutines were written in FORTRAN IV. The user can write the driving program to call these subroutines and also inputs the desire data to the computer for computation. The results of computation will be outputed and stored in the magnetic tape.
Date: August 1979
Creator: Ling-Yann, Huang
System: The UNT Digital Library
PILOT for the Apple II Microcomputer (open access)

PILOT for the Apple II Microcomputer

PILOT (Programmed Inquiry, Learning or Teaching) is a simple, conversational language developed in 1969 by John A. Starkweather at the University of California Medical Center in San Francisco. Originally designed for computer assisted instructional needs, PILOT also has been effectively used as an introductory computer language. The PILOT system developed for the Apple II microcomputer consists of two programs, PILOT EDITOR and PILOT DRIVER, which are written in Applesoft and which use the Apple II disk operating system. The PILOT system was designed to facilitate easy authoring and execution of programs written in an extended version of the PILOT language. Due to the memory requirements of the programs and the Apple II disk operating system, the PILOT system described here should be executed on a machine with at least 32k bytes of random access memory.
Date: August 1979
Creator: Ellis, Richard George
System: The UNT Digital Library
A Survey of Computer Systems: IBM System/360, 3031, The Decsystem-20, The Univac 1100, and The Cray-1, and The AS/5000 (open access)

A Survey of Computer Systems: IBM System/360, 3031, The Decsystem-20, The Univac 1100, and The Cray-1, and The AS/5000

This is a brief survey of some of the popular computer systems. As many features as possible have been covered in order to get an overview of the systems under consideration.
Date: April 1980
Creator: Atlasi, Nasrin
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
The Data Structure of a KSAM Key Directory (open access)

The Data Structure of a KSAM Key Directory

The purpose of this project is to explore the alternate data structures for a disk file which is currently a preorder binary tree. specifically, the file is the key directory for an implementation of Keyed Sequential Access Method (KSAM) in a mini-computer operating system. A new data structure will be chosen, with the reasons for that choice given, and it will be incorporated into the existing system.
Date: November 1980
Creator: Kirchoff, Deanna T.
System: The UNT Digital Library
Macro - Preprocessor for 6809 Cross Assembler (open access)

Macro - Preprocessor for 6809 Cross Assembler

It is frequently considered to be apparent two stages during assembly time. The first is the preprocessor stage in which a single instruction called the micro instruction is replaced with the sequence of instructions called the macro definition. The second is the processor stage in which the output from the first stage is assembled into machine language instructions for a particular computer. This paper descibes the first one which is macro-preprocessor stage.
Date: June 1982
Creator: Lee, Charlie H.
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
Text Processing for Thai Characters (open access)

Text Processing for Thai Characters

The purpose of this project is 1) to create a Thai character set for text processing, 2) to write a text processing program for the character set, and 3) to allow users to create and save the text.
Date: August 1983
Creator: Tarapoom, Nirut
System: The UNT Digital Library
Triangle: A Teaching Program of High School Geometry (open access)

Triangle: A Teaching Program of High School Geometry

Among the early applications of computers, one can find frequent mention of intelligent instructional systems. Such intelligent instructional systems represent a new generation of learner-based computer aided instruction, preceded in time by the original frame-based systems and an intervening generation of expert-based CAI. The history of CAI is characterized by three generations: Frame-based CAI, Expert-based CAI and Learner-based CAI.
Date: August 1983
Creator: Chen, Yei-Huang
System: The UNT Digital Library
Mini-ADA Compiler Project (open access)

Mini-ADA Compiler Project

The Ada language is one of the most controversial topics in computer science today. Ada was originally designed as a solution to the software maintenance problems encountered by the United States Department of Defense[2], and as a multi-purpose language to be used particularly in an embedded computer system[7]. Never before has a project been undertaken. The Ada language does not simply entail the construction of a new compiler or a new language definition, it is this and a great deal more.
Date: October 1983
Creator: Chang, Kai
System: The UNT Digital Library
Design and Implementation of a Text Editor Under Music Interactive Operating System (open access)

Design and Implementation of a Text Editor Under Music Interactive Operating System

An interactive text editor is a computer program that allows a user to create and revise a target document such as program statements, manuscript text, and numeric data through an online terminal and the computer. It allows text to be modified and corrected many orders of magnitude faster and more easily than would manual correction. The most important characteristic of the text editor is its convenience for the user. Such convenience requires a simple, mnemonic command language which is easy to use and understand.
Date: March 1984
Creator: Hwa, Shu-Jen
System: The UNT Digital Library