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.
- AFV01. Structural operational semanticsHandbook of process algebra2001AmsterdamElsevier197292Google Scholar
- AG96. The Java programming language1996Reading, MAAddison-Wesley0876.68015Google Scholar
Digital Library
- BB92. Process algebra with signals and conditionsProgramming and mathematical methods1992HeidelbergSpringer273323Vol. F88 of NATO ASI SeriesGoogle Scholar
- BB03. Polarized process algebra and program equivalenceProceedings 30th ICALP2003HeidelbergSpringer121Lecture notes in computer science, Vol 2719Google Scholar
- BB05. Polarized process algebra with reactive compositionTheor Comput Sci20053432853041077.6805710.1016/j.tcs.2005.06.0142173567Google Scholar
Digital Library
- BBP05. Bergstra JA, Bethke I, Ponse A (2005) Decision problems for pushdown threads. Report PRG0502, Programming Research Group, University of AmsterdamGoogle Scholar
- BHR84. A theory of communicating sequential processesJ ACM19843135605990628.6802510.1145/828.833819158Google Scholar
Digital Library
- BK84. Process algebra for synchronous communicationInform Control1984601/31091370597.6802710.1016/S0019-9958(84)80025-X764282Google Scholar
Cross Ref
- BL02. Program algebra for sequential codeJ Logic Algebraic Programm20025121251561008.6807910.1016/S1567-8326(02)00018-81905616Google Scholar
Cross Ref
- 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 Scholar
- BM05b. A thread algebra with multi-level strategic interleavingCiE 20052005HeidelbergSpringer3548Lecture notes in computer science, Vol 3526Google Scholar
- 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 Scholar
- 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 Scholar
- BM06c. Thread algebra with multi-level strategiesFundam Informa2006712/31531821095.680612245331Google Scholar
Digital Library
- 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 Scholar
- 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 Scholar
- 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 Scholar
- BP02. Combining programs and state machinesJ Logic Algebraic Program20025121751921008.6806810.1016/S1567-8326(02)00020-61905618Google Scholar
Cross Ref
- 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 Scholar
- BW90. Process algebra. Cambridge tracts in theoretical computer science1990CambridgeCambridge University PressVol 18Google Scholar
- GJSB00. The Java language specification20002Reading, MAAddison-WesleyGoogle Scholar
Digital Library
- Hoa85. Communicating sequential processes1985Englewood CliffsPrentice-Hall0637.68007Google Scholar
Digital Library
- HWG03. C# Language Specification2003Reading, MAAddison-WesleyGoogle Scholar
Digital Library
- 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 Scholar
- Mau66. A theory of computer instructionsJ ACM19661322262350178.5210310.1145/321328.321334Google Scholar
Digital Library
- Mau06. A theory of computer instructionsSci Comput Program2006602442731103.6805410.1016/j.scico.2005.09.0012220050Google Scholar
Digital Library
- Mid03. An alternative formulation of operational conservativity with binding termsJ Logic Algebraic Program2003551/21191048.6805610.1016/S1567-8326(02)00039-51903041Google Scholar
Cross Ref
- Mil80. A calculus of communicating systems1980BerlinSpringer0452.68027Lecture notes in computer science, Vol 92Google Scholar
Digital Library
- Mil89. Communication and concurrency1989Englewood CliffsPrentice-Hall0683.68008Google Scholar
Digital Library
- MRG05. Notions of bisimulation and congruence formats for SOS with dataInform Comput20052001071471082.6807510.1016/j.ic.2005.03.0022147668Google Scholar
Digital Library
- Pet62. Kommunikation mit Automaten1989BonnInstitut für Instrumentelle MathematikPhD thesisGoogle Scholar
- Rei85. Petri nets: an introduction. Monographs in theoretical computer science, Vol. 4. An EATCS Series1985BerlinSpringerGoogle Scholar
- vG87. Bounded nondeterminism and the approximation induction principle in process algebraSTACS 871987HeidelbergSpringer33634710.1007/BFb0039617Lecture notes in computer science, Vol 247Google Scholar
Cross Ref
Index Terms
Thread algebra for strategic interleaving
Recommendations
Thread Algebra with Multi-Level Strategies
In a previous paper, we developed an algebraic theory about threads and multi-threading based on the assumption that a deterministic interleaving strategy determines how threads are interleaved. The theory includes interleaving operators for a number of ...
Thread Algebra with Multi-Level Strategies
In a previous paper, we developed an algebraic theory about threads and multi-threading based on the assumption that a deterministic interleaving strategy determines how threads are interleaved. The theory includes interleaving operators for a number of ...
A thread algebra with multi-level strategic interleaving
CiE'05: Proceedings of the First international conference on Computability in Europe: new Computational ParadigmsIn a previous paper, we developed an algebraic theory of threads and multi-threads based on strategic interleaving. This theory includes a number of plausible interleaving strategies on thread vectors. The strategic interleaving of a thread vector ...





Comments