Date of Award
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.
Guo, Lifu, "Synchronization Expressions In Parallel Programming Languages" (1995). Digitized Theses. 2492.