Skip to main content

Parallele Programmiersprachen

  • Chapter
Parallelrechner

Part of the book series: Leitfäden der Informatik ((XLINF))

  • 66 Accesses

Zusammenfassung

Die Programmiersprachen befinden sich in einem Spannungsfeld zwischen Berechenbarkeitsmodell, Anwendungsgebiet, Problemlösungsmethodik und Rechnerstruktur. Die Entwicklung der höheren Programmiersprachen, auch der problemorientierten, wurde zuerst von den Möglichkeiten der Rechnerstruktur bestimmt. Der Einfluß der Programmiersprache auf den Problem-lösungsprozeß ist erst spät erkannt und dann beim Entwurf neuer Sprachen berücksichtigt worden. Er beruht darauf, daß es programmiersprachliche Formulierungen sind, in denen Programmentwickler über Lösungen nachdenken. Sie sind die Grundlage für das Verfeinern und Präzisieren, für das Überprüfen und Korrigieren der Lösungsansätze. Lamport hat in diesem Zusammenhang darauf hingewiesen, daß jede Programmieraufgabe im Grunde aus zwei Teilaufgaben besteht [64]: Zum einen muß das Problem in eine formale Gestalt gebracht werden, zum andern muß dann die beste Implementierung ausgewählt werden, die diese Spezifikation erfüllt und auf der gegebenen Maschine laufen kann. Üblicherweise nennt man das Ergebnis dieses For-malisierungsschrittes bereits Programm, obwohl es erst noch übersetzt werden muß, bis es auf einem konkreten Rechner laufen kann.

The simplicity and elegance [of systematic program development] would have been destroyed by requiring the derivation of deterministic programs only.

