Date of Defense



Computer Science

First Advisor

Dr. Elise deDeonker

Second Advisor

James Boyle


Technology is constantly changing. New computers are developed and implemented at an increasingly faster rate every year. Because of this, the problem of transporting software from one computer to an other is a relevant one. One way of transporting programs is through program transformation. I worked with automated program transformations developed for use with the TAMPR (Transformation Assisted Multiple Program Realization) system. Dr. James Boyle and I worked on developing transformation sets to be used to transform programs to run on MIMD (Multiple Instruction, Multiple Data) computers. The derivation sets I worked with transform pure functional Lisp to Fortran66.

We developed transformation sets to split the representation of data into two components. This is important on a distributed memory MIMD machine, because both the node (processor) id and the index on that node are required to refer to the data. We created an inter mediate step in the splitting in which the pseudo function datum is implemented. The datum format is datum (node id, index). This pseudo function made it possible to perform a few mathematical and logical equation optimizations.

We used the sequential derivation to test out the ideas and transformations to be used in the MIMD derivations. Because the sequential derivation is fairly straightforward and we are familiar with it, we could spot the errors in our modifications easily. The LISPTRAN derivation set now has four variants: (1) the original derivation with some of the larger transformation sets split into several smaller sets for ease of understanding and proving, (2) a derivation containing a set of trans formations that we wrote to pass the value of a function as an address parameter in a subroutine, (3) a derivation containing the data split ting transformation sets, and (4) a derivation with the previous two modifications combined.

Access Setting

Honors Thesis-Campus Only