Skip to main content

Control Flow Paradigms

  • Chapter
  • First Online:
Understanding Control Flow
  • 1034 Accesses

Abstract

This chapter compares and contrasts different approaches to specifying control flow and different implementations of the approaches in programming languages. Thus far, mostly μC++ has been used to specify advanced control flow; it is important to look at other approaches to see if there are strong or weak equivalences among them.

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 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD 54.99
Price excludes VAT (USA)
  • Durable hardcover 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

Notes

  1. 1.

    Having to specify the type name for THIS is a peculiarity of Simula.

  2. 2.

    Recursive behaviour is available but only as an implementation-dependent option.

References

  1. Agha, G.A.: Actors: A Model of Concurrent Computation in Distributed Systems. MIT Press, Cambridge (1986)

    Google Scholar 

  2. Andrews, G.R., Olsson, R.A., Coffin, M., Elshoff, I., Nilsen, K., Purdin, T., Townsend, G.: An overview of the SR language and implementation. ACM Trans. Progr. Lang. Syst. 10(1), 51–86 (1988)

    Article  Google Scholar 

  3. Bershad, B.N., Lazowska, E.D., Levy, H.M.: PRESTO: A system for object-oriented parallel programming. Softw. Pract. Exp. 18(8), 713–732 (1988)

    Article  Google Scholar 

  4. Board, O.A.R.: Openmp application program interface, version 4.0. Tech. rep. (2013). http://www.openmp.org/mp-documents/OpenMP4.0.0.pdf

  5. Bretthauer, H., Christaller, T., Kopp, J.: Multiple vs. single inheritance in object-oriented programming languages. what do we really want? Tech. Rep. Arbeitspapiere der GMD 415, Gesellschaft Für Mathematik und Datenverarbeitung mbH, Schloβ Birlinghoven, Postfach 12 40, D-5205 Sankt Augustin 1, Deutschland (1989)

    Google Scholar 

  6. Buhr, P.A., Harji, A.S.: Concurrent urban legends. Concurrency Comput. Pract. Exp. 17(9), 1133–1172 (2005)

    Article  Google Scholar 

  7. Butenhof, D.R.: Programming with POSIX Threads. Professional Computing. Addison-Wesley, Boston (1997)

    Google Scholar 

  8. Cargill, T.A.: Does C++ really need multiple inheritance? In: USENIX C++ Conference Proceedings, pp. 315–323. USENIX Association, San Francisco, California, U.S.A. (1990)

    Google Scholar 

  9. Carriero, N., Gelernter, D.: Linda in context. Commun. ACM 32(4), 444–458 (1989)

    Article  Google Scholar 

  10. Ciesielski, B., Kreczmar, A., Lao, M., Litwiniuk, A., Przytycka, T., Salwicki, A., Warpechowska, J., Warpechowski, M., Szalas, A., Szczepanska-Wasersztrum, D.: Report on the programming language loglan’88. Tech. rep., Institute of Informatics, University of Warsaw, Pkin 8th Floor, 00-901 Warsaw, Poland (1988)

    Google Scholar 

  11. Dahl, O.J., Myhrhaug, B., Nygaard, K.: Simula67 Common Base Language. Norwegian Computing Center, Oslo Norway (1970)

    Google Scholar 

  12. Doeppner, T.W., Gebele, A.J.: C++ on a parallel machine. In: Proceedings and Additional Papers C++ Workshop, pp. 94–107. USENIX Association, Santa Fe, New Mexico, U.S.A (1987)

    Google Scholar 

  13. ECAM International, Rue du Rhone 114, CH-1204 Geneva, Switzerland: ECMAScript 2015 Language Specification JavaScript (2015). 6th Edition

    Google Scholar 

  14. ECMA International Standardizing Information and Communication Systems: C# Language Specification, Standard ECMA-334, 4th edn. (2006)

    Google Scholar 

  15. Erlang/OTP System Documentation, 1430 Broadway, New York, New York 10018: Erlang Reference Manual User’s Guide, Vertion 7.0 (2015). http://www.erlang.org/doc/pdf/otp-system-documentation.pdf

  16. Galletly, J.: OCCAM 2: Including OCCAM 2.1, 2nd edn. UCL (University College London) Press, London (1996)

    Google Scholar 

  17. Gehani, N.H., Roome, W.D.: The Concurrent C Programming Language. Silicon Press, Summit (1989)

    MATH  Google Scholar 

  18. Gentleman, W.M.: Message passing between sequential processes: the reply primitive and the administrator concept. Softw. Pract. Exp. 11(5), 435–466 (1981)

    Article  MATH  Google Scholar 

  19. Griesemer, R., Pike, R., Thompson, K.: Go Programming Language. Google (2009). http://golang.org/ref/spec

  20. Hewitt, C., Bishop, P., Steiger, R.: A universal modular ACTOR formalism for artificial intelligence. In: Proceedings of the 3rd International Joint Conference on Artificial Intelligence, pp. 235–245. Standford, California, U.S.A. (1973)

    Google Scholar 

  21. Hoare, C.A.R.: Communicating sequential processes. Commun. ACM 21(8), 666–677 (1978)

    Article  MathSciNet  MATH  Google Scholar 

  22. Ichbiah, J.D., Barnes, J.G.P., Firth, R.J., Woodger, M.: Rationale for the Design of the ADA Programming Language. Under Secretary of Defense, Research and Engineering, Ada Joint Program Office, OUSDRE(R&AT), The Pentagon, Washington, D.C., 20301, U.S.A. (1986)

    Google Scholar 

  23. Intermetrics, Inc.: Ada Reference Manual, international standard ISO/IEC 8652:1995(E) with COR.1:2000 edn. (1995). Language and Standards Libraries

    Google Scholar 

  24. Labrèche, P.: Interactors: A real-time executive with multiparty interactions in C++. SIGPLAN Not. 25(4), 20–32 (1990)

    Article  Google Scholar 

  25. Lea, D.: java.util.concurrency. Oracle (2014). http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/package-summary.html

  26. Liskov, B., Atkinson, R., Bloom, T., Moss, E., Schaffert, J.C., Scheifler, R., Snyder, A.: CLU Reference Manual, Lecture Notes in Computer Science, vol. 114. Springer, New York (1981)

    MATH  Google Scholar 

  27. Madsen, O.L., Møller-Pedersen, B., Nygaard, K.: Object-oriented Programming in the BETA Programming Language. Addison-Wesley, Boston (1993)

    Google Scholar 

  28. Message Passing Interface Forum, University of Tennessee, Knoxville, Tennessee: MPI: A Message-Passing Interface Standard, Version 3.1 (2015). http://www.mpi-forum.org/docs/mpi-3.1/mpi31-report.pdf

  29. Mitchell, J.G., Maybury, W., Sweet, R.: Mesa language manual. Tech. Rep. CSL–79–3, Xerox Palo Alto Research Center (1979)

    Google Scholar 

  30. Murer, S., Omohundro, S., Stoutamire, D., Szyperski, C.: Iteration abstraction in sather. ACM Trans. Progr. Lang. Syst. 18(1), 1–15 (1996)

    Article  Google Scholar 

  31. O’Farrell, W.G., Eigler, F.C., Pullara, S.D., Wilson, G.V.: ABC++. In: G.V. Wilson, P. Lu (eds.) Parallel Programming in C++, Scientific and Engineering Computation Series, pp. 1–42. MIT Press, New York (1996)

    Google Scholar 

  32. van Rossum, G.: Python Reference Manual, Release 2.5. Python Software Foundation (2006). Fred L. Drake, Jr., editor

    Google Scholar 

  33. Shaw, M. (ed.): ALPHARD: Form and Content. Springer, New York (1981)

    MATH  Google Scholar 

  34. Shopiro, J.E.: Extending the C++ task system for real-time control. In: Proceedings and Additional Papers C++ Workshop, pp. 77–94. USENIX Association, Santa Fe, New Mexico, U.S.A (1987)

    Google Scholar 

  35. Standardiseringskommissionen i Sverige: Databehandling – Programspråk – SIMULA (1987). Svensk Standard SS 63 61 14

    Google Scholar 

  36. Wirth, N.: Programming in Modula-2, 4th edn. Texts and Monographs in Computer Science. Springer, New York (1988)

    Book  MATH  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

Copyright information

© 2016 Springer International Publishing Switzerland

About this chapter

Cite this chapter

Buhr, P.A. (2016). Control Flow Paradigms. In: Understanding Control Flow. Springer, Cham. https://doi.org/10.1007/978-3-319-25703-7_13

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-25703-7_13

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-25701-3

  • Online ISBN: 978-3-319-25703-7

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics