Compiling object-oriented programs for distributed execution

Techniques based on formal semantics are discussed for automatically generating parallelizing compilers for object-oriented programming languages. The denotational semantics of object-oriented programming languages are used to derive the control and data dependencies that exist within programs and this information may then be used to produce parallel object code by a compiler. This approach also easily facilitates proving the correctness of transformations performed on the source programs. Furthermore, since compilers may be automatically generated from denotational semantics specifications, the implementation of these parallelization techniques will be automatic and hence language independent.

[1]  Oscar Nierstrasz,et al.  Object-Based Concurrent Computing , 1991, Lecture Notes in Computer Science.

[2]  Peter Wegner,et al.  The Object-Oriented Classification Paradigm , 1987, Research Directions in Object-Oriented Programming.

[3]  Peter Lee Realistic compiler generation , 1989, Foundations of Computing Series.

[4]  Michael J. C. Gordon,et al.  The Denotational Description of Programming Languages , 1979, Springer New York.

[5]  Deborah Knox,et al.  Combinators as Control Mechanisms in Multiprocessing Systems , 1987, ICPP.

[6]  Chris Tomlinson,et al.  Concurrent Object-Oriented Programming Languages , 1989, Object-Oriented Concepts, Databases, and Applications.

[7]  Michael J. C. Gordon,et al.  The denotational description of programming languages - an introduction , 1979 .

[8]  Bjarne Stroustrup,et al.  C++ Programming Language , 1986, IEEE Softw..

[9]  Pierre America,et al.  Denotational Semantics of a Parallel Object-Oriented Language , 1989, Inf. Comput..

[10]  Mario Tokoro,et al.  Object-oriented concurrent programming , 1987 .

[11]  Li Xie,et al.  A path-based method of parallelizing C++ programs , 1994, SIGP.

[12]  Barbara M. Chapman,et al.  Supercompilers for parallel and vector computers , 1990, ACM Press frontier series.

[13]  Paul Hudak,et al.  Distributed execution of functional programs using serial combinators , 1985, IEEE Transactions on Computers.

[14]  David Gelernter,et al.  Generative communication in Linda , 1985, TOPL.

[15]  David Robson,et al.  Smalltalk-80: The Language and Its Implementation , 1983 .