×

zbMATH — the first resource for mathematics

Issues in the design of a parallel object-oriented language. (English) Zbl 0694.68012
Summary: 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.

MSC:
68N01 General topics in the theory of software
68N99 Theory of software
68N25 Theory of operating systems
PDF BibTeX XML Cite
Full Text: DOI
References:
[1] Agha, G.:Actors: A Model of Concurrent Computation in Distributed Systems. MIT Press, 1986.
[2] Allen, R., Callahan, D. and Kennedy, K.: Automatic Decomposition of Scientific Programs for Parallel Execution. InProc. 14th POPL, Munich, West Germany, 21–23 January 1987, pp. 63–76.
[3] America, P.: A Sketch of POOL-S, a Simplified Version of POOL1. ESPRIT Project 415 Document 27, Philips Research Laboratories, Eindhoven, the Netherlands, February 1985.
[4] America, P.: Definition of the Programming Language POOL-T. ESPRIT Project 415 Document 91, Philips Research Laboratories, Eindhoven, the Netherlands, September 1985.
[5] America, P.: A Proof Theory for a Sequential Version of POOL. ESPRIT Project 415 Document 188, Philips Research Laboratories, Eindhoven, the Netherlands, October 1986. · Zbl 1022.68502
[6] America, P.: Inheritance and Subtyping in a Parallel Object-Oriented Language.ECOOP’87:European Conference on Object-Oriented Programming, Paris, France, 15–17 June 1987, pp. 234–242, Lecture Notes in Computer Science 276, Springer-Verlag.
[7] America, P.: POOL-T – a Parallel Object-Oriented Language.Object-Oriented Concurrent Programming, Yonezawa and Tokoro (eds), pp. 199–220, MIT Press, 1987.
[8] America, P.: Definition of POOL2, a Parallel Object-Oriented Language. ESPRIT Project 415 Document 364, Philips Research Laboratories, Eindhoven, the Netherlands, April 1988.
[9] America, P.: Standard Classes for POOL2. ESPRIT Project 415 Document 365, Philips Research Laboratories, Eindhoven, the Netherlands, April 1988.
[10] America, P.: Standard Units for POOL2. ESPRIT Project 415 Document 366, Philips Research Laboratories, Eindhoven, the Netherlands, April 1988.
[11] America, P.: Rationale for the Design of POOL2. ESPRIT Project 415 Document 393, Philips Research Laboratories, Endhoven, the Netherlands, May 1988.
[12] America, P.: A Behavioural Approach to Subtyping in Object-Oriented Programming Languages.Workshop in Inheritance Hierarchies in Knowledge Representation and Programming Languages, Viareggio, Italy, 6–8 February 1989. Also appeared inPhilips Journal of Research, 44 (2/3), 365–383, (1989) · Zbl 0681.68010
[13] America, P. and de Bakker, J.: Designing Equivalent Semantic Models for Process Creation.Theoretical Computer Science, 60(2), 109–176, (1988). · Zbl 0652.68029 · doi:10.1016/0304-3975(88)90048-5
[14] America, P. and de Boer, F.: A Proof System for a Parallel Language with Dynamic Process Creation. ESPRIT Project 415 Document 445, Philips Research Laboratories, Eindhoven, the Netherlands, October 1988.
[15] 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.
[16] 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 inJournal of Computer and System Sciences. · Zbl 0664.18002
[17] 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. · Zbl 0695.68058
[18] America, P., de Bakker, J., Kok, J. N. and Rutten, J.: A Denotational Semantics of a Parallel Object-Oriented Language. Report CS-R8626, Centre for Mathematics and Computer Science, Amsterdam, the Netherlands, August 1986. To appear inInformation and Computation. · Zbl 0695.68058
[19] Andrews, G. R. and Schneider, F. B.: Concepts and Notations for Concurrent Programming.ACM Computing Surveys, 15(1), 3–43 (1983). · Zbl 0515.68025 · doi:10.1145/356901.356903
[20] 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. · Zbl 0513.68005
[21] Apt, K. R.: Ten Years of Hoare Logic: a Survey-Part I.ACM Transactions on Programming Languages and Systems, 3(4), 431–483 (1981). · Zbl 0471.68006 · doi:10.1145/357146.357150
[22] Apt, K. R., Francez, N. and de Roever, W. P.: A Proof System for Communicating Sequential Processes.ACM Transactions on Programming Languages and Systems, 2(3), 359–385 (1980). · Zbl 0468.68023 · doi:10.1145/357103.357110
[23] Backus, J.: Can Programming be Liberated from the Von Neumann Style? – a Functional Style and Its Algebra of Programs.Communications of the ACM, 21(8), 613–641 (1978). · Zbl 0383.68013 · doi:10.1145/359576.359579
[24] Baeten, J. C. M., Bergstra, J. A. and Klop, J. W.: On the Consistency of Koomen’s Fair Abstraction Rule.Theoretical Computer Science, 51(1, 2), 129–176 (1987). · Zbl 0621.68010 · doi:10.1016/0304-3975(87)90052-1
[25] de Bakker, J. W. and Zucker, J. I.: Processes and the Denotational Semantics of Concurrency.Information and Control, 54, 70–120 (1982). · Zbl 0508.68011 · doi:10.1016/S0019-9958(82)91250-5
[26] Bergstra, J. A. and Klop, J. W.: Process Algebra for Synchronous Communication.Information and Control, 60, 109–137 (1984). · Zbl 0597.68027 · doi:10.1016/S0019-9958(84)80025-X
[27] Bergstra, J. A. and Klop, J. W.: Algebra of Communicating Processes with Abstraction.Theoretical Computer Science, 37(1), 77–121 (1985). · Zbl 0579.68016 · doi:10.1016/0304-3975(85)90088-X
[28] 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.2Working Conference, M. Wirsing, (ed.), Gl. Avernaes, Ebberup, Denmark, 25–28 August 1986, pp. 77–102, North-Holland.
[29] Bergstra, J. A., Klop, J. W. and Tucker, J. V.: Process Algebra with Asynchronous Communication Mechanisms. Report CS-R8410, Centre for Mathematics and Computer Science, Amsterdam, the Netherlands, 1984. · Zbl 0579.68015
[30] Black, A., Hutchinson, N., Jul, E., Levy, H. and Carter, L.: Distribution and Abstract Types in Emerald.IEEE Transactions on Software Engineering, SE-13(1), 65–76 (1987). · Zbl 05341249 · doi:10.1109/TSE.1987.232836
[31] 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.
[32] de Boer, F. S.: A Proof Rule for Process Creation.Formal Description of Programming Concepts III – Proceedings of the Third IFIP WG 2.2Working Conference, M. Wirsing, (ed.), Gl. Avernaes, Ebberup, Denmark, 25–28 August 1986, pp. 23–50, North-Holland.
[33] BSI:Specification for the Computer Programming Language Pascal. Standard BS 6192, British Standards Institution, Herts, United Kingdom, 1982.
[34] Cardelli, L.: A Semantics of Multiple Inheritance.Information and Computation, 76, 138–164 (1988). · Zbl 0651.68017 · doi:10.1016/0890-5401(88)90007-7
[35] Clinger, W. D.: Foundations of Actor Semantics. Technical Report 633, Massachusetts Institute of Technology, Artificial Intelligence Laboratory, May 1981.
[36] Cox, B. J.:Object-Oriented Programming. Addison-Wesley, 1986.
[37] Dahl, O.-J. and Nygaard, K.: Simula: an ALGOL-based Simulation Language.Communications of the ACM, 9(9), 671–678 (1966). · Zbl 0139.32903 · doi:10.1145/365813.365819
[38] Damm, W. and Döhmen, G.: The POOL-Machine: a Top Level Specification for a Distributed Object-Oriented Machine. ESPRIT Project 415 Document 1, Lehrstuhl für Informatik, RWTH Aachen, Aachen, West Germany, 3 October, 1986.
[39] Damm, W., Döhmen, G. and den Haan, P.: Using AADL to Specify Distributed Computer Architectures: a Case Study.Deliverable 3of the Working Group on Semantics and Proof Techniques, J. W. de Bakker, (ed.), Chapter 1.4, ESPRIT Project 415, October 1987.
[40] Dugundji, J.:Topology. Allyn and Bacon, Boston, Massachusetts, 1966.
[41] Engelking, R.:General Topology. Polish Scientific Publishers, 1977. · Zbl 0373.54002
[42] 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).
[43] Francez, N. and Yemini, S. A.: Symmetric Intertask Communication.ACM Transactions on Programming Languages and Systems, 7(4), 622–636 (1985). · Zbl 0575.68024 · doi:10.1145/4472.4475
[44] Gerth, R. and de Roever, W. P.: A Proof System for Concurrent Ada Programs.Science of Computer Programming, 4(2), 159–204 (1984). · Zbl 0536.68009 · doi:10.1016/0167-6423(84)90018-2
[45] Goldberg, A. and Robson, D.:Smalltalk-80,The Language and its Implementation. Addison-Wesley, 1983. · Zbl 0518.68001
[46] Gordon, M.J.C.:The Denotational Description of Programming Languages: An Introduction. Springer-Verlag, 1979. · Zbl 0412.68004
[47] Halbert, D. C. and O’Brien, P. D.: Using Types and Inheritance in Object-Oriented Programming.IEEE Software, 71–79 (1987).
[48] 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. · Zbl 0457.68006
[49] Hewitt, C.: Viewing Control Structures as Patterns of Passing Messages.Artificial Intelligence, 8, 323–364 (1977). · doi:10.1016/0004-3702(77)90033-9
[50] Hillis, W. D.:The Connection Machine. M.I.T. Press, 1985.
[51] Hoare, C. A. R.: An Axiomatic Basis for Computer Programming.Communications of the ACM, 12(10), 576–580, 583 (1969). · Zbl 0179.23105 · doi:10.1145/363235.363259
[52] Hoare, C. A. R.: Communicating Sequential Processes.Communications of the ACM, 21(8), 666–677 (1978). · Zbl 0383.68028 · doi:10.1145/359576.359585
[53] 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.
[54] Kennedy, K.: Automatic Translation of FORTRAN Programs to Vector Form. Technical Report 476-029-4, Rice University, October 1980.
[55] Kok, J. N. and Rutten, J. J. M. M.: Contractions in Comparing Concurrency Semantics. Report CS-R8755, Centre for Mathematics and Computer Science, Amsterdam, the Netherlands, November 1987. · Zbl 0649.68011
[56] Kowalski, R.Logic for Problem Solving. North-Holland, 1979. · Zbl 0426.68002
[57] 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.
[58] Lang, C. R., Jr.: The Extension of Object-Oriented Languages to a Homogeneous, Concurrent Architecture. Ph.D. thesis, California Institute of Technology, Computer Science Department, Pasadena, California, May 1982. Technical Report 5014:TR:82.
[59] Leih, G.: Actor Graph Grammars and POOL2. PRISMA Project Document 265, University of Leiden, Department of Computer Science, February 1988.
[60] Lieberman, H.: A Preview of Act 1. A.I. Memo 625, Massachusetts Institute of Technology, Artificial Intelligence Laboratory, June 1981.
[61] 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.
[62] Meyer, B.: Principles of Package Design.Communications of the ACM, 25(7), 419–428 (1982). · doi:10.1145/358557.358565
[63] Meyer, B.: Eiffel: Programming for Reusability and Extendibility.ACM SIGPLAN Notices, 22(2), 85–99 (1987). · doi:10.1145/24686.24694
[64] Meyer, B.:Object-Oriented Software Construction. Prentice-Hall, 1988. · Zbl 0719.68012
[65] Moss, J. E. B. and Kohler, W. H.: Concurrency Features for the Trellis/Owl Language.ECOOP ’87: European Conference on Object-Oriented Programming, Paris, France, 15–17 June 1987, 171–180, Lecture Notes in Computer Science 276, Springer-Verlag.
[66] Odijk, E. A. M.: The DOOM System and its Applications: a Survey of ESPRIT 415 Subproject A.Proc. PARLE: Parallel Architectures and Languages Europe. Volume I:Parallel Architectures, J. W. de Bakker, A. J. Nijman and P. C. Treleaven, (eds), Eindhoven, the Netherlands, 15–19 June 1987, 461–479, Lecture Notes in Computer Science 258, Springer-Verlag.
[67] Owicki, S. and Gries, D.: An Axiomatic Proof Technique for Parallel Programs I.Acta Informatica, 6, 319–340, 1976. · Zbl 0324.68007 · doi:10.1007/BF00268134
[68] Plotkin, G. D.: A Powerdomain Construction.SIAM Journal on Computing, 5(3), 452–487 (1976). · Zbl 0355.68015 · doi:10.1137/0205035
[69] Plotkin, G. D.: A Structural Approach to Operational Semantics. Report DAIMI FN-19, Aarhus University, Computer Science Department, Aarhus, Denmark, September 1981.
[70] 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. · Zbl 0512.68012
[71] Rutten, J.: Semantic correctness for a parallel object-oriented language. Report CS-R8843, Centre for Mathematics and Computer Science, Amsterdam, the Netherlands, October 1988. To appear in SIAM Journal of Computing. · Zbl 0697.68077
[72] 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.
[73] Schaffert, C., Cooper, T. and Wilpolt, C.: Trellis Object-Based Environment – Language Reference Manual. Technical Report DEC-TR-372, Digital Equipment Corporation, Eastern Research Lab, Hudson, Massachusetts, 25 November 1985.
[74] Seitz, C. L.: The Cosmic Cube.Communications of the ACM, 28(1), 22–33 (1985). · doi:10.1145/2465.2467
[75] Shaw, M. (ed.):ALPHARD: Form and Content. Springer-Verlag, 1981. · Zbl 0477.68012
[76] Smith, A. J.: Cache Memories.ACM Computing Surveys, 14(3), 473–530 (1982). · doi:10.1145/356887.356892
[77] Smyth, M. B.: Power Domains.Journal of Computer and System Sciences, 16, 23–36 (1978). · Zbl 0391.68011 · doi:10.1016/0022-0000(78)90048-X
[78] Theriault, D. G.: Issues in the Design and Implementation of Act 2. Technical Report 728, Massachusetts Institute of Technology, Artificial Intelligence Laboratory, June 1983.
[79] Treleaven, P. C., Brownbridge, D. R. and Hopkins, R. P.: Data Driven and Demand Driven Computer Architecture.ACM Computing Surveys, 14(1), 93–143 (1982). · doi:10.1145/356869.356873
[80] 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.
[81] Tucker, J. V. and Zucker, J. I.:Program Correctness over Abstract Data Types, with Error-State Semantics. CWI Monographs 6, North-Holland, 1988. · Zbl 0641.68028
[82] Vaandrager, F. W.: Process Algebra Semantics for POOL. Report CS-R8629, Centre for Mathematics and Computer Science, Amsterdam, the Netherlands, August 1986.
[83] Wirth, N.:Programming in Modula-2. Springer-Verlag, 1982. · Zbl 0487.68004
[84] Wouters, R.: A Generalized Select Statement for POOL. ESPRIT Project 415 Document 430, Philips Research Laboratories, Eindhoven, the Netherlands, August 1988.
[85] Zwiers, J., de Roever, W. P. and van Emde Boas, P.: Compositionality and Concurrent Networks: Soundness and Completeness of a Proof System.Proc. 12th International Colloquium on Automata, Languages and Programming (ICALP), Nafplion, Greece, 15–19 July 1985, pp. 509–519, Lecture Notes in Computer Science 194, Springer-Verlag. · Zbl 0566.68014
This reference list is based on information provided by the publisher or from digital mathematics libraries. Its items are heuristically matched to zbMATH identifiers and may contain data conversion errors. It attempts to reflect the references listed in the original paper as accurately as possible without claiming the completeness or perfect precision of the matching.