Abstract
We provide an introduction to Program Algebra (PGA, an algebraic approach to the modeling of sequential programming) and to Thread Algebra (TA). PGA is used as a basis for several low- and higher-level programming languages. As an example we consider a simple language with goto’s. Threads in TA model the execution of programs. Threads may be composed with services which model (part of) the execution environment, such as a stack. Finally, we discuss briefly the expressiveness of PGA and allude to current work on multithreading and security hazard risk assessment.
Keywords
- PGA
- Program Algebra
- Thread Algebra
This is a preview of subscription content, access via your institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
de Bakker, J.W., Zucker, J.I.: Processes and the denotational semantics of concurrency. Information and Control 54(1-2), 70–120 (1982)
Bergstra, J.A.: (February 2006), www.science.uva.nl/~janb/ta/
Bergstra, J.A.: (February 2006), www.science.uva.nl/~janb/pga/
Bergstra, J.A., Bethke, I.: Polarized process algebra and program equivalence. In: Baeten, J.C.M., Lenstra, J.K., Parrow, J., Woeginger, G.J. (eds.) ICALP 2003. LNCS, vol. 2719, pp. 1–21. Springer, Heidelberg (2003)
Bergstra, J.A., Bethke, I., Ponse, A.: Decision problems for pushdown threads. Report PRG0502, Programming Research Group, University of Amsterdam (June 2005), Available at: http://www.science.uva.nl/research/prog/publications.html
Bergstra, J.A., Klop, J.W.: Process algebra for synchronous communication. Information and Control 60(1-3), 109–137 (1984)
Bergstra, J.A., Loots, M.E.: Program algebra for sequential code. Journal of Logic and Algebraic Programming 51(2), 125–156 (2002)
Bergstra, J.A., Middelburg, C.A.: A Thread Algebra with Multi-Level Strategic Interleaving. Report 200441, Computing Science Department, Eindhoven University of Technology (2004)
Bergstra, J.A., Middelburg, C.A.: Thread Algebra for Strategic Interleaving. Report PRG0404, Programming Research Group, University of Amsterdam (2004), www.science.uva.nl/research/prog/publications.html
Bergstra, J.A., Middelburg, C.A.: Simulating Turing Machines on Maurer Machines. Report 200528, Computing Science Department, Eindhoven University of Technology (2005)
Bergstra, J.A., Middelburg, C.A.: Maurer Computers with Single-Thread Control. Report 200517, Computing Science Department, Eindhoven University of Technology (2005)
Bergstra, J.A., Ponse, A.: Execution architectures for program algebra. Journal of Applied Logic (to appear, 2006) An earlier version appeared as Logic Group Preprint Series 230, Department of Philosophy, Utrecht University (2004)
Bergstra, J.A., Ponse, A.: A bypass of Cohen’s impossibility result. In: Sloot, P.M.A., Hoekstra, A.G., Priol, T., Reinefeld, A., Bubak, M. (eds.) EGC 2005. LNCS, vol. 3470, pp. 1097–1106. Springer, Heidelberg (2005)
Cohen, F.: Computer viruses — theory and experiments. Computers & Security 6(1), 22–35 (1984) Available as: http://vx.netlux.org/lib/afc01.html
Jančar, P.: Decidability questions for bisimilarity of Petri nets and some related problems. In: Enjalbert, P., Mayr, E.W., Wagner, K.W. (eds.) STACS 1994. LNCS, vol. 775, pp. 581–592. Springer, Heidelberg (1994)
Jančar, P., Moller, F., Sawa, Z.: Simulation problems for one-counter machines. In: Bartosek, M., Tel, G., Pavelka, J. (eds.) SOFSEM 1999. LNCS, vol. 1725, pp. 404–407. Springer, Heidelberg (1999)
Jesshope, C.: Implementing an efficient vector instruction set in a chip multi-processor using micro-threaded pipelines. Australian Computer Science Communications 23(4), 80–88 (2001)
Maurer, W.D.: A theory of computer instructions. Journal of the ACM 13(2), 226–235 (1966)
Vu, T.D.: Metric denotational semantics for BPPA. Report PRG0503, Programming Research Group, University of Amsterdam (July 2005), Available at: http://www.science.uva.nl/research/prog/publications.html
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2006 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Ponse, A., van der Zwaag, M.B. (2006). An Introduction to Program and Thread Algebra. In: Beckmann, A., Berger, U., Löwe, B., Tucker, J.V. (eds) Logical Approaches to Computational Barriers. CiE 2006. Lecture Notes in Computer Science, vol 3988. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11780342_46
Download citation
DOI: https://doi.org/10.1007/11780342_46
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-35466-6
Online ISBN: 978-3-540-35468-0
eBook Packages: Computer ScienceComputer Science (R0)
