Abstract
Abstract
It is a fact of life that sequential programs are often fragmented. Consequently, fragmented program behaviours are frequently found. We consider this phenomenon in the setting of thread algebra. We extend basic thread algebra with poly-threading, the barest mechanism for sequencing of threads that are taken for program fragment behaviours. This mechanism is the counterpart of program overlaying at the level of program behaviours. We relate the resulting theory to the process theory known as ACP and use it to describe analytic execution architectures suited for fragmented programs. We also consider the case where the steps of fragmented program behaviours are interleaved in the ways of non-distributed and distributed multi-threading.
- BB03 Bergstra JA, Bethke I (2003) Polarized process algebra and program equivalence. In: Baeten JCM, Lenstra JK, Parrow J, Woeginger GJ (eds), Proceedings 30th ICALP, volume 2719 of Lecture Notes in Computer Science. Springer, Berlin pp. 1–21Google Scholar
- BBP07 Decision problems for pushdown threadsActa Informatica2007442759023142721120.6807710.1007/s00236-007-0040-5Google Scholar
Digital Library
- BK84 Process algebra for synchronous communicationInf Control1984601–3109137Google Scholar
Cross Ref
- BL02 Program algebra for sequential codeJ Logic Algebraic Program200251212515619056161008.6807910.1016/S1567-8326(02)00018-8Google Scholar
Cross Ref
- BM07a Instruction sequences with indirect jumpsSci Annal Comput Sci20071719462426098Google Scholar
- BM07b Thread algebra for strategic interleavingFormal Aspects Comput200719444547423642371131.6806710.1007/s00165-007-0024-9Google Scholar
Digital Library
- BM08a Distributed strategic interleaving with load balancingFuture Gener Comput Syst200824653054810.1016/j.future.2007.08.001Google Scholar
Digital Library
- BM08b Bergstra JA, Middelburg CA. Thread algebra for sequential poly-threading. Electronic Report PRG0804, Programming Research Group, University of Amsterdam, March 2008. Available at http://www.science.uva.nl/research/prog/publications.html. Also available at http://arxiv.org/: Google Scholar
- BM08c Bergstra JA, Middelburg CA Thread extraction for polyadic instruction sequences. Electronic Report PRG0803, Programming Research Group, University of Amsterdam. Available at http://www.science.uva.nl/research/prog/publications.html. Also available at http://arxiv.org/: Google Scholar
- BP07 Execution architectures for program algebraJ Appl Logic20075117019222933361116.6802410.1016/j.jal.2005.10.013Google Scholar
- BW90 Process Algebra, volume 18 of Cambridge Tracts in Theoretical Computer Science1990CambridgeCambridge University PressGoogle Scholar
- Car84 Architecture of the space shuttle primary avionics software systemCommun ACM198427992693610.1145/358234.358258Google Scholar
Digital Library
- CPC10 Che W, Panda A, Chatha KS (2010) Compilation of stream programs for multicore processors that incorporate scratchpad memories. In DATE ’10, pp 1118–1123. IEEE Computer Society Press, AlamitosGoogle Scholar
- Fok00 Fokkink WJ (2000) Introduction to Process Algebra. Texts in Theoretical Computer Science, An EATCS Series. Springer, BerlinGoogle Scholar
- GJSB00 Gosling J, Joy B, Steele G, and Bracha G (2000) The Java Language Specification. Addison-Wesley, Reading, MA, second ednGoogle Scholar
- Hoa85 Communicating Sequential Processes1985Englewood CliffsPrentice-Hall0637.68007Google Scholar
Digital Library
- HWG03 C# Language Specification2003Reading, MAAddison-WesleyGoogle Scholar
Digital Library
- M+05 A real-time software platform for the cell processorIEEE Micro2005255202910.1109/MM.2005.79Google Scholar
Digital Library
- Mil89 Communication and Concurrency1989Englewood CliffsPrentice-Hall0683.68008Google Scholar
Digital Library
- Pan68 Program overlay techniquesCommunications of the ACM19681121191250164.4620410.1145/362896.362923Google Scholar
Digital Library
- PvdZ06 Ponse A, van der Zwaag MB (2006) An introduction to program and thread algebra. In: Beckmann A et al (eds) CiE 2006, volume 3988 of Lecture Notes in Computer Science. Springer, Berlin, pp. 445–458Google Scholar
- ST99 Sannella D, Tarlecki A (1999) Algebraic preliminaries. In: Astesiano E, Kreowski H-J, Krieg-Brückner B (eds) Algebraic Foundations of Systems Specification. Springer, Berlin, pp. 13–30Google Scholar
- Stu78 A main program and overlay manager subsystem within a distributed function laboratory computer systemIEEE Trans Nuclear Sci197825121722510.1109/TNS.1978.4329307Google Scholar
- Wir90 Wirsing M (1990) Algebraic specification. In: van Leeuwen J (ed) Handbook of Theoretical Computer Science, volume B, pp. 675–788. Elsevier, AmsterdamGoogle Scholar
Index Terms
Thread algebra for poly-threading
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 for strategic interleaving
AbstractWe 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 ...
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 ...





Comments