Lifu Guo

Date of Award


Degree Type


Degree Name

Doctor of Philosophy


In this thesis, we first review current trends in the areas related to parallel programming languages. By reviewing data-parallel and control-parallel paradigms, parallelizing compilers and parallel programming languages, we demonstrate the necessity of developing high-level parallel programming languages.;Synchronization is an essential part of parallel processing. However, many synchronization mechanisms currently used in parallel programming languages are at too low a level to be compatible with the other constructs of high-level languages. We propose and develop new constructs for synchronization termed "synchronization expressions". These new constructs relieve programmers of the burden of imposing synchronization, requiring them only to specify the necessary constraints. The new constructs demand no structural changes to the base language and allow complicated synchronization constraints to be expressed easily.;We also introduce a new family of languages, called synchronization languages, to model the synchronization of parallel processes. A synchronization language is a restricted regular language. Synchronization languages provide us with not only a theoretical model for the semantics of the synchronization of multiprocessors but also a systematic method for implementing synchronization expressions. We also discuss the idea of using reversed alternating finite automata in the implementation of synchronization expressions.



To view the content in your browser, please download Adobe Reader or, alternately,
you may Download the file to your hard drive.

NOTE: The latest versions of Adobe Reader do not support viewing PDF files within Firefox on Mac OS and if you are using a modern (Intel) Mac, there is no official plugin for viewing PDF files within the browser window.