Published in Volume XVII, 2007, pages 47-81
Authors: J. A. Bergstra and C. A. Middelburg
Abstract
PGA (ProGram Algebra) is an algebra of programs which concerns programs in their simplest form: sequences of instructions. Molecular dynamics is a simple model of computation developed in the setting of PGA, which bears on the use of dynamic data structures in programming.
Full Text (PDF)References
[1] J.A. Bergstra and I. Bethke. Molecular dynamics, Journal of Logic and Algebraic Programming, Vol. 51, pp. 193-214, 2002.
[2] J.A. Bergstra, I. Bethke. Polarized process algebra and program equivalence, in J.C.M. Baeten, J.K. Lenstra, J. Parrow, G.J. Woeginger (editors), Proceedings 30th ICALP, Lecture Notes in Computer Science Vol. 2719, pp. 1-21, Springer-Verlag, Berlin, 2003.
[3] J.A. Bergstra, M.E. Loots. Program algebra for sequential code, Journal of Logic and Algebraic Programming, Vol. 51, pp. 125-156, 2002.
[4] J.A. Bergstra and C.A. Middelburg. Instruction sequences with indirect jumps, Scientific Annals of Computer Science, in press, 2007.
[5] J.A. Bergstra, C.A. Middelburg. Thread algebra with multi-level strategies, Fundamenta Informaticae, Vol. 71, pp. 153-182, 2006.
[6] J.A. Bergstra and C.A. Middelburg. A thread calculus with molecular dynamics, Computer Science Report 06-24, Department of Mathematics and Computer Science, Eindhoven University of Technology, Eindhoven, 2006.
[7] J.A. Bergstra and C.A. Middelburg. Instruction sequences with dynamically instantiated instructions, Electronic Report PRG0710, Programming Research Group, University of Amsterdam, Amsterdam, 2007.
[8] J.A. Bergstra, C.A. Middelburg. Thread algebra for strategic interleaving, Formal Aspects of Computing, Vol. 19, pp. 445-474, 2007.
[9] J.A. Bergstra, A. Ponse. Combining programs and state machines, Journal of Logic and Algebraic Programming, Vol. 51, pp. 175-192, 2002.
[10] W.J. Fokkink. Introduction to Process Algebra, Texts in Theoretical Computer Science, An EATCS Series, Springer-Verlag, Berlin, 2000.
[11] A. Hejlsberg, S. Wiltamuth, P. Golde. C# Language Specification, Addison-Wesley, Reading, Massachusetts, 2003.
[12] A. Ponse and M.B. van der Zwaag. An introduction to program and thread algebra, in A. Beckmann et al. (editors), CiE 2006, Lecture Notes in Computer Science Vol. 3988, pp. 445-458, Springer-Verlag, Berlin, 2006.
[13] D. Sannella, A. Tarlecki. Algebraic preliminaries, in E. Astesiano, H.-J. Kreowski, B. Krieg-Br¨uckner (editors), Algebraic Foundations of Systems Specification, pp. 13-30, Springer-Verlag, Berlin, 1999.
[14] M. Wirsing. Algebraic specification, in J. van Leeuwen (editor), Handbook of Theoretical Computer Science, Vol. B, pp. 675-788, Elsevier, Amsterdam, 1990.
[15] N. Wirth. The programming language PASCAL, Acta Informatica, Vol. 1, pp. 35-63, 1971.
Bibtex
@article{sacscuza:bergstra2007paiumd, title={Programming an Interpreter Using Molecular Dynamics}, author={J. A. Bergstra and C. A. Middelburg}, journal={Scientific Annals of Computer Science}, volume={17}, organization={``A.I. Cuza'' University, Iasi, Romania}, year={2007}, pages={47--81}, publisher={``A.I. Cuza'' University Press} }