Issues in the design of a parallel object-oriented language
Tóm tắt
This paper discusses the considerations that have played a role in the design of the language POOL2. This language integrates the structuring techniques of object-oriented programming with mechanisms for expressing parallelism. We introduce the basic principles of object-oriented programming and its significance for program development methodologies. Several approaches for integrating objects and parallelism are compared and arguments for the choices made in POOL2 are presented. We also explain why inheritance is not yet included in POOL2. A brief overview of the research in formal aspects of POOL is given. Finally we indicate some directions for future developments.
Từ khóa
Tài liệu tham khảo
Allen R. Callahan D. and Kennedy K.: Automatic Decomposition of Scientific Programs for Parallel Execution. In Proc. 14th POPL Munich West Germany 21–23 January 1987 pp. 63–76.
America P., 1985, ESPRIT Project 415 Document 27
America P., 1985, ESPRIT Project 415 Document 91
America P., 1986, ESPRIT Project 415 Document 188
America P., 1987, Inheritance and Subtyping in a Parallel Object-Oriented Language, 234
America P.: POOL-T — a Parallel Object-Oriented Language. Object-Oriented Concurrent Programming Yonezawa and Tokoro (eds) pp. 199–220 MIT Press 1987.
America P., 1988, ESPRIT Project 415 Document 364
America P., 1988, ESPRIT Project 415 Document 365
America P., 1988, ESPRIT Project 415 Document 366
America P., 1988, ESPRIT Project 415 Document 393
America P., 1989, Also appeared, Philips Journal of Research, 44, 365
America P., 1988, ESPRIT Project 415 Document 445
America P. and de Boer F.: A Proof Theory for a Sequential Version of POOL. Technical Report Centre for Mathematics and Computer Science Amsterdam the Netherlands 1989. To appear.
America P. and Rutten J.: Solving Reflexive Domain Equations in a Category of Complete Metric Spaces. Mathematical Foundations of Programming Language Semantics M. Main A. Melton M. Mislove and D. Schmidt (eds) pp. 254–288 Lecture Notes in Computer Science 298 Springer-Verlag 1988. To appear in Journal of Computer and System Sciences .
America P. de Bakker J. Kok J. N. and Rutten J.: Operational Semantics of a Parallel Object-Oriented Language. Conference Record of the 13th Symposium of Principles of Programming Languages St. Petersburg Florida 13–15 January 1986 pp. 194–208.
America P., 1986, Report CS-R8626
ANSI: The Programming Language Ada Reference Manual ANSI/MIL-STD-1815A-1983 approved 17 February 1983. Lecture Notes in Computer Science 155 Springer-Verlag 1983.
Baeten J. C. M., 1987, On the Consistency of Koomen's Fair Abstraction Rule, Theoretical Computer Science, 51, 129, 10.1016/0304-3975(87)90052-1
Bergstra J. A. Klop J. W. and Olderog E.-R.: Failures without Chaos: a New Process Semantics for Fair Abstraction. Formal Description of Programming Concepts III — Proceedings of the Third IFIP WG 2.2 Working Conference M. Wirsing (ed.) Gl. Avernaes Ebberup Denmark 25–28 August 1986 pp. 77–102 North-Holland.
Bergstra J. A., 1984, Report CS-R8410
Bobrow D. G. DeMichiel L. G. Gabriel R. P. Keene S. Kiczales G. and Moon D. A.: Common Lisp Object System Specification. Document 88-003 X3J13 standards committee (ANSI Common Lisp) June 1988.
de Boer F. S.: A Proof Rule for Process Creation. Formal Description of Programming Concepts III — Proceedings of the Third IFIP WG 2.2 Working Conference M. Wirsing (ed.) Gl. Avernaes Ebberup Denmark 25–28 August 1986 pp. 23–50 North-Holland.
BSI, 1982, Specification for the Computer Programming Language Pascal
Clinger W. D.: Foundations of Actor Semantics. Technical Report 633 Massachusetts Institute of Technology Artificial Intelligence Laboratory May 1981.
Cox B. J.: Object-Oriented Programming . Addison-Wesley 1986.
Damm W., 1986, ESPRIT Project 415 Document 1
Damm W. Döhmen G. and den Haan P.: Using AADL to Specify Distributed Computer Architectures: a Case Study. Deliverable 3 of the Working Group on Semantics and Proof Techniques J. W. de Bakker (ed.) Chapter 1.4 ESPRIT Project 415 October 1987.
Dugundji J.: Topology . Allyn and Bacon Boston Massachusetts 1966.
Engelking R.: General Topology . Polish Scientific Publishers 1977.
Feldmann J. A. Fanty M. A. Goddard N. H. and Lyne K. J.: Computing with Structured Connectionist Networks. Communications of the ACM 170–187 (1988).
Goldberg A. and Robson D.: Smalltalk -80 The Language and its Implementation . Addison-Wesley 1983.
Gordon M.J.C.: The Denotational Description of Programming Languages: An Introduction . Springer-Verlag 1979.
Halbert D. C. and O'Brien P. D.: Using Types and Inheritance in Object-Oriented Programming. IEEE Software 71–79 (1987).
Hennessy M. and Plotkin G.: Full Abstraction for a Simple Parallel Programming Language. Proc. 8th Symposium on Mathematical Foundations of Computer Science J. Bečvář (ed.) 1979 pp. 108–120 Lecture Notes in Computer Science 74 Springer-Verlag.
Hillis W. D.: The Connection Machine . M.I.T. Press 1985.
Janssens D. and Rozenberg G.: Basic Notions of Actor Grammars: a Graph Grammar Model for Actor Computation. Graph-Grammars and Their Application to Computer Science H. Ehrig M. Nagl G. Rozenberg and A. Rosenfeld eds pp. 280–298 Lecture Notes in Computer Science 291 Springer-Verlag 1987.
Kennedy K.: Automatic Translation of FORTRAN Programs to Vector Form. Technical Report 476-029-4 Rice University October 1980.
Kok J. N., 1987, Report CS-R8755
Kowalski R. Logic for Problem Solving . North-Holland 1979.
Koymans R. Vytopil J. and de Roever W. P.: Real-time Programming and Asynchronous Message Passing. Proc. Second Annual ACM Symposium on Principles of Distributed Computing Montreal Canada August 1983.
Lang C. R., 1982, Ph.D. thesis
Leih G.: Actor Graph Grammars and POOL2. PRISMA Project Document 265 University of Leiden Department of Computer Science February 1988.
Lieberman H.: A Preview of Act 1. A.I. Memo 625 Massachusetts Institute of Technology Artificial Intelligence Laboratory June 1981.
Liskov B. Atkinson R. Bloom T. Moss E. Schaffert J. C. Scheifler R and Snyder A.: CLV Reference Manual . Lecture Notes in Computer Science 114 Springer-Verlag 1981.
Meyer B.: Object-Oriented Software Construction . Prentice-Hall 1988.
Moss J. E. B., 1987, ECOOP '87: European Conference on Object-Oriented Programming, 171, 10.1007/3-540-47891-4_16
Odijk E. A. M., 1987, Proc. PARLE: Parallel Architectures and Languages Europe. Volume I:Parallel Architectures, 461, 10.1007/3-540-17943-7_145
Plotkin G. D., 1981, Report DAIMI FN-19
Plotkin G. D.: An Operational Semantics for CSP. In D. Bjørner (ed.) Formal Description of Programming Concepts II pp. 199–223 North-Holland 1983.
Rutten J., 1988, Report CS-R8843
Schaffert C. Cooper T. Bullis B. Kilian M. and Wilpolt C.: An Introduction to Trellis/Owl. Proc. ACM Conference on Object-Oriented Programming Systems Languages and Applications Portland Oregon September 1986 pp. 9–16.
Schaffert C., 1985, Technical Report DEC-TR-372
Theriault D. G.: Issues in the Design and Implementation of Act 2. Technical Report 728 Massachusetts Institute of Technology Artificial Intelligence Laboratory June 1983.
Turner D. A.: Miranda: a Non-strict Functional Language with Polymorphic Types. Functional Programming Languages and Computer Architecture J.-P. Jouannaud (ed.) pp. 1–16 Lecture Notes in Computer Science 201 Springer-Verlag 1985.
Tucker J. V. and Zucker J. I.: Program Correctness over Abstract Data Types with Error-State Semantics . CWI Monographs 6 North-Holland 1988.
Vaandrager F. W., 1986, Report CS-R8629
Wouters R., 1988, ESPRIT Project 415 Document 430