skip to main content
research-article

Thread algebra for strategic interleaving

Authors Info & Claims
Published:01 November 2007Publication History
Skip Abstract Section

Abstract

Abstract

We take a thread as the behavior of a sequential deterministic program under execution and multi-threading as the form of concurrency provided by contemporary programming languages such as Java and C#. We outline an algebraic theory about threads and multi-threading. In the case of multi-threading, some deterministic interleaving strategy determines how threads are interleaved. Interleaving operators for a number of plausible interleaving strategies are specified in a simple and concise way. By that, we show that it is essentially open-ended what counts as an interleaving strategy. We use deadlock freedom as an example to show that there are properties of multi-threaded programs that depend on the interleaving strategy used.

References

  1. AFV01. Aceto LFokkink WJVerhoef CBergstra JAPonse ASmolka SAStructural operational semanticsHandbook of process algebra2001AmsterdamElsevier197292Google ScholarGoogle Scholar
  2. AG96. Arnold KGosling JThe Java programming language1996Reading, MAAddison-Wesley0876.68015Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. BB92. Baeten JCMBergstra JABroy MProcess algebra with signals and conditionsProgramming and mathematical methods1992HeidelbergSpringer273323Vol. F88 of NATO ASI SeriesGoogle ScholarGoogle Scholar
  4. BB03. Bergstra JABethke IBaeten JCMLenstra JKParrow JWoeginger GJPolarized process algebra and program equivalenceProceedings 30th ICALP2003HeidelbergSpringer121Lecture notes in computer science, Vol 2719Google ScholarGoogle Scholar
  5. BB05. Bergstra JABethke IPolarized process algebra with reactive compositionTheor Comput Sci20053432853041077.6805710.1016/j.tcs.2005.06.0142173567Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. BBP05. Bergstra JA, Bethke I, Ponse A (2005) Decision problems for pushdown threads. Report PRG0502, Programming Research Group, University of AmsterdamGoogle ScholarGoogle Scholar
  7. BHR84. Brookes SDHoare CARRoscoe AWA theory of communicating sequential processesJ ACM19843135605990628.6802510.1145/828.833819158Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. BK84. Bergstra JAKlop JWProcess algebra for synchronous communicationInform Control1984601/31091370597.6802710.1016/S0019-9958(84)80025-X764282Google ScholarGoogle ScholarCross RefCross Ref
  9. BL02. Bergstra JALoots MEProgram algebra for sequential codeJ Logic Algebraic Programm20025121251561008.6807910.1016/S1567-8326(02)00018-81905616Google ScholarGoogle ScholarCross RefCross Ref
  10. BM05a. Bergstra JA, Middelburg CA (2005) Simulating Turing machines on Maurer machines. Computer Science Report 05-28, Department of Mathematics and Computer Science, Eindhoven University of Technology, November 2005Google ScholarGoogle Scholar
  11. BM05b. Bergstra JAMiddelburg CACooper SBLöwe BTorenvliet LA thread algebra with multi-level strategic interleavingCiE 20052005HeidelbergSpringer3548Lecture notes in computer science, Vol 3526Google ScholarGoogle Scholar
  12. BM06a. Bergstra JA, Middelburg CA (2006) Maurer computers for pipelined instruction processing. Computer Science Report 06-12, Department of Mathematics and Computer Science, Eindhoven University of Technology, March 2006Google ScholarGoogle Scholar
  13. BM06b. Bergstra JA, Middelburg CA (2006) Synchronous cooperation for explicit multi-threading. Computer Science Report 06-29, Department of Mathematics and Computer Science, Eindhoven University of Technology, September 2006Google ScholarGoogle Scholar
  14. BM06c. Bergstra JAMiddelburg CAThread algebra with multi-level strategiesFundam Informa2006712/31531821095.680612245331Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. BM06d. Bergstra JA, Middelburg CA (2006) A thread calculus with molecular dynamics. Computer Science Report 06-24, Department of Mathematics and Computer Science, Eindhoven University of Technology, August 2006Google ScholarGoogle Scholar
  16. BM07a. Bergstra JA, Middelburg CA (2007) Maurer computers with single-thread control. Fundam Inform (in press). Preliminary version: Computer Science Report 05-17, Department of Mathematics and Computer Science, Eindhoven University of TechnologyGoogle ScholarGoogle Scholar
  17. BM07b. Bergstra JA, Middelburg CA (2007) A thread algebra with multi-level strategic interleaving. Theory Comput Syst 41(1) (in press). Preliminary version: Computer Science Report 06-28, Department of Mathematics and Computer Science, Eindhoven University of TechnologyGoogle ScholarGoogle Scholar
  18. BP02. Bergstra JAPonse ACombining programs and state machinesJ Logic Algebraic Program20025121751921008.6806810.1016/S1567-8326(02)00020-61905618Google ScholarGoogle ScholarCross RefCross Ref
  19. BP07. Bergstra JA, Ponse A (2007) Execution architectures for program algebra. J Appl Logic (in press). Preliminary version: Logic Group Preprint Series 230, Department of Philosophy, Utrecht UniversityGoogle ScholarGoogle Scholar
  20. BW90. Baeten JCMWeijland WPProcess algebra. Cambridge tracts in theoretical computer science1990CambridgeCambridge University PressVol 18Google ScholarGoogle Scholar
  21. GJSB00. Gosling JJoy BSteele GBracha GThe Java language specification20002Reading, MAAddison-WesleyGoogle ScholarGoogle ScholarDigital LibraryDigital Library
  22. Hoa85. Hoare CARCommunicating sequential processes1985Englewood CliffsPrentice-Hall0637.68007Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. HWG03. Hejlsberg AWiltamuth SGolde PC# Language Specification2003Reading, MAAddison-WesleyGoogle ScholarGoogle ScholarDigital LibraryDigital Library
  24. JL00. Jesshope CR, Luo B (2000) Micro-threading: A new approach to future RISC. In: Australian computer architecture conference 2000. IEEE Computer Society Press, pp. 34–41Google ScholarGoogle Scholar
  25. Mau66. Maurer WDA theory of computer instructionsJ ACM19661322262350178.5210310.1145/321328.321334Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. Mau06. Maurer WDA theory of computer instructionsSci Comput Program2006602442731103.6805410.1016/j.scico.2005.09.0012220050Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. Mid03. Middelburg CAAn alternative formulation of operational conservativity with binding termsJ Logic Algebraic Program2003551/21191048.6805610.1016/S1567-8326(02)00039-51903041Google ScholarGoogle ScholarCross RefCross Ref
  28. Mil80. Milner RA calculus of communicating systems1980BerlinSpringer0452.68027Lecture notes in computer science, Vol 92Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. Mil89. Milner RCommunication and concurrency1989Englewood CliffsPrentice-Hall0683.68008Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. MRG05. Mousavi MRReniers MAGroote JFNotions of bisimulation and congruence formats for SOS with dataInform Comput20052001071471082.6807510.1016/j.ic.2005.03.0022147668Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. Pet62. Petri CAKommunikation mit Automaten1989BonnInstitut für Instrumentelle MathematikPhD thesisGoogle ScholarGoogle Scholar
  32. Rei85. Reisig WPetri nets: an introduction. Monographs in theoretical computer science, Vol. 4. An EATCS Series1985BerlinSpringerGoogle ScholarGoogle Scholar
  33. vG87. van Glabbeek RJBrandenburg FJVidal-Naquet GWirsing MBounded nondeterminism and the approximation induction principle in process algebraSTACS 871987HeidelbergSpringer33634710.1007/BFb0039617Lecture notes in computer science, Vol 247Google ScholarGoogle ScholarCross RefCross Ref

Index Terms

  1. Thread algebra for strategic interleaving
            Index terms have been assigned to the content through auto-classification.

            Recommendations

            Comments

            Login options

            Check if you have access through your login credentials or your institution to get full access on this article.

            Sign in

            Full Access

            PDF Format

            View or Download as a PDF file.

            PDF

            eReader

            View online with eReader.

            eReader