E. W. Dijkstra [26]

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 54.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 69.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Literaturverzeichnis

  1. G. Agha: Actors — A model of concurrent computation in distributed systems, Cambridge, Mass.: MIT Press, 1986

    Google Scholar 

  2. G. Agha/C.J. Callsen: Actor Space — An open distributed programming paradigm, ACM Sigplan Not 28, 7 (1993), S. 23–32

    Google Scholar 

  3. P. America/F. van der Linden: A parallel object-oriented language with inheritance and subtyping, ACM Sigplan Not. 25, 10 (1990), S. 161–168

    Google Scholar 

  4. A.L. Ananda/E.K. Koh: A survey of asynchronous remote procedure call, ACM Sigops 26, 2 (1992), S. 92–109

    Google Scholar 

  5. G.R. Andrews: Synchronizing resources, Transact. Programming Languages Systems 3,4 (1981), S. 405–430

    MATH  Google Scholar 

  6. G.R. Andrews et al.: An overview of the Sr language and implementation, Transact. Programming Languages Systems 10,1 (1988), S. 51–86

    Google Scholar 

  7. J.W. Backus: Can programming be liberated from the von Neumann style? — A functional style and its algebra of programs, Communicat. Associat. Comput. Mach. 21, 8 (1978), S. 613–641

    MathSciNet  MATH  Google Scholar 

  8. H.E. Bal et al.: Programming languages for distributed computing systems, ACM Comput. Surveys 21,3 (1989), S. 261–322

    Google Scholar 

  9. J.P. Banâtre/D. Le Métayer: Programming by multiset transformation, Communicat. Associat. Comput. Mach. 36, 1 (1993), S. 98–111

    Google Scholar 

  10. D. Berry et al.: A semantics for Ml concurrency primitives, Proc. 19th Ann. ACM Symposium on Principles of Programming Languages (Albuquerque, 1992), S.119–129

    Google Scholar 

  11. B. Bershad et al.: Presto — A system for object-oriented parallel programming, Software — Practice & Experience 18,8 (1988), S. 713–732

    Google Scholar 

  12. R. Bird/P. Wadler: Introduction to functional programming, New York: Prentice-Hall, 1988

    Google Scholar 

  13. A. Black et al.: Object structure in the Emerald System, ACM Sigplan Not 21, 11 (1986), S. 78–86

    Google Scholar 

  14. A. Black et al: Distribution and abstract types in Emerald, IEEE-Transact on Software Eng. 13, 1 (1987), S. 65–76

    Google Scholar 

  15. P. Brinch Hansen: The programming language Concurrent Pascal, IEEE-Transact on Software Eng. 1, 2 (1975), S. 199–207

    Google Scholar 

  16. P. Brinch Hansen: Distributed Processes — A concurrent programming concept, Communicat. Associat. Comput. Mach. 21, 11 (1978), S. 934–941

    MATH  Google Scholar 

  17. M. Broy: Applicative real time programming, Information Processing 83 (Ed.: R.E.A. Mason), Amsterdam: Elsevier, 1983, S. 259–264

    Google Scholar 

  18. N. Carriero/D. Gelernter: Linda in context, Communicat. Associat. Comput. Mach. 32, 4 (1989), S. 444–458

    Google Scholar 

  19. R. Chandra et al.: Data locality and load balancing in Cool, ACM Sigplan Not 28, 7 (1993), S. 249–259

    Google Scholar 

  20. K. Clark/S. Gregory: Parlog — Parallel programming in logic, Transact. Programming Languages Systems 8,1 (1986), S. 1–49

    MATH  Google Scholar 

  21. J. Cohen: Constraint logic programming languages, Communicat. Associat Comput. Mach. 33, 7 (1990), S. 52–68

    Google Scholar 

  22. A. de Bruin/W. Böhm: The denotational semantics of dynamic networks of processes, Transact. Programming Languages Systems 7, 4 (1985), S. 656–679

    MATH  Google Scholar 

  23. R.B.K. Dewar et al.: Programming by refinement, as exemplified by the Setl representation sublanguage, Transact. Programming Languages Systems 1, 1 (1979), S. 27–49

    MATH  Google Scholar 

  24. E.W. Dijkstra: Cooperating sequential processes, in: F. Genuys (ed.), Programming Languages, New York: Academic Press, 1968, S. 43–112

    Google Scholar 

  25. E.W. Dijsktra: Hierarchical ordering of sequential processes, Acta Informatica 1, 2 (1971), S. 115–138

    Google Scholar 

  26. E.W. Dijsktra: Guarded commands, nondeterminacy and formal derivation of programs, Communicat. Associat. Comput. Mach. 18, 8 (1975), S. 453–457

    Google Scholar 

  27. C. Feder: Ausnahmebehandlung in objektorientierten Programmiersprachen, Informatik-Fachberichte 235, Berlin: Springer, 1990

    MATH  Google Scholar 

  28. A. Fleischmann et al.: Synchronisation und Kommunikation verteilter Automatisierungsprogramme, Angewandte Informatik 25, 7 (1983), S. 290–297

    Google Scholar 

  29. L.T. Foster/S. Taylor: Strand — New concepts in parallel processing, Englewood Cliffs, N.J.: Prentice-Hall, 1990, S. 323

    Google Scholar 

  30. N. Francez et al.: Script — A communication abstraction mechanism and its verification, Science of Computer Programming 6 (1986), S. 35–88

    MATH  Google Scholar 

  31. E.T. Freeman/D.P. Friedman: Characterizing the paralation model using dynamic assignment, Led. Notes Comp. Science Bd. 605 (1992), S. 483–496

    Google Scholar 

  32. L. Frevert: Echtzeit-Praxis mit Pearl, Stuttgart: Teubner, 1985

    Google Scholar 

  33. I. Futo/P. Kacsuk: Cs-PROLOG on Multi-Transputer systems, Microprocessors and Microsystems (Special Issue), März 1989

    Google Scholar 

  34. D. Gannon/J.K. Lee: Object oriented parallelism — pC++ ideas and experiments, Proc. 1991 Japan Soc. for Parallel Processing, 1993, S. 13–23

    Google Scholar 

  35. N.H. Gehani/W.D. Roome: Concurrent C., Software — Practice & Experience 16, 9 (1986), S. 821–844

    MATH  Google Scholar 

  36. N.H. Gehani: Message passing in CONCURRENT C — Synchronous versus asynchronous, Software — Practice & Experience 20, 6 (1990), S. 571–592

    Google Scholar 

  37. D. Gelernter: Generative communication in Linda, Transact. Programming Languages Systems 7, 1 (1985), S. 80–112

    MATH  Google Scholar 

  38. D. Gelernter: Multiple tuple spaces in Linda, Lect. Notes Comp. Science Bd. 366 (1989), S. 20–27

    Google Scholar 

  39. A. Giacalone et al.: Facile — A symmetric integration of concurrent and functional programming, Int. J. Parallel Programming 18, 2 (1989), S. 121–160

    Google Scholar 

  40. R. Goldman et al: Qlisp — An interim report, Lect. Notes Comp. Science Bd. 441 (1990), S. 161–181

    Google Scholar 

  41. A.K. Goswami/L.M. Patnaik: A functional style of programming with CsP-like communication mechanisms, New Generation Computing 7 (1990), S. 341–364

    Google Scholar 

  42. M.D. Guzzi et al.: Cedar Fortran and other vector and parallel Fortran dialects, J. Supercomputing 4, 1 (1990), S. 37–62

    Google Scholar 

  43. S. Habert et al: Cool — Kernel support for object-oriented environments, ACM Sigplan Not. 25, 10 (1990), S. 269–277

    Google Scholar 

  44. R.H. Halstead jr.: Multilisp — A language for concurrent symbolic computation, Transact. Programming Languages Systems 7, 4 (1985), S. 501–539

    MATH  Google Scholar 

  45. R.H. Halstead jr.: New ideas in Parallel Lisp — Language design, implementation, and programming tools, Lect. Notes Comp. Science Bd. 441 (1989), S. 2–57

    Google Scholar 

  46. E. Heilmeier et al.: Verteilte Programme zur ausfallsicheren Datenerfassung mit redundanten Mikrorechnern, Automatisierungstechnische Praxis atp 28, 7 (1986), S. 336–340

    Google Scholar 

  47. R. Hieb/R.K. Dybvig: Continuations and Concurrency, ACM Sigplan Not. 25, 3 (1990), S. 128–136

    Google Scholar 

  48. W.D. Hillis/G.L. Steele jr.: Data parallel algorithms, Communicat. Associat. Comput. Mach. 29, 12 (1986), S. 1170–1183

    Google Scholar 

  49. S. Hiranandani et al.: Compiling FORTRAN D for MIMD distributed-memory machines, Communicat. Associat. Comput. Mach. 35, 8 (1992), S. 66–80

    Google Scholar 

  50. C.A.R. Hoare: Monitors — An operating system structuring concept, Communicat. Associat. Comput. Mach. 17, 10 (1974), S. 549–557

    MATH  Google Scholar 

  51. C.A.R. Hoare: Communicating sequential processes, Communicat. Associat. Comput. Mach. 21, 8 (1978), S. 666–677

    MathSciNet  MATH  Google Scholar 

  52. R.W. Hockney/C.R. Jesshope: Parallel computers — Architecture, Programming and Algorithms, Bd. 2, Bristol: Adam Hilger, 1988

    Google Scholar 

  53. P. Hudak/L. Smith: Para-functional Programming — A paradigm for programming multiprocessor systems, Proc. 13th Ann. ACM Symposium on Principles of Programming Languages (St. Petersburg Beach, 1986), S. 243–254

    Google Scholar 

  54. S. Jagannathan: Customization of first-class tuple-spaces in a higher-order language, Led. Notes Comp. Science Bd. 506 (1991), S. 254–276

    Google Scholar 

  55. P. Kacsuk/A. Bayle: Dap Prolog — A set-oriented approach to Prolog, Comput. J. 30, 5 (1987), S. 393–403

    Google Scholar 

  56. P. Kacsuk et al: Implementation of Cs-PROLOG and CSO-PROLOG on transputers, in [82], S. 293–314

    Google Scholar 

  57. G. Kahn: The semantics of a simple language for parallel programming, Information Processing 74 (Ed.: J.L. Rosenfeld), Amsterdam: North-Holland, 1974, S. 471–475

    Google Scholar 

  58. G. Kahn/D.B. McQueen: Coroutines and networks of parallel processes, Information Processing 77 (Ed.:B. Gilchrist), Amsterdam: North-Holland, 1977, S. 993–998

    Google Scholar 

  59. K.M. Kahn/V.A. Saraswat: Actors as a special case of concurrent constraint programming, ACM Sigplan Not. 25, 10 (1990), S. 57–66

    Google Scholar 

  60. L.V. Kale/S. Krishnan: Charm++- A portable concurrent object oriented system based on C++, ACM Sigplan Not. 28, 10 (1993), S. 91–108

    Google Scholar 

  61. R.R. Kessler/M.R. Swanson: Concurrent Scheme, Lect. Notes Comp. Science Bd. 441 (1990), S. 200–234

    Google Scholar 

  62. R.A. Kieburtz/A. Silberschatz: Comments on „Communicating Sequential Processes”, Transact. Programming Languages Systems 1, 2 (1979), S. 218–225

    MATH  Google Scholar 

  63. H. Kleine Büning/S. Schmitgen: PROLOG — Grundlagen und Anwendungen, Stuttgart: Teubner, 1986, S. 304

    MATH  Google Scholar 

  64. L. Lamport: On programming parallel computers, ACM Sigplan Not. 10, 3 (1975), S. 25–33

    Google Scholar 

  65. D.H. Lawrie et al.: Glypnir — A programming language for Illiac IV, Communicat. Associat. Comput. Mach. 18, 3 (1975), S. 157–164

    MATH  Google Scholar 

  66. B. Liskov/R. Scheifler: Guardians and actions — Linguistic support for robust, distributed programs, Transact. Programming Languages Systems 5, 3 (1983), S. 381–404

    MATH  Google Scholar 

  67. B. Liskov et al.: Limitations of synchronous communication with static process structure in languages for distributed computing, Proc. 13th Ann. ACM Symposium on Principles of Programming Languages (St. Petersburg Beach, 1986), S. 150–159

    Google Scholar 

  68. B. Liskov: Distributed programming in ARGUS, Communicat. Associat. Comput. Mach. 31, 3 (1988), S. 300–312

    MathSciNet  Google Scholar 

  69. K.P. Löhr: Concurrency annotations, ACM Sigplan Not. 27, 10 (1992), S. 327–340

    Google Scholar 

  70. G. Marino/G. Succi: Data structures for parallel execution of functional languages, Led. Notes Comp. Science Bd. 366 (1989), S. 346–356

    Google Scholar 

  71. S. Matsuoka/S. Kawai: Using tuple space communication in distributed object-oriented languages, ACM Sigplan Not. 23, 11 (1988), S. 276–284

    Google Scholar 

  72. S. Matsuoka et al.: Highly efficient and encapsulated re-use of synchronization code in concurrent object-oriented languages, ACM Sigplan Not. 28, 10 (1993), S. 109–126

    Google Scholar 

  73. D. May: Occam, ACM Sigplan Not. 18, 4 (1983), S. 69–79

    Google Scholar 

  74. R.E. Millstein: Control structures in Illiac IV Fortran, Communicat. Associat Comput. Mach. 16, 10 (1973), S. 621–627

    Google Scholar 

  75. R. Milner: A calculus of communicating systems (Lect. Notes Comp. Science Bd. 92), Berlin: Springer, 1980, S. 171

    MathSciNet  Google Scholar 

  76. L. Moreau: An operational semantics for a parallel functional language with continuations, Lect. Notes Comp. Science Bd. 605 (1992), S. 415–430

    Google Scholar 

  77. O. Nierstrasz: Active objects in Hybrid, ACM Sigplan Not. 22, 12 (1987), S. 243–253

    Google Scholar 

  78. O. Nierstrasz/M. Papathomas: Viewing objects as patterns of communicating agents, ACM Sigplan Not. 25, 10 (1990), S. 38–43

    Google Scholar 

  79. E.G.J.M.H. Nöcker et al.: Concurrent Clean, Led. Notes Comp. Science Bd. 506 (1991), S. 202–219

    Google Scholar 

  80. R.H. Perrott: The design and implementation of a PASCAL-based language for array processor architectures, J. Parall. Distrib. Comput. 4 (1987), S. 266–287

    Google Scholar 

  81. R.H. Perrot/D.K. Stevenson: Considerations for the design of array processing languages, SoftwarePractice & Experience 11 (1981), S. 683–688

    Google Scholar 

  82. R. H. Perrot (Ed.): Software for Parallel Computers, London: Chapman & Hall, 1992

    Google Scholar 

  83. C. Queinnec: A concurrent and distributed extension of SCHEME, Led. Notes Comp. Science Bd. 605 (1992), S. 431–446

    Google Scholar 

  84. A.P. Reeves et al.: The programming language PARALLEL PASCAL, Proc. 1980 Int. Conf. Parallel Processing, IEEE Comput. Soc, 1980, S. 5–6

    Google Scholar 

  85. J. Reid: The advantages of Fortran 90, Computing 48, 3–4 (1992), S. 219–238

    MATH  Google Scholar 

  86. J.H. Reppy: Cml — A higher-order concurrent language, Proc. 18th Ann. ACM Symposium on Principles of Programming Languages (Orlando, 1991), S. 293–305

    Google Scholar 

  87. H.K. Resnick/A.G. Larson: Dmap — A COBOL extension for associative array processors, A CM Sigplan Not. 10, 3 (1975), S. 54–61

    Google Scholar 

  88. J.A. Robinson: Logic and logic programming, Communicat. Associat. Comput. Mach. 35, 3 (1992), S. 40–65

    Google Scholar 

  89. W. Sammer/H. Schwärtzel: CHILL — Eine moderne Programmiersprache für die Systemtechnik, Berlin: Springer, 1982

    Google Scholar 

  90. V.A. Saraswat/M. Rinard: Concurrent constraint programming, Proc. 17th Ann. ACM Symposium on Principles of Programming Languages (San Francisco, 1990), S. 232–245

    Google Scholar 

  91. H.J. Schneider: Objektorientierte Strukturierung verteilter Software und statische Typprüfung, Informatik-Fachberichte 167, Berlin: Springer, 1988, S. 546–555

    Google Scholar 

  92. H.J. Schneider: Set-theoretic concepts in programming languages and their implementation, Lect. Notes Comp. Science Bd. 100 (1981), S. 42–54

    Google Scholar 

  93. G.L. Steele jr.: High performance Fortran — Status report, ACM Sigplan Not. 28, 1 (1993), S. 1–4

    Google Scholar 

  94. K. Stevens: Cfd — A FORTRAN-like language for the Illiac IV, ACM Sigplan Not. 10, 3 (1975), S. 72–80

    Google Scholar 

  95. R.E. Strom/S. Yemini: Nil — An integrated language and system for distributed programming, ACM Sigplan Not. 18, 6 (1983), S. 73–82

    Google Scholar 

  96. S.T. Taft: Ada9x — From abstraction-oriented to object-oriented, ACM Sigplan Not. 28, 10 (1993), S. 127–136

    Google Scholar 

  97. A. Takeuchi/K. Furukawa: Bounded buffer communication in CONCURRENT PROLOG, New Generation Computing 3 (1985), S. 145–155

    Google Scholar 

  98. H. Taylor: A Lingua franca for concurrent logic programming, IEEE-Transact. on Software Eng. 18, 3 (1992), S. 225–236

    Google Scholar 

  99. G. Thiele: Software-Entwurf in PEARL-orientierter Form, Stuttgart: Teubner, 1993

    Google Scholar 

  100. W.F. Tichy et al.: A critique of the programming language C*, Com-municat. Associat. Comput. Mach. 35, 6 (1992), S. 21–24

    Google Scholar 

  101. C. Tomlinson/V. Singh: Inheritance and synchronization with en-abled-sets, ACM Sigplan Not. 24, 10 (1989), S. 103–112,

    Google Scholar 

  102. V. Tsujino et al.: Concurrent C — A programming language for distributed multiprocessor systems, Software — Practice & Experience 14, 11 (1984), S. 1061–1078

    MATH  Google Scholar 

  103. D. Turner: Functional programming and communicating processes, Lect. Notes Comp. Science Bd. 259 (1987), S. 54–74

    Google Scholar 

  104. K. Ueda: Guarded Horn clauses, Lect. Notes Comp. Science Bd. 221 (1986), S. 168–179

    Google Scholar 

  105. J. van den Bos/C. Laffra: Procol — A parallel object language with protocols, ACM Sigplan Not. 24, 10 (1989), S. 95–102

    Google Scholar 

  106. D. Walker: Some results on the 7r-calculus, Led. Notes Comp. Science Bd. 491 (1991), S. 21–35

    Google Scholar 

  107. Communicat. Associat. Comput. Mach. 35,3 (1992), S. 94

    Google Scholar 

  108. ACM Comp. Surveys 18,1 (1986), S.1

    Google Scholar 

  109. R. Wayman: OCCAM 2 — An overview from a software engineering perspective, Microprocessors and Microsystems 11, 8 (1987), S. 413–422

    Google Scholar 

  110. P. Wegner: The object-oriented classification paradigm, Research Directions in Object-Oriented Programming (Eds.: B. Shriver/P. Wegner), S. 479–560, Cambridge, Mass.: MIT Press, 1987

    Google Scholar 

  111. Ch. Wetherell: Design considerations for array processing, Software -Practice & Experience 10 (1980), S. 265–271

    Google Scholar 

  112. P. Wilke: Entwurf und Implementierung der mengentheoretischen Programmiersprache CANTOR, Dissertation, Univ. Erlangen-Nürnberg, 1988

    Google Scholar 

  113. Y. Yokote/M. Tokoro: The design and implementation of Concur-rentSmalltalk, ACM Sigplan Not. 21, 11 (1986), S. 331–340

    Google Scholar 

  114. A. Yonezawa et al.: Object-oriented concurrent programming in Ab-CL/1, ACM Sigplan Not. 21, 11 (1986), S. 258–268

    Google Scholar 

  115. S. Zenith: Linda coordination language; subsystem kernel architecture (on transputers), in: R. H. Perrot (Ed.): Software for Parallel Computers, London: Chapman & Hall, 1992, S. 335–350

    Google Scholar 

  116. M.E. Zosel: A modest proposal for vector extensions to Algol, ACM Sigplan Not. 10, 3 (1975), S. 62–71

    Google Scholar 

  117. Anonym: The Programming Language Ada — Reference Manual, Led. Notes Comp. Science Bd. 155 (1983)

    Google Scholar 

  118. Communicat. Associat. Comput. Mach. 34, 11 (1991), S. 60

    Google Scholar 

Download references

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 1995 B. G. Teubner Stuttgart

About this chapter

Cite this chapter

Schneider, H.J. (1995). Parallele Programmiersprachen. In: Waldschmidt, K. (eds) Parallelrechner. Leitfäden der Informatik. Vieweg+Teubner Verlag. https://doi.org/10.1007/978-3-322-86771-1_11

Download citation

  • DOI: https://doi.org/10.1007/978-3-322-86771-1_11

  • Publisher Name: Vieweg+Teubner Verlag

  • Print ISBN: 978-3-519-02135-3

  • Online ISBN: 978-3-322-86771-1

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics