Graduation Year


Document Type




Degree Granting Department

Computer Science

Major Professor

Nagarajan Ranganathan, Ph.D.

Committee Member

Dewey Rundus, Ph.D.

Committee Member

Hao Zheng, Ph.D.


Code partition, Reverse engineering, Procedural language application distribution, Parallel vitual machine, Heterogenous systems


In a large class of distributed embedded systems, most of the code generation models in use today target at object-oriented applications. Distributed computing using procedural language applications is challenging because there are no compatible code generators to test the partitioned programs mapped on to the multi-processor system. In this thesis, we design a code generator to produce procedural language code for a distributed embedded system. Unpartitioned programs along with the partition primitives are converted into independently executable concrete implementations. The process consists of two steps, first translating the primitives of the unpartitioned program into equivalent code clusters, and then scheduling the implementations of these code clusters according to the data dependency inherent in the unpartitioned program. Communication and scheduling of the partitioned programs require the original source code to be reverse engineered. A reverse engineering tool is used for the creation of a metadata table describing the program elements and dependency trees. This data gathered, is used by Parallel Virtual Machine message passing system for communication between the partitioned programs in the distributed environment. The proposed Code Generation Model has been implemented using C and the experimental results are presented for various test cases. Further, metrics are developed for testing the quality of the results taking into consideration the correctness and the execution of time.